class com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1 extends com.oracle.truffle.api.nodes.RootNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1
super_class: com.oracle.truffle.api.nodes.RootNode
{
final com.oracle.truffle.js.test.polyglot.InnerContextTest$2 this$1;
descriptor: Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$2;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.js.test.polyglot.InnerContextTest$2, com.oracle.truffle.api.TruffleLanguage);
descriptor: (Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$2;Lcom/oracle/truffle/api/TruffleLanguage;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1 this
start local 2 // com.oracle.truffle.api.TruffleLanguage $anonymous0
0: .line 116
aload 0 /* this */
aload 1
putfield com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1.this$1:Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$2;
aload 0 /* this */
aload 2 /* $anonymous0 */
invokespecial com.oracle.truffle.api.nodes.RootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;)V
return
end local 2 // com.oracle.truffle.api.TruffleLanguage $anonymous0
end local 0 // com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$2$1;
0 1 2 $anonymous0 Lcom/oracle/truffle/api/TruffleLanguage<*>;
MethodParameters:
Name Flags
this$0 final
$anonymous0
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=1, locals=2, args_size=2
start local 0 // com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1 this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 119
aload 0 /* this */
invokevirtual com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1.innerJS:()Ljava/lang/Object;
areturn
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$2$1;
0 1 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
private java.lang.Object innerJS();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=1
start local 0 // com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1 this
0: .line 124
ldc Lcom/oracle/truffle/js/test/polyglot/TestLanguage;
invokestatic com.oracle.truffle.js.test.polyglot.InnerContextTest$2.access$0:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.test.polyglot.TestLanguage$LanguageContext
invokevirtual com.oracle.truffle.js.test.polyglot.TestLanguage$LanguageContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
astore 1 /* env */
start local 1 // com.oracle.truffle.api.TruffleLanguage$Env env
1: .line 125
aload 1 /* env */
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.newContextBuilder:()Lcom/oracle/truffle/api/TruffleContext$Builder;
invokevirtual com.oracle.truffle.api.TruffleContext$Builder.build:()Lcom/oracle/truffle/api/TruffleContext;
astore 2 /* innerContext */
start local 2 // com.oracle.truffle.api.TruffleContext innerContext
2: .line 126
aload 2 /* innerContext */
aload 0 /* this */
invokevirtual com.oracle.truffle.api.TruffleContext.enter:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
astore 3 /* prev */
start local 3 // java.lang.Object prev
3: .line 128
ldc Lcom/oracle/truffle/js/test/polyglot/TestLanguage;
invokestatic com.oracle.truffle.js.test.polyglot.InnerContextTest$2.access$0:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.test.polyglot.TestLanguage$LanguageContext
invokevirtual com.oracle.truffle.js.test.polyglot.TestLanguage$LanguageContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
astore 4 /* innerEnv */
start local 4 // com.oracle.truffle.api.TruffleLanguage$Env innerEnv
4: .line 129
ldc "b + s + i + l + f + d + c + str"
astore 5 /* jsCode */
start local 5 // java.lang.String jsCode
5: .line 131
ldc "js"
aload 5 /* jsCode */
ldc "test.js"
6: .line 130
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
7: .line 131
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
8: .line 130
astore 6 /* source */
start local 6 // com.oracle.truffle.api.source.Source source
9: .line 132
aload 4 /* innerEnv */
aload 6 /* source */
bipush 8
anewarray java.lang.String
dup
iconst_0
ldc "b"
aastore
dup
iconst_1
ldc "s"
aastore
dup
iconst_2
ldc "i"
aastore
dup
iconst_3
ldc "l"
aastore
dup
iconst_4
ldc "f"
aastore
dup
iconst_5
ldc "d"
aastore
dup
bipush 6
ldc "c"
aastore
dup
bipush 7
ldc "str"
aastore
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.parsePublic:(Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
astore 7 /* answer */
start local 7 // com.oracle.truffle.api.CallTarget answer
10: .line 133
aload 7 /* answer */
bipush 8
anewarray java.lang.Object
dup
iconst_0
iconst_1
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_1
iconst_2
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
aastore
dup
iconst_2
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
ldc 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_4
ldc 0.1
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
dup
iconst_5
ldc 1.5
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
bipush 6
bipush 58
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
dup
bipush 7
ldc "test"
aastore
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
astore 9
11: .line 135
aload 2 /* innerContext */
aload 0 /* this */
aload 3 /* prev */
invokevirtual com.oracle.truffle.api.TruffleContext.leave:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;)V
12: .line 133
aload 9
areturn
end local 7 // com.oracle.truffle.api.CallTarget answer
end local 6 // com.oracle.truffle.api.source.Source source
end local 5 // java.lang.String jsCode
end local 4 // com.oracle.truffle.api.TruffleLanguage$Env innerEnv
13: .line 134
StackMap locals: com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1 com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.api.TruffleContext java.lang.Object
StackMap stack: java.lang.Throwable
astore 8
14: .line 135
aload 2 /* innerContext */
aload 0 /* this */
aload 3 /* prev */
invokevirtual com.oracle.truffle.api.TruffleContext.leave:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;)V
15: .line 136
aload 8
athrow
end local 3 // java.lang.Object prev
end local 2 // com.oracle.truffle.api.TruffleContext innerContext
end local 1 // com.oracle.truffle.api.TruffleLanguage$Env env
end local 0 // com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1 this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$2$1;
1 16 1 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
2 16 2 innerContext Lcom/oracle/truffle/api/TruffleContext;
3 16 3 prev Ljava/lang/Object;
4 13 4 innerEnv Lcom/oracle/truffle/api/TruffleLanguage$Env;
5 13 5 jsCode Ljava/lang/String;
9 13 6 source Lcom/oracle/truffle/api/source/Source;
10 13 7 answer Lcom/oracle/truffle/api/CallTarget;
Exception table:
from to target type
3 11 13 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
}
SourceFile: "InnerContextTest.java"
EnclosingMethod: com.oracle.truffle.js.test.polyglot.InnerContextTest$2.parse:(Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;)Lcom/oracle/truffle/api/CallTarget;
NestHost: com.oracle.truffle.js.test.polyglot.InnerContextTest
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final Builder = com.oracle.truffle.api.TruffleContext$Builder of com.oracle.truffle.api.TruffleContext
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public final ParsingRequest = com.oracle.truffle.api.TruffleLanguage$ParsingRequest of com.oracle.truffle.api.TruffleLanguage
public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
com.oracle.truffle.js.test.polyglot.InnerContextTest$2
com.oracle.truffle.js.test.polyglot.InnerContextTest$2$1
public LanguageContext = com.oracle.truffle.js.test.polyglot.TestLanguage$LanguageContext of com.oracle.truffle.js.test.polyglot.TestLanguage