public class com.oracle.truffle.js.test.polyglot.MapTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.test.polyglot.MapTest
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/polyglot/MapTest;
public void testJavaScriptArrayViaContext();
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_1
anewarray java.lang.String
dup
iconst_0
ldc "js"
aastore
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"
ldc "['a', 'b', 'c']"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 4
start local 4 3: aload 4
invokevirtual org.graalvm.polyglot.Value.hasArrayElements:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: ldc 3
aload 4
invokevirtual org.graalvm.polyglot.Value.getArraySize:()J
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: ldc "a"
aload 4
lconst_0
invokevirtual org.graalvm.polyglot.Value.getArrayElement:(J)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 "b"
aload 4
lconst_1
invokevirtual org.graalvm.polyglot.Value.getArrayElement:(J)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 "c"
aload 4
ldc 2
invokevirtual org.graalvm.polyglot.Value.getArrayElement:(J)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
end local 4 8: aload 3
ifnull 14
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 14
StackMap locals: com.oracle.truffle.js.test.polyglot.MapTest 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/polyglot/MapTest;
2 10 3 context Lorg/graalvm/polyglot/Context;
3 8 4 result Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
2 8 9 any
1 11 11 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJavaScriptMapNoInterop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: ldc "var map = new Map(); map.set('mapkey', 'mapvalue'); map;"
astore 1
start local 1 1: ldc "var obj = {}; obj.objkey = 'objvalue'; obj;"
astore 2
start local 2 2: aconst_null
astore 3
aconst_null
astore 4
3: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "js"
aastore
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 5
start local 5 4: aload 5
ldc "js"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 5: aconst_null
aload 6
ldc "mapkey"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: ldc "mapvalue"
aload 6
ldc "get"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "mapkey"
aastore
invokevirtual org.graalvm.polyglot.Value.invokeMember:(Ljava/lang/String;[Ljava/lang/Object;)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 5
ldc "js"
aload 2
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 7
start local 7 8: ldc "objvalue"
aload 7
ldc "objkey"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)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
end local 7 end local 6 9: aload 5
ifnull 15
aload 5
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 15
StackMap locals: com.oracle.truffle.js.test.polyglot.MapTest java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
10: astore 3
aload 5
ifnull 11
aload 5
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 5 StackMap locals:
StackMap stack:
11: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 4
aload 3
ifnonnull 13
aload 4
astore 3
goto 14
StackMap locals:
StackMap stack:
13: aload 3
aload 4
if_acmpeq 14
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 3
athrow
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/js/test/polyglot/MapTest;
1 16 1 sourceJSMap Ljava/lang/String;
2 16 2 sourceObject Ljava/lang/String;
4 11 5 context Lorg/graalvm/polyglot/Context;
5 9 6 jsMap Lorg/graalvm/polyglot/Value;
8 9 7 jsObj Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
4 9 10 any
3 12 12 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testMapIterationContext();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: ldc "var HashMap = Java.type('java.util.HashMap'); \nvar map = new HashMap();\nmap.put(1, 'A');\nmap.get(1);\nvar str='';\nfor (var key in map) {\n str += key;\n str += map[key];\n str += map.get(key);\n}; str;"
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "js"
aastore
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;
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
com/oracle/truffle/js/test/polyglot/MapTest.lambda$0(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostClassLookup:(Ljava/util/function/Predicate;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 3: aload 4
ldc "js"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 4: ldc "1undefinedA"
aload 5
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 5 5: aload 4
ifnull 11
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 11
StackMap locals: com.oracle.truffle.js.test.polyglot.MapTest java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
6: astore 2
aload 4
ifnull 7
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
7: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 3
aload 2
ifnonnull 9
aload 3
astore 2
goto 10
StackMap locals:
StackMap stack:
9: aload 2
aload 3
if_acmpeq 10
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 2
athrow
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/js/test/polyglot/MapTest;
1 12 1 source Ljava/lang/String;
3 7 4 context Lorg/graalvm/polyglot/Context;
4 5 5 result Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
3 5 6 any
2 8 8 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testListIterationContext();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: ldc "var ArrayList = Java.type('java.util.ArrayList');\nvar list = new ArrayList();\nlist.add(42);\nlist.add(\"ab\");\nlist.add({});\nvar str='';\nfor (var idx in list) {\n str += '|'+idx;\n str += ''+list[idx];\n}; str;"
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "js"
aastore
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;
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
com/oracle/truffle/js/test/polyglot/MapTest.lambda$1(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostClassLookup:(Ljava/util/function/Predicate;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 3: aload 4
ldc "js"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 4: ldc "|042|1ab|2[object Object]"
aload 5
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 5 5: aload 4
ifnull 11
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 11
StackMap locals: com.oracle.truffle.js.test.polyglot.MapTest java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
6: astore 2
aload 4
ifnull 7
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
7: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 3
aload 2
ifnonnull 9
aload 3
astore 2
goto 10
StackMap locals:
StackMap stack:
9: aload 2
aload 3
if_acmpeq 10
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 2
athrow
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/js/test/polyglot/MapTest;
1 12 1 source Ljava/lang/String;
3 7 4 context Lorg/graalvm/polyglot/Context;
4 5 5 result Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
3 5 6 any
2 8 8 any
RuntimeVisibleAnnotations:
org.junit.Test()
private static boolean lambda$0(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c Ljava/lang/String;
private static boolean lambda$1(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c Ljava/lang/String;
}
SourceFile: "MapTest.java"
InnerClasses:
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