public class com.oracle.truffle.js.test.interop.ForeignBoxedObjectTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.test.interop.ForeignBoxedObjectTest
super_class: java.lang.Object
{
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/ForeignBoxedObjectTest;
public void testForeignNull();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, 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;
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 "obj"
new com.oracle.truffle.js.test.polyglot.ForeignNull
dup
invokespecial com.oracle.truffle.js.test.polyglot.ForeignNull.<init>:()V
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 3
ldc "js"
ldc "Object.getPrototypeOf(Object(obj)) === Object.prototype"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 3
ldc "js"
ldc "Object.getPrototypeOf(new Object(obj)) === Object.prototype"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: aload 3
ldc "js"
ldc "Object.getPrototypeOf(Object.create(obj)) === null"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
6: aload 3
ldc "js"
ldc "try { obj.foo; false; } catch (e) { e instanceof TypeError }"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: aload 3
ldc "js"
ldc "try { obj.foo(); false; } catch (e) { e instanceof TypeError }"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
8: aload 3
ifnull 14
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 14
StackMap locals: com.oracle.truffle.js.test.interop.ForeignBoxedObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
9: astore 1
aload 3
ifnull 10
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
10: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 2
aload 1
ifnonnull 12
aload 2
astore 1
goto 13
StackMap locals:
StackMap stack:
12: aload 1
aload 2
if_acmpeq 13
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
13: aload 1
athrow
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/js/test/interop/ForeignBoxedObjectTest;
2 10 3 context Lorg/graalvm/polyglot/Context;
Exception table:
from to target type
2 8 9 any
1 11 11 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testForeignBoxedString();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, 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;
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 "obj"
ldc "foo"
invokestatic com.oracle.truffle.js.test.polyglot.ForeignBoxedObject.createNew:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 3
ldc "js"
ldc "typeof Object(obj) === 'object'"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 3
ldc "js"
ldc "typeof obj.includes === 'function'"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: ldc "foo"
aload 3
ldc "js"
ldc "obj.toString()"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: ldc "foo"
aload 3
ldc "js"
ldc "obj.valueOf()"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: aload 3
ldc "js"
ldc "obj.includes('o')"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
8: aload 3
ifnull 14
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 14
StackMap locals: com.oracle.truffle.js.test.interop.ForeignBoxedObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
9: astore 1
aload 3
ifnull 10
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
10: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 2
aload 1
ifnonnull 12
aload 2
astore 1
goto 13
StackMap locals:
StackMap stack:
12: aload 1
aload 2
if_acmpeq 13
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
13: aload 1
athrow
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/js/test/interop/ForeignBoxedObjectTest;
2 10 3 context Lorg/graalvm/polyglot/Context;
Exception table:
from to target type
2 8 9 any
1 11 11 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testForeignBoxedNumber();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, 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;
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 "obj"
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic com.oracle.truffle.js.test.polyglot.ForeignBoxedObject.createNew:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 3
ldc "js"
ldc "typeof Object(obj) === 'object'"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 3
ldc "js"
ldc "typeof obj.valueOf === 'function'"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: ldc "4.2e+1"
aload 3
ldc "js"
ldc "obj.toExponential()"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: ldc "4e+1"
aload 3
ldc "js"
ldc "obj.toExponential(0)"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: ldc "42.00"
aload 3
ldc "js"
ldc "obj.toFixed(2)"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: ldc "42"
aload 3
ldc "js"
ldc "obj.toLocaleString()"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: ldc "42"
aload 3
ldc "js"
ldc "obj.toPrecision()"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: ldc "42.0"
aload 3
ldc "js"
ldc "obj.toPrecision(3)"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: ldc "42"
aload 3
ldc "js"
ldc "obj.toString()"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
12: ldc 42
aload 3
ldc "js"
ldc "obj.valueOf()"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
13: aload 3
ifnull 19
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 19
StackMap locals: com.oracle.truffle.js.test.interop.ForeignBoxedObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
14: astore 1
aload 3
ifnull 15
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
15: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 2
aload 1
ifnonnull 17
aload 2
astore 1
goto 18
StackMap locals:
StackMap stack:
17: aload 1
aload 2
if_acmpeq 18
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 1
athrow
19: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/js/test/interop/ForeignBoxedObjectTest;
2 15 3 context Lorg/graalvm/polyglot/Context;
Exception table:
from to target type
2 13 14 any
1 16 16 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testForeignBoxedBoolean();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, 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;
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 "obj"
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic com.oracle.truffle.js.test.polyglot.ForeignBoxedObject.createNew:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 3
ldc "js"
ldc "typeof Object(obj) === 'object'"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 3
ldc "js"
ldc "typeof obj.valueOf === 'function'"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: aload 3
ldc "js"
ldc "obj.valueOf()"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
6: ldc "true"
aload 3
ldc "js"
ldc "obj.toString()"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: aload 3
ifnull 13
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 13
StackMap locals: com.oracle.truffle.js.test.interop.ForeignBoxedObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
8: astore 1
aload 3
ifnull 9
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
9: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 2
aload 1
ifnonnull 11
aload 2
astore 1
goto 12
StackMap locals:
StackMap stack:
11: aload 1
aload 2
if_acmpeq 12
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 1
athrow
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/js/test/interop/ForeignBoxedObjectTest;
2 9 3 context Lorg/graalvm/polyglot/Context;
Exception table:
from to target type
2 7 8 any
1 10 10 any
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ForeignBoxedObjectTest.java"
InnerClasses:
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context