public class com.oracle.truffle.js.scriptengine.test.GR20862
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.scriptengine.test.GR20862
super_class: java.lang.Object
{
private static final java.lang.String INSECURE_SCRIPTENGINE_ACCESS_SYSTEM_PROPERTY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "graaljs.insecure-scriptengine-access"
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/scriptengine/test/GR20862;
private static void tryAccessingHost(boolean);
descriptor: (Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: ldc "graaljs.insecure-scriptengine-access"
iload 0
ifeq 1
ldc "true"
goto 2
StackMap locals:
StackMap stack: java.lang.String
1: ldc "false"
StackMap locals: int
StackMap stack: java.lang.String java.lang.String
2: invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
3: aconst_null
astore 1
aconst_null
astore 2
4: invokestatic com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.create:()Lcom/oracle/truffle/js/scriptengine/GraalJSScriptEngine;
astore 3
start local 3 5: aload 3
ldc "tester"
new com.oracle.truffle.js.scriptengine.test.GR20862$Tester
dup
invokespecial com.oracle.truffle.js.scriptengine.test.GR20862$Tester.<init>:()V
invokevirtual com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.put:(Ljava/lang/String;Ljava/lang/Object;)V
6: ldc "tester.ret42();"
astore 4
start local 4 7: aload 3
aload 4
invokevirtual com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval:(Ljava/lang/String;)Ljava/lang/Object;
astore 5
start local 5 8: iload 0
invokestatic org.junit.Assert.assertTrue:(Z)V
9: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 5 end local 4 10: aload 3
ifnull 19
aload 3
invokevirtual com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.close:()V
goto 19
StackMap locals: int java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.scriptengine.GraalJSScriptEngine
StackMap stack: java.lang.Throwable
11: astore 1
aload 3
ifnull 12
aload 3
invokevirtual com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.close:()V
end local 3 StackMap locals:
StackMap stack:
12: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 2
aload 1
ifnonnull 14
aload 2
astore 1
goto 15
StackMap locals:
StackMap stack:
14: aload 1
aload 2
if_acmpeq 15
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 1
athrow
StackMap locals: int
StackMap stack: javax.script.ScriptException
16: astore 1
start local 1 17: iload 0
invokestatic org.junit.Assert.assertFalse:(Z)V
18: aload 1
invokevirtual javax.script.ScriptException.getCause:()Ljava/lang/Throwable;
instanceof org.graalvm.polyglot.PolyglotException
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 1 19: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 allowHostAccess Z
5 12 3 engine Lcom/oracle/truffle/js/scriptengine/GraalJSScriptEngine;
7 10 4 src Ljava/lang/String;
8 10 5 result Ljava/lang/Object;
17 19 1 ex Ljavax/script/ScriptException;
Exception table:
from to target type
5 10 11 any
4 13 13 any
3 16 16 Class javax.script.ScriptException
MethodParameters:
Name Flags
allowHostAccess
public void testHostAccessBypass();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
invokestatic com.oracle.truffle.js.scriptengine.test.GR20862.tryAccessingHost:(Z)V
1: iconst_1
invokestatic com.oracle.truffle.js.scriptengine.test.GR20862.tryAccessingHost:(Z)V
2: iconst_0
invokestatic com.oracle.truffle.js.scriptengine.test.GR20862.tryAccessingHost:(Z)V
3: iconst_1
invokestatic com.oracle.truffle.js.scriptengine.test.GR20862.tryAccessingHost:(Z)V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/scriptengine/test/GR20862;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "GR20862.java"
NestMembers:
com.oracle.truffle.js.scriptengine.test.GR20862$Tester
InnerClasses:
public Tester = com.oracle.truffle.js.scriptengine.test.GR20862$Tester of com.oracle.truffle.js.scriptengine.test.GR20862