class com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode extends com.oracle.truffle.api.nodes.Node
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode
super_class: com.oracle.truffle.api.nodes.Node
{
private com.oracle.truffle.api.nodes.Node child;
descriptor: Lcom/oracle/truffle/api/nodes/Node;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private final com.oracle.truffle.api.nodes.Node[] children;
descriptor: [Lcom/oracle/truffle/api/nodes/Node;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Children()
final com.oracle.truffle.api.test.ChildNodeTest this$0;
descriptor: Lcom/oracle/truffle/api/test/ChildNodeTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.test.ChildNodeTest);
descriptor: (Lcom/oracle/truffle/api/test/ChildNodeTest;)V
flags: (0x0000)
Code:
stack=8, locals=2, args_size=2
start local 0 // com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode this
0: .line 150
aload 0 /* this */
aload 1
putfield com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode.this$0:Lcom/oracle/truffle/api/test/ChildNodeTest;
aload 0 /* this */
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: .line 152
aload 0 /* this */
new com.oracle.truffle.api.test.ChildNodeTest$TestChildNode
dup
aload 1
iconst_0
invokespecial com.oracle.truffle.api.test.ChildNodeTest$TestChildNode.<init>:(Lcom/oracle/truffle/api/test/ChildNodeTest;I)V
putfield com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode.child:Lcom/oracle/truffle/api/nodes/Node;
2: .line 153
aload 0 /* this */
iconst_1
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
new com.oracle.truffle.api.test.ChildNodeTest$TestChildNode
dup
aload 1
iconst_1
invokespecial com.oracle.truffle.api.test.ChildNodeTest$TestChildNode.<init>:(Lcom/oracle/truffle/api/test/ChildNodeTest;I)V
aastore
putfield com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode.children:[Lcom/oracle/truffle/api/nodes/Node;
3: .line 150
return
end local 0 // com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/test/ChildNodeTest$TestBaseNode;
MethodParameters:
Name Flags
this$0 final
public com.oracle.truffle.api.nodes.Node getChild(int);
descriptor: (I)Lcom/oracle/truffle/api/nodes/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode this
start local 1 // int index
0: .line 156
iload 1 /* index */
ifne 2
1: .line 157
aload 0 /* this */
getfield com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode.child:Lcom/oracle/truffle/api/nodes/Node;
areturn
2: .line 158
StackMap locals:
StackMap stack:
iload 1 /* index */
iconst_1
if_icmpne 4
3: .line 159
aload 0 /* this */
getfield com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_0
aaload
areturn
4: .line 161
StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 1 // int index
end local 0 // com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/ChildNodeTest$TestBaseNode;
0 5 1 index I
MethodParameters:
Name Flags
index
}
SourceFile: "ChildNodeTest.java"
NestHost: com.oracle.truffle.api.test.ChildNodeTest
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public abstract Children = com.oracle.truffle.api.nodes.Node$Children of com.oracle.truffle.api.nodes.Node
TestBaseNode = com.oracle.truffle.api.test.ChildNodeTest$TestBaseNode of com.oracle.truffle.api.test.ChildNodeTest
TestChildNode = com.oracle.truffle.api.test.ChildNodeTest$TestChildNode of com.oracle.truffle.api.test.ChildNodeTest