public class com.oracle.truffle.js.test.interop.CollectionsInteropTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.test.interop.CollectionsInteropTest
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/CollectionsInteropTest;
private static void checkNormalization(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 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;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 2: aload 4
ldc "js"
ldc "(function(object, normalizedObject) {\n var set = new Set();\n set.add(object);\n return set.has(object) && set.has(normalizedObject);\n})"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 3: aload 5
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 4: aload 6
invokevirtual org.graalvm.polyglot.Value.isBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: aload 6
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 6 end local 5 6: aload 4
ifnull 12
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 12
StackMap locals: java.lang.Object java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
7: astore 2
aload 4
ifnull 8
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
8: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
aload 2
ifnonnull 10
aload 3
astore 2
goto 11
StackMap locals:
StackMap stack:
10: aload 2
aload 3
if_acmpeq 11
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 2
athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 object Ljava/lang/Object;
0 13 1 normalizedObject Ljava/lang/Object;
2 8 4 context Lorg/graalvm/polyglot/Context;
3 6 5 fn Lorg/graalvm/polyglot/Value;
4 6 6 result Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
2 6 7 any
1 9 9 any
MethodParameters:
Name Flags
object
normalizedObject
public void testBoxedNumberNormalization();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: 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;
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic com.oracle.truffle.js.test.interop.CollectionsInteropTest.checkNormalization:(Ljava/lang/Object;Ljava/lang/Object;)V
1: ldc 4.2
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokestatic com.oracle.truffle.js.test.polyglot.ForeignBoxedObject.createNew:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
ldc 4.2
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokestatic com.oracle.truffle.js.test.interop.CollectionsInteropTest.checkNormalization:(Ljava/lang/Object;Ljava/lang/Object;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/interop/CollectionsInteropTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBoxedBooleanNormalization();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: 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;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic com.oracle.truffle.js.test.interop.CollectionsInteropTest.checkNormalization:(Ljava/lang/Object;Ljava/lang/Object;)V
1: iconst_0
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;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic com.oracle.truffle.js.test.interop.CollectionsInteropTest.checkNormalization:(Ljava/lang/Object;Ljava/lang/Object;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/interop/CollectionsInteropTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBoxedStringNormalization();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "foo"
invokestatic com.oracle.truffle.js.test.polyglot.ForeignBoxedObject.createNew:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
ldc "foo"
invokestatic com.oracle.truffle.js.test.interop.CollectionsInteropTest.checkNormalization:(Ljava/lang/Object;Ljava/lang/Object;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/interop/CollectionsInteropTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBoxedNullNormalization();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.js.test.polyglot.ForeignTestMap
dup
invokespecial com.oracle.truffle.js.test.polyglot.ForeignTestMap.<init>:()V
astore 1
start local 1 1: aload 1
invokevirtual com.oracle.truffle.js.test.polyglot.ForeignTestMap.getContainer:()Ljava/util/HashMap;
ldc "IS_NULL"
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokestatic com.oracle.truffle.js.test.interop.CollectionsInteropTest.checkNormalization:(Ljava/lang/Object;Ljava/lang/Object;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/test/interop/CollectionsInteropTest;
1 4 1 object Lcom/oracle/truffle/js/test/polyglot/ForeignTestMap;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testForeignDynamicObjectNormalization();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.js.test.polyglot.ForeignDynamicObject
dup
invokespecial com.oracle.truffle.js.test.polyglot.ForeignDynamicObject.<init>:()V
astore 1
start local 1 1: aload 1
aload 1
invokestatic com.oracle.truffle.js.test.interop.CollectionsInteropTest.checkNormalization:(Ljava/lang/Object;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/interop/CollectionsInteropTest;
1 3 1 object Lcom/oracle/truffle/api/object/DynamicObject;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testHostObjectNormalization();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.awt.Point
dup
bipush 42
sipush 211
invokespecial java.awt.Point.<init>:(II)V
astore 1
start local 1 1: aload 1
aload 1
invokestatic com.oracle.truffle.js.test.interop.CollectionsInteropTest.checkNormalization:(Ljava/lang/Object;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/interop/CollectionsInteropTest;
1 3 1 object Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "CollectionsInteropTest.java"
InnerClasses:
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context