public class com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest
super_class: java.lang.Object
{
static final java.lang.String EXPECTED_EXCEPTION_MESSAGE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "This will be swallowed :("
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/test/interop/JavaScriptHostInteropTest;
public void testArityError();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aconst_null
astore 2
aconst_null
astore 3
1: iconst_0
anewarray java.lang.String
invokestatic com.oracle.truffle.js.test.JSTest.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.HostAccess.ALL:Lorg/graalvm/polyglot/HostAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 24
4: StackMap locals: com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest top java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context int
StackMap stack:
iload 5
ifne 7
5: new com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostObj
dup
invokespecial com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostObj.<init>:()V
astore 6
start local 6 6: goto 11
end local 6 7: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostObj
dup
invokespecial com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostObj.<init>:()V
astore 7
start local 7 8: ldc Lcom/oracle/truffle/js/test/interop/JavaScriptHostInteropTest$MyHostIntf;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
9: iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/truffle/js/test/interop/JavaScriptHostInteropTest$MyHostIntf;
aastore
aload 7
invokedynamic invoke(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$0(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (6)
(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
10: invokestatic java.lang.reflect.Proxy.newProxyInstance:(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
astore 6
end local 7 start local 6 11: StackMap locals: java.lang.Object
StackMap stack:
aload 4
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "hostobj"
aload 6
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
12: aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
astore 7
start local 7 13: aload 7
invokedynamic accept(Ljava/lang/String;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$1(Ljava/lang/String;Lorg/graalvm/polyglot/PolyglotException;)V (6)
(Lorg/graalvm/polyglot/PolyglotException;)V
astore 1
start local 1 14: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$2(Lorg/graalvm/polyglot/Context;)V (6)
()V
aload 1
invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
15: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$3(Lorg/graalvm/polyglot/Context;)V (6)
()V
16: aload 1
17: invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
18: aload 7
invokedynamic accept(Ljava/lang/String;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$4(Ljava/lang/String;Lorg/graalvm/polyglot/PolyglotException;)V (6)
(Lorg/graalvm/polyglot/PolyglotException;)V
astore 1
19: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$5(Lorg/graalvm/polyglot/Context;)V (6)
()V
aload 1
invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
20: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$6(Lorg/graalvm/polyglot/Context;)V (6)
()V
aload 1
invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
21: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$7(Lorg/graalvm/polyglot/Context;)V (6)
()V
aload 1
invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
22: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$8(Lorg/graalvm/polyglot/Context;)V (6)
()V
aload 1
invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
end local 7 end local 6 23: iinc 5 1
end local 1 StackMap locals:
StackMap stack:
24: iload 5
iconst_2
if_icmplt 4
end local 5 25: aload 4
ifnull 31
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 31
StackMap locals: com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest top java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
26: astore 2
aload 4
ifnull 27
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
27: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
28: astore 3
aload 2
ifnonnull 29
aload 3
astore 2
goto 30
StackMap locals:
StackMap stack:
29: aload 2
aload 3
if_acmpeq 30
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
30: aload 2
athrow
31: StackMap locals: com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/oracle/truffle/js/test/interop/JavaScriptHostInteropTest;
14 24 1 expectedException Ljava/util/function/Consumer<Lorg/graalvm/polyglot/PolyglotException;>;
2 27 4 context Lorg/graalvm/polyglot/Context;
3 25 5 i I
6 7 6 hostObj Ljava/lang/Object;
11 23 6 hostObj Ljava/lang/Object;
8 11 7 delegate Ljava/lang/Object;
13 23 7 expectedClassName Ljava/lang/String;
Exception table:
from to target type
2 25 26 any
1 28 28 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testArgumentTypeError();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aconst_null
astore 2
aconst_null
astore 3
1: iconst_0
anewarray java.lang.String
invokestatic com.oracle.truffle.js.test.JSTest.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.HostAccess.ALL:Lorg/graalvm/polyglot/HostAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 29
4: StackMap locals: com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest top java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context int
StackMap stack:
iload 5
ifne 7
5: new com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostObj
dup
invokespecial com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostObj.<init>:()V
astore 6
start local 6 6: goto 11
end local 6 7: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostObj
dup
invokespecial com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostObj.<init>:()V
astore 7
start local 7 8: ldc Lcom/oracle/truffle/js/test/interop/JavaScriptHostInteropTest$MyHostIntf;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
9: iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/truffle/js/test/interop/JavaScriptHostInteropTest$MyHostIntf;
aastore
aload 7
invokedynamic invoke(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$9(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (6)
(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
10: invokestatic java.lang.reflect.Proxy.newProxyInstance:(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
astore 6
end local 7 start local 6 11: StackMap locals: java.lang.Object
StackMap stack:
aload 4
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "hostobj"
aload 6
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
12: aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
astore 7
start local 7 13: aload 7
invokedynamic accept(Ljava/lang/String;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$10(Ljava/lang/String;Lorg/graalvm/polyglot/PolyglotException;)V (6)
(Lorg/graalvm/polyglot/PolyglotException;)V
astore 1
start local 1 14: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$11(Lorg/graalvm/polyglot/Context;)V (6)
()V
aload 1
invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
15: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$12(Lorg/graalvm/polyglot/Context;)V (6)
()V
16: aload 1
17: invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
18: aload 4
ldc "js"
ldc "hostobj.foo(42);"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
19: aload 4
ldc "js"
ldc "var foo = hostobj.foo;\nfoo(42);"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
20: aload 7
invokedynamic accept(Ljava/lang/String;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$13(Ljava/lang/String;Lorg/graalvm/polyglot/PolyglotException;)V (6)
(Lorg/graalvm/polyglot/PolyglotException;)V
astore 1
21: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$14(Lorg/graalvm/polyglot/Context;)V (6)
()V
aload 1
invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
22: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$15(Lorg/graalvm/polyglot/Context;)V (6)
()V
aload 1
invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
23: aload 7
invokedynamic accept(Ljava/lang/String;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$16(Ljava/lang/String;Lorg/graalvm/polyglot/PolyglotException;)V (6)
(Lorg/graalvm/polyglot/PolyglotException;)V
astore 1
24: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$17(Lorg/graalvm/polyglot/Context;)V (6)
()V
aload 1
invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
25: aload 4
invokedynamic run(Lorg/graalvm/polyglot/Context;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/js/test/interop/JavaScriptHostInteropTest.lambda$18(Lorg/graalvm/polyglot/Context;)V (6)
()V
aload 1
invokestatic com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest.assertThrows:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
26: aload 4
ldc "js"
ldc "hostobj.write(JSON.stringify(6), 'eight', null)"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
27: aload 4
ldc "js"
ldc "hostobj['write'](JSON.stringify(6), 'eight', null)"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
end local 7 end local 6 28: iinc 5 1
end local 1 StackMap locals:
StackMap stack:
29: iload 5
iconst_2
if_icmplt 4
end local 5 30: aload 4
ifnull 36
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 36
StackMap locals: com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest top java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
31: astore 2
aload 4
ifnull 32
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
32: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 3
aload 2
ifnonnull 34
aload 3
astore 2
goto 35
StackMap locals:
StackMap stack:
34: aload 2
aload 3
if_acmpeq 35
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 2
athrow
36: StackMap locals: com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/oracle/truffle/js/test/interop/JavaScriptHostInteropTest;
14 29 1 expectedException Ljava/util/function/Consumer<Lorg/graalvm/polyglot/PolyglotException;>;
2 32 4 context Lorg/graalvm/polyglot/Context;
3 30 5 i I
6 7 6 hostObj Ljava/lang/Object;
11 28 6 hostObj Ljava/lang/Object;
8 11 7 delegate Ljava/lang/Object;
13 28 7 expectedClassName Ljava/lang/String;
Exception table:
from to target type
2 30 31 any
1 33 33 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testHostClassCastException();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.HostAccess.ALL:Lorg/graalvm/polyglot/HostAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: aload 3
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "hello"
new com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$Hello
dup
invokespecial com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$Hello.<init>:()V
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 3
ldc "js"
ldc "class Human {\n constructor(name) {\n this.name = name;\n }\n\n hello() {\n return this.name;\n }\n}\n\nconst human = new Human(\"timmy\");\n\nhello.thisIsFine(human);\nhello.thisWillBreak(human);"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
4: ldc "should have thrown"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
5: goto 10
StackMap locals: com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: org.graalvm.polyglot.PolyglotException
6: astore 4
start local 4 7: aload 4
invokevirtual org.graalvm.polyglot.PolyglotException.isHostException:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
8: ldc Ljava/lang/ClassCastException;
aload 4
invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: ldc "This will be swallowed :("
aload 4
invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 10: StackMap locals:
StackMap stack:
aload 3
ifnull 16
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 1
aload 3
ifnull 12
aload 3
invokevirtual org.graalvm.polyglot.Context.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
16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/js/test/interop/JavaScriptHostInteropTest;
2 12 3 context Lorg/graalvm/polyglot/Context;
7 10 4 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
3 5 6 Class org.graalvm.polyglot.PolyglotException
2 10 11 any
1 13 13 any
RuntimeVisibleAnnotations:
org.junit.Test()
private static void assertThrows(java.lang.Runnable, java.util.function.Consumer<org.graalvm.polyglot.PolyglotException>);
descriptor: (Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.lang.Runnable.run:()V
1: ldc "should have thrown"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
2: goto 6
StackMap locals:
StackMap stack: org.graalvm.polyglot.PolyglotException
3: astore 2
start local 2 4: aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.isGuestException:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: aload 1
aload 2
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 test Ljava/lang/Runnable;
0 7 1 exceptionVerifier Ljava/util/function/Consumer<Lorg/graalvm/polyglot/PolyglotException;>;
4 6 2 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
0 2 3 Class org.graalvm.polyglot.PolyglotException
Signature: (Ljava/lang/Runnable;Ljava/util/function/Consumer<Lorg/graalvm/polyglot/PolyglotException;>;)V
MethodParameters:
Name Flags
test
exceptionVerifier
public void hostObjectIdentity();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: iconst_0
anewarray java.lang.String
invokestatic com.oracle.truffle.js.test.JSTest.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.HostAccess.ALL:Lorg/graalvm/polyglot/HostAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
astore 4
start local 4 3: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
astore 5
start local 5 4: aload 3
ldc "js"
ldc "(function(a, b){return a == b;})"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 5: aload 3
ldc "js"
ldc "(function(a, b){return a === b;})"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 7
start local 7 6: aload 6
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 4
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: aload 7
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 4
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
8: aload 6
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 5
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
9: aload 7
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 5
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
end local 7 end local 6 end local 5 end local 4 10: aload 3
ifnull 16
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 16
StackMap locals: com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
11: astore 1
aload 3
ifnull 12
aload 3
invokevirtual org.graalvm.polyglot.Context.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
16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/js/test/interop/JavaScriptHostInteropTest;
2 12 3 context Lorg/graalvm/polyglot/Context;
3 10 4 proxy1 Ljava/lang/Object;
4 10 5 proxy2 Ljava/lang/Object;
5 10 6 equals Lorg/graalvm/polyglot/Value;
6 10 7 identical Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
2 10 11 any
1 13 13 any
RuntimeVisibleAnnotations:
org.junit.Test()
private static java.lang.Object lambda$0(java.lang.Object, java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=4
start local 1 start local 2 start local 3 0: aload 2
aload 0
aload 3
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 proxy Ljava/lang/Object;
0 1 2 method Ljava/lang/reflect/Method;
0 1 3 args [Ljava/lang/Object;
Exceptions:
throws java.lang.Throwable
private static void lambda$1(java.lang.String, org.graalvm.polyglot.PolyglotException);
descriptor: (Ljava/lang/String;Lorg/graalvm/polyglot/PolyglotException;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 0
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
1: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "foo"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
2: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "Arity error"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
3: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 e Lorg/graalvm/polyglot/PolyglotException;
private static void lambda$2(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "hostobj.foo();"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$3(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "var foo = hostobj.foo;\nfoo();"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
1: return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$4(java.lang.String, org.graalvm.polyglot.PolyglotException);
descriptor: (Ljava/lang/String;Lorg/graalvm/polyglot/PolyglotException;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 0
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
1: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "write"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
2: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "Arity error"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
3: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 e Lorg/graalvm/polyglot/PolyglotException;
private static void lambda$5(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "hostobj.write('a', 'b')"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$6(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "hostobj['write']('a', 'b')"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$7(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "hostobj.write('a', 'b', 'c', 'd')"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$8(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "hostobj['write']('a', 'b', 'c', 'd')"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
return
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.Object lambda$9(java.lang.Object, java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=4
start local 1 start local 2 start local 3 0: aload 2
aload 0
aload 3
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 proxy Ljava/lang/Object;
0 1 2 method Ljava/lang/reflect/Method;
0 1 3 args [Ljava/lang/Object;
Exceptions:
throws java.lang.Throwable
private static void lambda$10(java.lang.String, org.graalvm.polyglot.PolyglotException);
descriptor: (Ljava/lang/String;Lorg/graalvm/polyglot/PolyglotException;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 0
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
1: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "foo"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
2: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "Cannot convert '{}'(language: JavaScript, type: Object) to Java type 'int'"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
3: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 e Lorg/graalvm/polyglot/PolyglotException;
private static void lambda$11(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "hostobj.foo({});"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$12(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "var foo = hostobj.foo;\nfoo({});"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
1: return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$13(java.lang.String, org.graalvm.polyglot.PolyglotException);
descriptor: (Ljava/lang/String;Lorg/graalvm/polyglot/PolyglotException;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 0
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
1: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "bounce"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
2: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "Cannot convert 'abc'(language: Java, type: java.lang.String) to Java type 'java.util.Map[]'"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
3: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 e Lorg/graalvm/polyglot/PolyglotException;
private static void lambda$14(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "hostobj.bounce('abc')"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$15(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "hostobj['bounce']('abc')"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$16(java.lang.String, org.graalvm.polyglot.PolyglotException);
descriptor: (Ljava/lang/String;Lorg/graalvm/polyglot/PolyglotException;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 0
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
1: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "write"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
2: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
3: ldc "Cannot convert '6'(language: Java, type: java.lang.Integer) to Java type 'java.lang.String'"
invokestatic org.hamcrest.CoreMatchers.containsString:(Ljava/lang/String;)Lorg/hamcrest/Matcher;
4: invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
5: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 6 1 e Lorg/graalvm/polyglot/PolyglotException;
private static void lambda$17(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "hostobj.write(6, 'eight', null)"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$18(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
ldc "js"
ldc "hostobj['write'](6, 'eight', null)"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "JavaScriptHostInteropTest.java"
NestMembers:
com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$Hello com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostIntf com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostObj
InnerClasses:
public Hello = com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$Hello of com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest
public abstract MyHostIntf = com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostIntf of com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest
public MyHostObj = com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest$MyHostObj of com.oracle.truffle.js.test.interop.JavaScriptHostInteropTest
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context