public class com.oracle.truffle.api.test.ReplaceTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.ReplaceTest
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.ReplaceTest this
0: .line 76
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.oracle.truffle.api.test.ReplaceTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/ReplaceTest;
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.ReplaceTest this
0: .line 80
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 81
new com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode
dup
aload 0 /* this */
ldc "20"
invokespecial com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode.<init>:(Lcom/oracle/truffle/api/test/ReplaceTest;Ljava/lang/String;)V
astore 2 /* leftChild */
start local 2 // com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode leftChild
2: .line 82
new com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode
dup
aload 0 /* this */
ldc "22"
invokespecial com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode.<init>:(Lcom/oracle/truffle/api/test/ReplaceTest;Ljava/lang/String;)V
astore 3 /* rightChild */
start local 3 // com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode rightChild
3: .line 83
new com.oracle.truffle.api.test.ReplaceTest$TestRootNode
dup
aload 0 /* this */
iconst_2
anewarray com.oracle.truffle.api.test.ReplaceTest$ValueNode
dup
iconst_0
aload 2 /* leftChild */
aastore
dup
iconst_1
aload 3 /* rightChild */
aastore
invokespecial com.oracle.truffle.api.test.ReplaceTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/test/ReplaceTest;[Lcom/oracle/truffle/api/test/ReplaceTest$ValueNode;)V
astore 4 /* rootNode */
start local 4 // com.oracle.truffle.api.test.ReplaceTest$TestRootNode rootNode
4: .line 84
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 85
aload 4 /* rootNode */
aload 2 /* leftChild */
invokevirtual com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: .line 86
aload 4 /* rootNode */
aload 3 /* rightChild */
invokevirtual com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: .line 87
aload 4 /* rootNode */
invokevirtual com.oracle.truffle.api.test.ReplaceTest$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 88
aload 2 /* leftChild */
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 89
aload 3 /* rightChild */
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 90
aload 6 /* iterator */
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
11: .line 91
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 92
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 93
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5 /* target */
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
14: .line 94
aload 4 /* rootNode */
invokevirtual com.oracle.truffle.api.test.ReplaceTest$TestRootNode.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6 /* iterator */
15: .line 95
ldc Lcom/oracle/truffle/api/test/ReplaceTest$ResolvedNode;
aload 6 /* iterator */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
16: .line 96
ldc Lcom/oracle/truffle/api/test/ReplaceTest$ResolvedNode;
aload 6 /* iterator */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
17: .line 97
aload 6 /* iterator */
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
18: .line 98
aload 4 /* rootNode */
invokevirtual com.oracle.truffle.api.test.ReplaceTest$TestRootNode.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6 /* iterator */
19: .line 99
aload 4 /* rootNode */
aload 6 /* iterator */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
20: .line 100
aload 4 /* rootNode */
aload 6 /* iterator */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
21: .line 101
aload 6 /* iterator */
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
22: .line 102
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.ReplaceTest$TestRootNode rootNode
end local 3 // com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode rightChild
end local 2 // com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode leftChild
end local 1 // com.oracle.truffle.api.TruffleRuntime runtime
end local 0 // com.oracle.truffle.api.test.ReplaceTest this
LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/api/test/ReplaceTest;
1 23 1 runtime Lcom/oracle/truffle/api/TruffleRuntime;
2 23 2 leftChild Lcom/oracle/truffle/api/test/ReplaceTest$UnresolvedNode;
3 23 3 rightChild Lcom/oracle/truffle/api/test/ReplaceTest$UnresolvedNode;
4 23 4 rootNode Lcom/oracle/truffle/api/test/ReplaceTest$TestRootNode;
5 23 5 target Lcom/oracle/truffle/api/CallTarget;
8 23 6 iterator Ljava/util/Iterator<Lcom/oracle/truffle/api/nodes/Node;>;
12 23 7 result Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ReplaceTest.java"
NestMembers:
com.oracle.truffle.api.test.ReplaceTest$ResolvedNode com.oracle.truffle.api.test.ReplaceTest$TestRootNode com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode com.oracle.truffle.api.test.ReplaceTest$ValueNode
InnerClasses:
ResolvedNode = com.oracle.truffle.api.test.ReplaceTest$ResolvedNode of com.oracle.truffle.api.test.ReplaceTest
TestRootNode = com.oracle.truffle.api.test.ReplaceTest$TestRootNode of com.oracle.truffle.api.test.ReplaceTest
UnresolvedNode = com.oracle.truffle.api.test.ReplaceTest$UnresolvedNode of com.oracle.truffle.api.test.ReplaceTest
abstract ValueNode = com.oracle.truffle.api.test.ReplaceTest$ValueNode of com.oracle.truffle.api.test.ReplaceTest