class com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode extends com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode
super_class: com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode
{
private com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode[] children;
descriptor: [Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Children()
void <init>(java.lang.Class<?>, com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode$Kind, com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode[]);
descriptor: (Ljava/lang/Class;Lcom/oracle/truffle/api/test/TruffleExceptionTest$BlockNode$Kind;[Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;)V
flags: (0x0080) ACC_VARARGS
Code:
stack=6, locals=4, args_size=4
start local 0 // com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode this
start local 1 // java.lang.Class testClass
start local 2 // com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode$Kind kind
start local 3 // com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode[] children
0: .line 413
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode.<init>:()V
1: .line 414
aload 0 /* this */
aload 3 /* children */
arraylength
iconst_1
iadd
anewarray com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode
putfield com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode.children:[Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;
2: .line 415
aload 0 /* this */
getfield com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode.children:[Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;
iconst_0
new com.oracle.truffle.api.test.TruffleExceptionTest$LogNode
dup
aload 1 /* testClass */
aload 2 /* kind */
invokevirtual com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode$Kind.name:()Ljava/lang/String;
invokespecial com.oracle.truffle.api.test.TruffleExceptionTest$LogNode.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
aastore
3: .line 416
aload 3 /* children */
iconst_0
aload 0 /* this */
getfield com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode.children:[Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;
iconst_1
aload 3 /* children */
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: .line 417
return
end local 3 // com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode[] children
end local 2 // com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode$Kind kind
end local 1 // java.lang.Class testClass
end local 0 // com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/TruffleExceptionTest$BlockNode;
0 5 1 testClass Ljava/lang/Class<*>;
0 5 2 kind Lcom/oracle/truffle/api/test/TruffleExceptionTest$BlockNode$Kind;
0 5 3 children [Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;
Signature: (Ljava/lang/Class<*>;Lcom/oracle/truffle/api/test/TruffleExceptionTest$BlockNode$Kind;[Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;)V
MethodParameters:
Name Flags
testClass
kind
children
void executeVoid(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 // com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 422
aload 0 /* this */
getfield com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode.children:[Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 4
StackMap locals: com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode com.oracle.truffle.api.frame.VirtualFrame top int int com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2 /* child */
start local 2 // com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode child
2: .line 423
aload 2 /* child */
aload 1 /* frame */
invokevirtual com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode.executeVoid:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
end local 2 // com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode child
3: .line 422
iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
iload 4
if_icmplt 1
5: .line 425
return
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/test/TruffleExceptionTest$BlockNode;
0 6 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
2 3 2 child Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
frame
}
SourceFile: "TruffleExceptionTest.java"
NestHost: com.oracle.truffle.api.test.TruffleExceptionTest
InnerClasses:
public abstract Children = com.oracle.truffle.api.nodes.Node$Children of com.oracle.truffle.api.nodes.Node
BlockNode = com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode of com.oracle.truffle.api.test.TruffleExceptionTest
final Kind = com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode$Kind of com.oracle.truffle.api.test.TruffleExceptionTest$BlockNode
private LogNode = com.oracle.truffle.api.test.TruffleExceptionTest$LogNode of com.oracle.truffle.api.test.TruffleExceptionTest
abstract StatementNode = com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode of com.oracle.truffle.api.test.TruffleExceptionTest