class com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode 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$PrintNode
super_class: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode
{
private final com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode$Output where;
descriptor: Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String what;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.io.PrintWriter writer;
descriptor: Ljava/io/PrintWriter;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$InstrumentationTestLanguage$PrintNode$Output;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
void <init>(java.lang.String, java.lang.String, com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode.<init>:([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
1: aload 2
ifnonnull 5
2: aload 0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode$Output.OUT:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.where:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
3: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.what:Ljava/lang/String;
4: goto 7
5: StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode java.lang.String java.lang.String com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode[]
StackMap stack:
aload 0
aload 1
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode$Output.valueOf:(Ljava/lang/String;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.where:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
6: aload 0
aload 2
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.what:Ljava/lang/String;
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode;
0 8 1 where Ljava/lang/String;
0 8 2 what Ljava/lang/String;
0 8 3 children [Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
MethodParameters:
Name Flags
where
what
children
void <init>(com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode$Output, java.lang.String, com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode[]);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;Ljava/lang/String;[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode.<init>:([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
1: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.where:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
2: aload 0
aload 2
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.what:Ljava/lang/String;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode;
0 4 1 where Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
0 4 2 what Ljava/lang/String;
0 4 3 children [Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
MethodParameters:
Name Flags
where
what
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=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.writer:Ljava/io/PrintWriter;
ifnonnull 9
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.lookupContextReference:(Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextReference.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentContext
astore 2
start local 2 3: invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.$SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$InstrumentationTestLanguage$PrintNode$Output:()[I
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.where:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode$Output.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 4
2: 6
default: 8
}
4: StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentContext
StackMap stack:
aload 0
new java.io.PrintWriter
dup
new java.io.OutputStreamWriter
dup
aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentContext.out:Ljava/io/OutputStream;
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.writer:Ljava/io/PrintWriter;
5: goto 9
6: StackMap locals:
StackMap stack:
aload 0
new java.io.PrintWriter
dup
new java.io.OutputStreamWriter
dup
aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentContext.err:Ljava/io/OutputStream;
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.writer:Ljava/io/PrintWriter;
7: goto 9
8: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.where:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 2 9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.writer:Ljava/io/PrintWriter;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.what:Ljava/lang/String;
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.writeAndFlush:(Ljava/io/PrintWriter;Ljava/lang/String;)V
10: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$Null.INSTANCE:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$Null;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode;
0 11 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
3 9 2 context Lcom/oracle/truffle/api/instrumentation/test/InstrumentContext;
MethodParameters:
Name Flags
frame
private static void writeAndFlush(java.io.PrintWriter, java.lang.String);
descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.io.PrintWriter.write:(Ljava/lang/String;)V
1: aload 0
invokevirtual java.io.PrintWriter.flush:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 writer Ljava/io/PrintWriter;
0 3 1 what Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
writer
what
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=6, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.where:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.what:Ljava/lang/String;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.children:[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
aload 1
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.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$PrintNode.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;Ljava/lang/String;[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$PrintNode;
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
static int[] $SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$InstrumentationTestLanguage$PrintNode$Output();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.$SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$InstrumentationTestLanguage$PrintNode$Output:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode$Output.values:()[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode$Output.ERR:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode$Output.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode$Output.OUT:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$PrintNode$Output;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode$Output.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
dup
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode.$SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$InstrumentationTestLanguage$PrintNode$Output:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
}
SourceFile: "InstrumentationTestLanguage.java"
NestHost: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract ContextReference = com.oracle.truffle.api.TruffleLanguage$ContextReference of com.oracle.truffle.api.TruffleLanguage
public abstract BaseNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode 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
PrintNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
final Output = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode$Output of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$PrintNode