public class com.oracle.truffle.api.test.nodes.NodeAdoptableTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.nodes.NodeAdoptableTest
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.nodes.NodeAdoptableTest this
0: .line 55
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/nodes/NodeAdoptableTest;
public void testDefaultNode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest this
0: .line 82
new com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode.<init>:()V
astore 1 /* node */
start local 1 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode node
1: .line 83
aload 1 /* node */
invokevirtual com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode.isAdoptable:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
2: .line 84
new com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode.<init>:()V
astore 2 /* parentNode */
start local 2 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode parentNode
3: .line 85
aload 2 /* parentNode */
aload 1 /* node */
invokevirtual com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode.insertPublic:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
pop
4: .line 86
aload 2 /* parentNode */
aload 1 /* node */
invokevirtual com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
5: .line 87
return
end local 2 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode parentNode
end local 1 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode node
end local 0 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/test/nodes/NodeAdoptableTest;
1 6 1 node Lcom/oracle/truffle/api/test/nodes/NodeAdoptableTest$DefaultNode;
3 6 2 parentNode Lcom/oracle/truffle/api/test/nodes/NodeAdoptableTest$DefaultNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNonAdoptableNode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest this
0: .line 91
new com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode.<init>:()V
astore 1 /* parentNode */
start local 1 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode parentNode
1: .line 92
new com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode.<init>:()V
astore 2 /* node */
start local 2 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode node
2: .line 93
aload 2 /* node */
invokevirtual com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode.isAdoptable:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
3: .line 94
aload 1 /* parentNode */
aload 2 /* node */
invokevirtual com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode.insertPublic:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
pop
4: .line 95
aload 2 /* node */
invokevirtual com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
5: .line 97
new com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode
dup
invokespecial com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode.<init>:()V
astore 3 /* newNode */
start local 3 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode newNode
6: .line 98
aload 2 /* node */
aload 3 /* newNode */
invokevirtual com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode.isSafelyReplaceableBy:(Lcom/oracle/truffle/api/nodes/Node;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
7: .line 100
aload 2 /* node */
aload 3 /* newNode */
invokevirtual com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode.replace:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
pop
8: .line 101
invokestatic org.junit.Assert.fail:()V
9: .line 102
goto 12
StackMap locals: com.oracle.truffle.api.test.nodes.NodeAdoptableTest com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode
StackMap stack: java.lang.IllegalStateException
10: astore 4 /* e */
start local 4 // java.lang.IllegalStateException e
11: .line 103
ldc "This node cannot be replaced, because it does not yet have a parent."
aload 4 /* e */
invokevirtual java.lang.IllegalStateException.getMessage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 // java.lang.IllegalStateException e
12: .line 107
StackMap locals:
StackMap stack:
aload 1 /* parentNode */
aload 2 /* node */
aload 3 /* newNode */
invokestatic com.oracle.truffle.api.nodes.NodeUtil.isReplacementSafe:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
13: .line 108
aload 1 /* parentNode */
aload 2 /* node */
aload 3 /* newNode */
invokestatic com.oracle.truffle.api.nodes.NodeUtil.replaceChild:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
14: .line 109
aload 3 /* newNode */
aload 1 /* parentNode */
getfield com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode.child:Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
15: .line 110
aload 3 /* newNode */
invokevirtual com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
16: .line 111
aload 2 /* node */
invokevirtual com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
17: .line 112
return
end local 3 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode newNode
end local 2 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode node
end local 1 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode parentNode
end local 0 // com.oracle.truffle.api.test.nodes.NodeAdoptableTest this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/api/test/nodes/NodeAdoptableTest;
1 18 1 parentNode Lcom/oracle/truffle/api/test/nodes/NodeAdoptableTest$DefaultNode;
2 18 2 node Lcom/oracle/truffle/api/test/nodes/NodeAdoptableTest$NonAdoptibleNode;
6 18 3 newNode Lcom/oracle/truffle/api/test/nodes/NodeAdoptableTest$NonAdoptibleNode;
11 12 4 e Ljava/lang/IllegalStateException;
Exception table:
from to target type
7 9 10 Class java.lang.IllegalStateException
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "NodeAdoptableTest.java"
NestMembers:
com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode
InnerClasses:
DefaultNode = com.oracle.truffle.api.test.nodes.NodeAdoptableTest$DefaultNode of com.oracle.truffle.api.test.nodes.NodeAdoptableTest
NonAdoptibleNode = com.oracle.truffle.api.test.nodes.NodeAdoptableTest$NonAdoptibleNode of com.oracle.truffle.api.test.nodes.NodeAdoptableTest