class com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode extends com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode
super_class: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode
{
void <init>(com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode[]);
descriptor: ([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode.<init>:([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$ExpressionNode;
0 2 1 children [Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
MethodParameters:
Name Flags
children
public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode.children:[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
ifnull 14
3: iconst_0
istore 3
start local 3 4: goto 13
5: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode.children:[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
iload 3
aaload
astore 4
start local 4 6: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$Null.INSTANCE:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$Null;
astore 5
start local 5 7: aload 4
ifnull 9
8: aload 4
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 5
9: StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode java.lang.Object
StackMap stack:
iload 3
ifle 11
10: aload 2
ldc "+"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
aload 2
aload 5
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.toString:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 end local 4 12: iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode.children:[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
arraylength
if_icmplt 5
end local 3 14: StackMap locals:
StackMap stack:
aload 2
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 2
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.toString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$ExpressionNode;
0 16 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 16 2 b Ljava/lang/StringBuilder;
4 14 3 i I
6 12 4 child Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
7 12 5 value Ljava/lang/Object;
MethodParameters:
Name Flags
frame
protected com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode.children:[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
aload 1
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode.cloneUninitialized:([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;Ljava/util/Set;)[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode.<init>:([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$ExpressionNode;
0 1 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
MethodParameters:
Name Flags
materializedTags
java.lang.String getShortId();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "E"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$ExpressionNode;
static boolean isExpressionNode(com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode
ifne 2
aload 0
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode
ifeq 1
aload 0
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode.getDelegateNode:()Lcom/oracle/truffle/api/nodes/Node;
instanceof com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode
ifne 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 node Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
MethodParameters:
Name Flags
node
}
SourceFile: "InstrumentationTestLanguage.java"
NestHost: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
InnerClasses:
public abstract WrapperNode = com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode of com.oracle.truffle.api.instrumentation.InstrumentableNode
public abstract BaseNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
ExpressionNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ExpressionNode of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
public abstract InstrumentedNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
public final Null = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$Null of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage