class com.oracle.truffle.js.test.polyglot.InnerContextTest$1$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$1$1
super_class: com.oracle.truffle.api.nodes.RootNode
{
final com.oracle.truffle.js.test.polyglot.InnerContextTest$1 this$1;
descriptor: Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$1;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.js.test.polyglot.InnerContextTest$1, com.oracle.truffle.api.TruffleLanguage);
descriptor: (Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$1;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$1$1 this
start local 2 // com.oracle.truffle.api.TruffleLanguage $anonymous0
0: .line 78
aload 0 /* this */
aload 1
putfield com.oracle.truffle.js.test.polyglot.InnerContextTest$1$1.this$1:Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$1;
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$1$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$1$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$1$1 this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 81
aload 0 /* this */
invokevirtual com.oracle.truffle.js.test.polyglot.InnerContextTest$1$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$1$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$1$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=4, locals=8, args_size=1
start local 0 // com.oracle.truffle.js.test.polyglot.InnerContextTest$1$1 this
0: .line 86
ldc Lcom/oracle/truffle/js/test/polyglot/TestLanguage;
invokestatic com.oracle.truffle.js.test.polyglot.InnerContextTest$1.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 87
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 88
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 90
ldc Lcom/oracle/truffle/js/test/polyglot/TestLanguage;
invokestatic com.oracle.truffle.js.test.polyglot.InnerContextTest$1.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 91
aload 4 /* innerEnv */
ldc "js"
ldc "42"
ldc "test.js"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.parsePublic:(Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
astore 5 /* answer */
start local 5 // com.oracle.truffle.api.CallTarget answer
5: .line 92
aload 5 /* answer */
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
astore 7
6: .line 94
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
7: .line 92
aload 7
areturn
end local 5 // com.oracle.truffle.api.CallTarget answer
end local 4 // com.oracle.truffle.api.TruffleLanguage$Env innerEnv
8: .line 93
StackMap locals: com.oracle.truffle.js.test.polyglot.InnerContextTest$1$1 com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.api.TruffleContext java.lang.Object
StackMap stack: java.lang.Throwable
astore 6
9: .line 94
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
10: .line 95
aload 6
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$1$1 this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/test/polyglot/InnerContextTest$1$1;
1 11 1 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
2 11 2 innerContext Lcom/oracle/truffle/api/TruffleContext;
3 11 3 prev Ljava/lang/Object;
4 8 4 innerEnv Lcom/oracle/truffle/api/TruffleLanguage$Env;
5 8 5 answer Lcom/oracle/truffle/api/CallTarget;
Exception table:
from to target type
3 6 8 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
}
SourceFile: "InnerContextTest.java"
EnclosingMethod: com.oracle.truffle.js.test.polyglot.InnerContextTest$1.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$1
com.oracle.truffle.js.test.polyglot.InnerContextTest$1$1
public LanguageContext = com.oracle.truffle.js.test.polyglot.TestLanguage$LanguageContext of com.oracle.truffle.js.test.polyglot.TestLanguage