class com.oracle.truffle.tck.TruffleTestInvoker$TestStatement extends org.junit.runners.model.Statement
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.tck.TruffleTestInvoker$TestStatement
super_class: org.junit.runners.model.Statement
{
private final com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule rule;
descriptor: Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.junit.runners.model.Statement stmt;
descriptor: Lorg/junit/runners/model/Statement;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule, org.junit.runners.model.Statement);
descriptor: (Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;Lorg/junit/runners/model/Statement;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // com.oracle.truffle.tck.TruffleTestInvoker$TestStatement this
start local 1 // com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule rule
start local 2 // org.junit.runners.model.Statement stmt
0: .line 97
aload 0 /* this */
invokespecial org.junit.runners.model.Statement.<init>:()V
1: .line 98
aload 0 /* this */
aload 1 /* rule */
putfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.rule:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
2: .line 99
aload 0 /* this */
aload 2 /* stmt */
putfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.stmt:Lorg/junit/runners/model/Statement;
3: .line 100
return
end local 2 // org.junit.runners.model.Statement stmt
end local 1 // com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule rule
end local 0 // com.oracle.truffle.tck.TruffleTestInvoker$TestStatement this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/tck/TruffleTestInvoker$TestStatement;
0 4 1 rule Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
0 4 2 stmt Lorg/junit/runners/model/Statement;
MethodParameters:
Name Flags
rule
stmt
public void evaluate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=1
start local 0 // com.oracle.truffle.tck.TruffleTestInvoker$TestStatement this
0: .line 104
aload 0 /* this */
getfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.rule:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
getfield com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.context:Lorg/graalvm/polyglot/Context;
astore 1 /* prevContext */
start local 1 // org.graalvm.polyglot.Context prevContext
1: .line 105
aconst_null
astore 2
aconst_null
astore 3
2: aload 0 /* this */
getfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.rule:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
getfield com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.contextBuilder:Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.PolyglotAccess.ALL:Lorg/graalvm/polyglot/PolyglotAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowPolyglotAccess:(Lorg/graalvm/polyglot/PolyglotAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4 /* context */
start local 4 // org.graalvm.polyglot.Context context
3: .line 106
aload 0 /* this */
getfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.rule:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
aload 4 /* context */
putfield com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.context:Lorg/graalvm/polyglot/Context;
4: .line 108
aload 4 /* context */
ldc "truffletestinvoker"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
5: .line 109
aload 4 /* context */
invokevirtual org.graalvm.polyglot.Context.enter:()V
6: .line 110
aload 0 /* this */
getfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.rule:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
getfield com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.testEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
astore 5 /* prevEnv */
start local 5 // com.oracle.truffle.api.TruffleLanguage$Env prevEnv
7: .line 112
aload 0 /* this */
getfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.rule:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
aload 4 /* context */
invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
ldc "env"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asHostObject:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleLanguage$Env
putfield com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.testEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
8: .line 113
aload 0 /* this */
getfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.stmt:Lorg/junit/runners/model/Statement;
invokevirtual org.junit.runners.model.Statement.evaluate:()V
9: .line 114
goto 16
StackMap locals: com.oracle.truffle.tck.TruffleTestInvoker$TestStatement org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.api.TruffleLanguage$Env
StackMap stack: java.lang.Throwable
10: astore 6 /* t */
start local 6 // java.lang.Throwable t
11: .line 115
aload 6 /* t */
athrow
end local 6 // java.lang.Throwable t
12: .line 116
StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
13: .line 117
aload 0 /* this */
getfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.rule:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
aload 5 /* prevEnv */
putfield com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.testEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
14: .line 118
aload 4 /* context */
invokevirtual org.graalvm.polyglot.Context.leave:()V
15: .line 119
aload 7
athrow
16: .line 117
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.rule:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
aload 5 /* prevEnv */
putfield com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.testEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
17: .line 118
aload 4 /* context */
invokevirtual org.graalvm.polyglot.Context.leave:()V
end local 5 // com.oracle.truffle.api.TruffleLanguage$Env prevEnv
18: .line 120
aload 4 /* context */
ifnull 27
aload 4 /* context */
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 27
StackMap locals: com.oracle.truffle.tck.TruffleTestInvoker$TestStatement org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
19: astore 2
aload 4 /* context */
ifnull 20
aload 4 /* context */
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 // org.graalvm.polyglot.Context context
StackMap locals:
StackMap stack:
20: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 3
aload 2
ifnonnull 22
aload 3
astore 2
goto 23
StackMap locals:
StackMap stack:
22: aload 2
aload 3
if_acmpeq 23
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 2
athrow
StackMap locals: com.oracle.truffle.tck.TruffleTestInvoker$TestStatement org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
24: astore 8
25: .line 121
aload 0 /* this */
getfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.rule:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
aload 1 /* prevContext */
putfield com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.context:Lorg/graalvm/polyglot/Context;
26: .line 122
aload 8
athrow
27: .line 121
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.tck.TruffleTestInvoker$TestStatement.rule:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
aload 1 /* prevContext */
putfield com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.context:Lorg/graalvm/polyglot/Context;
28: .line 123
return
end local 1 // org.graalvm.polyglot.Context prevContext
end local 0 // com.oracle.truffle.tck.TruffleTestInvoker$TestStatement this
LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/oracle/truffle/tck/TruffleTestInvoker$TestStatement;
1 29 1 prevContext Lorg/graalvm/polyglot/Context;
3 20 4 context Lorg/graalvm/polyglot/Context;
7 18 5 prevEnv Lcom/oracle/truffle/api/TruffleLanguage$Env;
11 12 6 t Ljava/lang/Throwable;
Exception table:
from to target type
7 9 10 Class java.lang.Throwable
7 12 12 any
3 18 19 any
2 21 21 any
1 24 24 any
Exceptions:
throws java.lang.Throwable
}
SourceFile: "TruffleTestInvoker.java"
NestHost: com.oracle.truffle.tck.TruffleTestInvoker
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public final RunWithPolyglotRule = com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule of com.oracle.truffle.tck.TruffleRunner
private TestStatement = com.oracle.truffle.tck.TruffleTestInvoker$TestStatement of com.oracle.truffle.tck.TruffleTestInvoker
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context