public class com.oracle.truffle.api.test.nodes.NodeUtilTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.nodes.NodeUtilTest
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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/nodes/NodeUtilTest;
public void testReplaceReplaced();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.<init>:()V
astore 1
start local 1 1: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 2
start local 2 2: aload 1
aload 2
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.child0:Lcom/oracle/truffle/api/nodes/Node;
3: aload 1
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.adoptChildren:()V
4: aload 1
aconst_null
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.child0:Lcom/oracle/truffle/api/nodes/Node;
5: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 3
start local 3 6: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 4
start local 4 7: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 5
start local 5 8: aload 4
aload 5
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.child1:Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
9: aload 3
aload 4
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.child1:Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
10: aload 2
aload 3
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.replace:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
pop
11: aload 1
aload 3
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
12: aload 3
aload 4
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
13: aload 4
aload 5
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
14: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/api/test/nodes/NodeUtilTest;
1 15 1 rootNode Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestRootNode;
2 15 2 replacedNode Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
6 15 3 test1 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
7 15 4 test11 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
8 15 5 test111 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testForEachChild();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.<init>:()V
astore 1
start local 1 1: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode
dup
iconst_1
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.<init>:(I)V
astore 2
start local 2 2: aload 1
aload 2
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.child0:Lcom/oracle/truffle/api/nodes/Node;
3: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 3
start local 3 4: aload 2
aload 3
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.firstChild:Lcom/oracle/truffle/api/nodes/Node;
5: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 4
start local 4 6: aload 2
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_0
aload 4
aastore
7: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 5
start local 5 8: aload 2
aload 5
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.lastChild:Lcom/oracle/truffle/api/nodes/Node;
9: aload 1
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.adoptChildren:()V
10: iconst_1
newarray 10
astore 6
start local 6 11: aload 1
new com.oracle.truffle.api.test.nodes.NodeUtilTest$1
dup
aload 0
aload 2
aload 6
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$1.<init>:(Lcom/oracle/truffle/api/test/nodes/NodeUtilTest;Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestForEachNode;[I)V
invokestatic com.oracle.truffle.api.nodes.NodeUtil.forEachChild:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/NodeVisitor;)Z
pop
12: lconst_1
aload 6
iconst_0
iaload
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
13: aload 6
iconst_0
iconst_0
iastore
14: aload 2
new com.oracle.truffle.api.test.nodes.NodeUtilTest$2
dup
aload 0
aload 6
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$2.<init>:(Lcom/oracle/truffle/api/test/nodes/NodeUtilTest;[I)V
invokestatic com.oracle.truffle.api.nodes.NodeUtil.forEachChild:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/NodeVisitor;)Z
pop
15: ldc 3
aload 6
iconst_0
iaload
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
16: lconst_1
aload 3
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
17: lconst_1
aload 4
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
18: lconst_1
aload 5
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
19: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/api/test/nodes/NodeUtilTest;
1 20 1 root Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestRootNode;
2 20 2 testForEachNode Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestForEachNode;
4 20 3 testNode1 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
6 20 4 testNode2 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
8 20 5 testNode3 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
11 20 6 count [I
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAccept();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.<init>:()V
astore 1
start local 1 1: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode
dup
iconst_1
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.<init>:(I)V
astore 2
start local 2 2: aload 1
aload 2
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.child0:Lcom/oracle/truffle/api/nodes/Node;
3: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 3
start local 3 4: aload 2
aload 3
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.firstChild:Lcom/oracle/truffle/api/nodes/Node;
5: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 4
start local 4 6: aload 2
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_0
aload 4
aastore
7: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 5
start local 5 8: aload 2
aload 5
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.lastChild:Lcom/oracle/truffle/api/nodes/Node;
9: aload 1
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.adoptChildren:()V
10: iconst_1
newarray 10
astore 6
start local 6 11: aload 2
new com.oracle.truffle.api.test.nodes.NodeUtilTest$3
dup
aload 0
aload 6
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$3.<init>:(Lcom/oracle/truffle/api/test/nodes/NodeUtilTest;[I)V
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.accept:(Lcom/oracle/truffle/api/nodes/NodeVisitor;)V
12: ldc 4
aload 6
iconst_0
iaload
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
13: lconst_1
aload 2
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
14: lconst_1
aload 3
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
15: lconst_1
aload 4
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
16: lconst_1
aload 5
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
17: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/api/test/nodes/NodeUtilTest;
1 18 1 root Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestRootNode;
2 18 2 testForEachNode Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestForEachNode;
4 18 3 testNode1 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
6 18 4 testNode2 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
8 18 5 testNode3 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
11 18 6 count [I
RuntimeVisibleAnnotations:
org.junit.Test()
public void testChildren();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=1
start local 0 0: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.<init>:()V
astore 1
start local 1 1: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode
dup
iconst_1
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.<init>:(I)V
astore 2
start local 2 2: aload 1
aload 2
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode.child0:Lcom/oracle/truffle/api/nodes/Node;
3: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 3
start local 3 4: aload 2
aload 3
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.firstChild:Lcom/oracle/truffle/api/nodes/Node;
5: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 4
start local 4 6: aload 2
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_0
aload 4
aastore
7: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 5
start local 5 8: aload 2
aload 5
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.lastChild:Lcom/oracle/truffle/api/nodes/Node;
9: iconst_0
istore 6
start local 6 10: aload 2
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 14
StackMap locals: com.oracle.truffle.api.test.nodes.NodeUtilTest com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode int top java.util.Iterator
StackMap stack:
11: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
astore 7
start local 7 12: aload 7
checkcast com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode
dup
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode.visited:I
iconst_1
iadd
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode.visited:I
13: iinc 6 1
end local 7 14: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
15: ldc 3
iload 6
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
16: lconst_1
aload 3
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
17: lconst_1
aload 4
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
18: lconst_1
aload 5
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
19: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/api/test/nodes/NodeUtilTest;
1 20 1 root Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestRootNode;
2 20 2 testForEachNode Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestForEachNode;
4 20 3 testNode1 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
6 20 4 testNode2 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
8 20 5 testNode3 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
10 20 6 count I
12 14 7 node Lcom/oracle/truffle/api/nodes/Node;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testChildrenArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode
dup
iconst_2
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.<init>:(I)V
astore 1
start local 1 1: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 2
start local 2 2: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 3
start local 3 3: aload 1
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_0
aload 2
aastore
4: aload 1
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_1
aload 3
aastore
5: iconst_0
istore 4
start local 4 6: aload 1
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: com.oracle.truffle.api.test.nodes.NodeUtilTest com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode int top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
astore 5
start local 5 8: aload 5
checkcast com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode
dup
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode.visited:I
iconst_1
iadd
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode.visited:I
9: iinc 4 1
end local 5 10: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
11: ldc 2
iload 4
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
12: lconst_1
aload 2
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
13: lconst_1
aload 3
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
14: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 5
start local 5 15: aload 1
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_0
aconst_null
aastore
16: aload 1
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_1
aload 5
aastore
17: iconst_0
istore 4
18: aload 1
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 22
StackMap locals: com.oracle.truffle.api.test.nodes.NodeUtilTest com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode int com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode top java.util.Iterator
StackMap stack:
19: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
astore 6
start local 6 20: aload 6
checkcast com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode
dup
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode.visited:I
iconst_1
iadd
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode.visited:I
21: iinc 4 1
end local 6 22: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
23: lconst_1
iload 4
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
24: lconst_1
aload 5
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
25: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 6
start local 6 26: aload 1
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_0
aload 6
aastore
27: aload 1
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_1
aconst_null
aastore
28: iconst_0
istore 4
29: aload 1
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 33
StackMap locals: com.oracle.truffle.api.test.nodes.NodeUtilTest com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode int com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode top java.util.Iterator
StackMap stack:
30: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
astore 7
start local 7 31: aload 7
checkcast com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode
dup
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode.visited:I
iconst_1
iadd
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode.visited:I
32: iinc 4 1
end local 7 33: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
34: lconst_1
iload 4
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
35: lconst_1
aload 6
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
36: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 7
start local 7 37: aload 1
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_0
aconst_null
aastore
38: aload 1
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_1
aconst_null
aastore
39: aload 1
aload 7
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.lastChild:Lcom/oracle/truffle/api/nodes/Node;
40: iconst_0
istore 4
41: aload 1
invokevirtual com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 9
goto 45
StackMap locals: com.oracle.truffle.api.test.nodes.NodeUtilTest com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode int com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode top java.util.Iterator
StackMap stack:
42: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
astore 8
start local 8 43: aload 8
checkcast com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode
dup
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode.visited:I
iconst_1
iadd
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode.visited:I
44: iinc 4 1
end local 8 45: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 42
46: lconst_1
iload 4
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
47: lconst_1
aload 7
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.visited:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
48: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lcom/oracle/truffle/api/test/nodes/NodeUtilTest;
1 49 1 test2children Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestForEachNode;
2 49 2 both1 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
3 49 3 both2 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
6 49 4 count I
8 10 5 node Lcom/oracle/truffle/api/nodes/Node;
15 49 5 testChild1 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
20 22 6 node Lcom/oracle/truffle/api/nodes/Node;
26 49 6 testChild2 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
31 33 7 node Lcom/oracle/truffle/api/nodes/Node;
37 49 7 otherChild Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
43 45 8 node Lcom/oracle/truffle/api/nodes/Node;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testPrintCompactTree();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: ldc Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
invokestatic com.oracle.truffle.api.test.nodes.NodeUtilTest.getSimpleName:(Ljava/lang/Class;)Ljava/lang/String;
astore 1
start local 1 1: ldc Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestForEachNode;
invokestatic com.oracle.truffle.api.test.nodes.NodeUtilTest.getSimpleName:(Ljava/lang/Class;)Ljava/lang/String;
astore 2
start local 2 2: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
astore 3
start local 3 3: aload 3
new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.child0:Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
4: aload 3
new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.child1:Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
5: aload 3
invokestatic com.oracle.truffle.api.nodes.NodeUtil.printCompactTreeToString:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/String;
astore 4
start local 4 6: new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc " child0 = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc " child1 = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: aload 4
invokestatic com.oracle.truffle.api.test.OSUtils.toUnixString:(Ljava/lang/String;)Ljava/lang/String;
12: invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
13: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode
dup
iconst_4
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.<init>:(I)V
astore 5
start local 5 14: aload 5
new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.firstChild:Lcom/oracle/truffle/api/nodes/Node;
15: aload 5
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_1
aload 3
aastore
16: aload 5
getfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.children:[Lcom/oracle/truffle/api/nodes/Node;
iconst_3
new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
aastore
17: aload 5
new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
putfield com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode.lastChild:Lcom/oracle/truffle/api/nodes/Node;
18: aload 5
invokestatic com.oracle.truffle.api.nodes.NodeUtil.printCompactTreeToString:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/String;
astore 4
19: new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: ldc " firstChild = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: ldc " children[1] = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: ldc " child0 = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: ldc " child1 = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: ldc " children[3] = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: ldc " lastChild = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
27: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: aload 4
invokestatic com.oracle.truffle.api.test.OSUtils.toUnixString:(Ljava/lang/String;)Ljava/lang/String;
29: invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
30: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestBlockResNode
dup
iconst_2
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
aastore
dup
iconst_1
new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
aastore
new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestBlockResNode.<init>:([Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)V
astore 6
start local 6 31: ldc Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestBlockResNode;
invokestatic com.oracle.truffle.api.test.nodes.NodeUtilTest.getSimpleName:(Ljava/lang/Class;)Ljava/lang/String;
astore 7
start local 7 32: aload 6
invokestatic com.oracle.truffle.api.nodes.NodeUtil.printCompactTreeToString:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/String;
astore 4
33: new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
34: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: ldc " children[0] = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
36: ldc " children[1] = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
37: ldc " resultNode = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: aload 4
invokestatic com.oracle.truffle.api.test.OSUtils.toUnixString:(Ljava/lang/String;)Ljava/lang/String;
40: invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
41: new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestBlockResNode
dup
aconst_null
new com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode.<init>:()V
invokespecial com.oracle.truffle.api.test.nodes.NodeUtilTest$TestBlockResNode.<init>:([Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)V
astore 6
42: aload 6
invokestatic com.oracle.truffle.api.nodes.NodeUtil.printCompactTreeToString:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/String;
astore 4
43: new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
44: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
45: ldc " resultNode = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
46: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
47: aload 4
invokestatic com.oracle.truffle.api.test.OSUtils.toUnixString:(Ljava/lang/String;)Ljava/lang/String;
48: invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
49: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lcom/oracle/truffle/api/test/nodes/NodeUtilTest;
1 50 1 testNodeSimpleName Ljava/lang/String;
2 50 2 testForEachNodeSimpleName Ljava/lang/String;
3 50 3 test1 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestNode;
6 50 4 output Ljava/lang/String;
14 50 5 test2 Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestForEachNode;
31 50 6 block Lcom/oracle/truffle/api/test/nodes/NodeUtilTest$TestBlockResNode;
32 50 7 testBlockResNodeSimpleName Ljava/lang/String;
RuntimeVisibleAnnotations:
org.junit.Test()
private static java.lang.String getSimpleName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
clazz
}
SourceFile: "NodeUtilTest.java"
NestMembers:
com.oracle.truffle.api.test.nodes.NodeUtilTest$1 com.oracle.truffle.api.test.nodes.NodeUtilTest$2 com.oracle.truffle.api.test.nodes.NodeUtilTest$3 com.oracle.truffle.api.test.nodes.NodeUtilTest$TestBlockResNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode
InnerClasses:
com.oracle.truffle.api.test.nodes.NodeUtilTest$1
com.oracle.truffle.api.test.nodes.NodeUtilTest$2
com.oracle.truffle.api.test.nodes.NodeUtilTest$3
private TestBlockResNode = com.oracle.truffle.api.test.nodes.NodeUtilTest$TestBlockResNode of com.oracle.truffle.api.test.nodes.NodeUtilTest
private TestForEachNode = com.oracle.truffle.api.test.nodes.NodeUtilTest$TestForEachNode of com.oracle.truffle.api.test.nodes.NodeUtilTest
private TestNode = com.oracle.truffle.api.test.nodes.NodeUtilTest$TestNode of com.oracle.truffle.api.test.nodes.NodeUtilTest
private TestRootNode = com.oracle.truffle.api.test.nodes.NodeUtilTest$TestRootNode of com.oracle.truffle.api.test.nodes.NodeUtilTest
private VisitableNode = com.oracle.truffle.api.test.nodes.NodeUtilTest$VisitableNode of com.oracle.truffle.api.test.nodes.NodeUtilTest