public class com.oracle.truffle.api.test.ChildrenNodesTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.ChildrenNodesTest
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.oracle.truffle.api.test.ChildrenNodesTest this
0: .line 72
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.oracle.truffle.api.test.ChildrenNodesTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/ChildrenNodesTest;
public void test();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 // com.oracle.truffle.api.test.ChildrenNodesTest this
0: .line 76
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
astore 1 /* runtime */
start local 1 // com.oracle.truffle.api.TruffleRuntime runtime
1: .line 77
new com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode
dup
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.<init>:(Lcom/oracle/truffle/api/test/ChildrenNodesTest;)V
astore 2 /* firstChild */
start local 2 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode firstChild
2: .line 78
new com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode
dup
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.<init>:(Lcom/oracle/truffle/api/test/ChildrenNodesTest;)V
astore 3 /* secondChild */
start local 3 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode secondChild
3: .line 79
new com.oracle.truffle.api.test.ChildrenNodesTest$TestRootNode
dup
aload 0 /* this */
iconst_2
anewarray com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode
dup
iconst_0
aload 2 /* firstChild */
aastore
dup
iconst_1
aload 3 /* secondChild */
aastore
invokespecial com.oracle.truffle.api.test.ChildrenNodesTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/test/ChildrenNodesTest;[Lcom/oracle/truffle/api/test/ChildrenNodesTest$TestChildNode;)V
astore 4 /* rootNode */
start local 4 // com.oracle.truffle.api.test.ChildrenNodesTest$TestRootNode rootNode
4: .line 80
aload 1 /* runtime */
aload 4 /* rootNode */
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 5 /* target */
start local 5 // com.oracle.truffle.api.CallTarget target
5: .line 81
aload 4 /* rootNode */
aload 2 /* firstChild */
invokevirtual com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: .line 82
aload 4 /* rootNode */
aload 3 /* secondChild */
invokevirtual com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: .line 83
aload 4 /* rootNode */
invokevirtual com.oracle.truffle.api.test.ChildrenNodesTest$TestRootNode.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6 /* iterator */
start local 6 // java.util.Iterator iterator
8: .line 84
aload 2 /* firstChild */
aload 6 /* iterator */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: .line 85
aload 3 /* secondChild */
aload 6 /* iterator */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: .line 86
aload 6 /* iterator */
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
11: .line 87
aload 5 /* target */
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
astore 7 /* result */
start local 7 // java.lang.Object result
12: .line 88
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 7 /* result */
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
13: .line 89
return
end local 7 // java.lang.Object result
end local 6 // java.util.Iterator iterator
end local 5 // com.oracle.truffle.api.CallTarget target
end local 4 // com.oracle.truffle.api.test.ChildrenNodesTest$TestRootNode rootNode
end local 3 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode secondChild
end local 2 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode firstChild
end local 1 // com.oracle.truffle.api.TruffleRuntime runtime
end local 0 // com.oracle.truffle.api.test.ChildrenNodesTest this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/api/test/ChildrenNodesTest;
1 14 1 runtime Lcom/oracle/truffle/api/TruffleRuntime;
2 14 2 firstChild Lcom/oracle/truffle/api/test/ChildrenNodesTest$TestChildNode;
3 14 3 secondChild Lcom/oracle/truffle/api/test/ChildrenNodesTest$TestChildNode;
4 14 4 rootNode Lcom/oracle/truffle/api/test/ChildrenNodesTest$TestRootNode;
5 14 5 target Lcom/oracle/truffle/api/CallTarget;
8 14 6 iterator Ljava/util/Iterator<Lcom/oracle/truffle/api/nodes/Node;>;
12 14 7 result Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testMultipleChildrenFields();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=1
start local 0 // com.oracle.truffle.api.test.ChildrenNodesTest this
0: .line 122
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
astore 1 /* runtime */
start local 1 // com.oracle.truffle.api.TruffleRuntime runtime
1: .line 123
new com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode
dup
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.<init>:(Lcom/oracle/truffle/api/test/ChildrenNodesTest;)V
astore 2 /* firstChild */
start local 2 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode firstChild
2: .line 124
new com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode
dup
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.<init>:(Lcom/oracle/truffle/api/test/ChildrenNodesTest;)V
astore 3 /* secondChild */
start local 3 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode secondChild
3: .line 125
new com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode
dup
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.<init>:(Lcom/oracle/truffle/api/test/ChildrenNodesTest;)V
astore 4 /* thirdChild */
start local 4 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode thirdChild
4: .line 126
new com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode
dup
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.<init>:(Lcom/oracle/truffle/api/test/ChildrenNodesTest;)V
astore 5 /* forthChild */
start local 5 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode forthChild
5: .line 127
new com.oracle.truffle.api.test.ChildrenNodesTest$TestRoot2Node
dup
aload 0 /* this */
iconst_2
anewarray com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode
dup
iconst_0
aload 2 /* firstChild */
aastore
dup
iconst_1
aload 3 /* secondChild */
aastore
iconst_2
anewarray com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode
dup
iconst_0
aload 4 /* thirdChild */
aastore
dup
iconst_1
aload 5 /* forthChild */
aastore
invokespecial com.oracle.truffle.api.test.ChildrenNodesTest$TestRoot2Node.<init>:(Lcom/oracle/truffle/api/test/ChildrenNodesTest;[Lcom/oracle/truffle/api/test/ChildrenNodesTest$TestChildNode;[Lcom/oracle/truffle/api/test/ChildrenNodesTest$TestChildNode;)V
astore 6 /* rootNode */
start local 6 // com.oracle.truffle.api.test.ChildrenNodesTest$TestRootNode rootNode
6: .line 128
aload 1 /* runtime */
aload 6 /* rootNode */
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 7 /* target */
start local 7 // com.oracle.truffle.api.CallTarget target
7: .line 129
aload 6 /* rootNode */
aload 2 /* firstChild */
invokevirtual com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: .line 130
aload 6 /* rootNode */
aload 3 /* secondChild */
invokevirtual com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: .line 131
aload 6 /* rootNode */
aload 4 /* thirdChild */
invokevirtual com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: .line 132
aload 6 /* rootNode */
aload 5 /* forthChild */
invokevirtual com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: .line 133
aload 6 /* rootNode */
invokevirtual com.oracle.truffle.api.test.ChildrenNodesTest$TestRootNode.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8 /* iterator */
start local 8 // java.util.Iterator iterator
12: .line 134
aload 2 /* firstChild */
aload 8 /* iterator */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
13: .line 135
aload 3 /* secondChild */
aload 8 /* iterator */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
14: .line 136
aload 4 /* thirdChild */
aload 8 /* iterator */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
15: .line 137
aload 5 /* forthChild */
aload 8 /* iterator */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
16: .line 138
aload 8 /* iterator */
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
17: .line 139
aload 7 /* target */
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
astore 9 /* result */
start local 9 // java.lang.Object result
18: .line 140
bipush 84
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 9 /* result */
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
19: .line 141
return
end local 9 // java.lang.Object result
end local 8 // java.util.Iterator iterator
end local 7 // com.oracle.truffle.api.CallTarget target
end local 6 // com.oracle.truffle.api.test.ChildrenNodesTest$TestRootNode rootNode
end local 5 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode forthChild
end local 4 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode thirdChild
end local 3 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode secondChild
end local 2 // com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode firstChild
end local 1 // com.oracle.truffle.api.TruffleRuntime runtime
end local 0 // com.oracle.truffle.api.test.ChildrenNodesTest this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/api/test/ChildrenNodesTest;
1 20 1 runtime Lcom/oracle/truffle/api/TruffleRuntime;
2 20 2 firstChild Lcom/oracle/truffle/api/test/ChildrenNodesTest$TestChildNode;
3 20 3 secondChild Lcom/oracle/truffle/api/test/ChildrenNodesTest$TestChildNode;
4 20 4 thirdChild Lcom/oracle/truffle/api/test/ChildrenNodesTest$TestChildNode;
5 20 5 forthChild Lcom/oracle/truffle/api/test/ChildrenNodesTest$TestChildNode;
6 20 6 rootNode Lcom/oracle/truffle/api/test/ChildrenNodesTest$TestRootNode;
7 20 7 target Lcom/oracle/truffle/api/CallTarget;
12 20 8 iterator Ljava/util/Iterator<Lcom/oracle/truffle/api/nodes/Node;>;
18 20 9 result Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ChildrenNodesTest.java"
NestMembers:
com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode com.oracle.truffle.api.test.ChildrenNodesTest$TestRoot2Node com.oracle.truffle.api.test.ChildrenNodesTest$TestRootNode
InnerClasses:
TestChildNode = com.oracle.truffle.api.test.ChildrenNodesTest$TestChildNode of com.oracle.truffle.api.test.ChildrenNodesTest
TestRoot2Node = com.oracle.truffle.api.test.ChildrenNodesTest$TestRoot2Node of com.oracle.truffle.api.test.ChildrenNodesTest
TestRootNode = com.oracle.truffle.api.test.ChildrenNodesTest$TestRootNode of com.oracle.truffle.api.test.ChildrenNodesTest