public class com.oracle.truffle.js.test.interop.ProxyObjectTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.test.interop.ProxyObjectTest
super_class: java.lang.Object
{
private org.graalvm.polyglot.Context context;
descriptor: Lorg/graalvm/polyglot/Context;
flags: (0x0002) ACC_PRIVATE
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/ProxyObjectTest;
public void setUp();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
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;
putfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
RuntimeVisibleAnnotations:
org.junit.Before()
public void tearDown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
RuntimeVisibleAnnotations:
org.junit.After()
public void objectKeysValuesEntries();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
ldc "foo"
ldc "bar"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "obj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
4: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "Object.keys(obj)"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
ldc Ljava/util/List;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 5: lconst_1
aload 3
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
6: aload 3
ldc "foo"
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "Object.values(obj)"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
ldc Ljava/util/List;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.List
astore 4
start local 4 8: lconst_1
aload 4
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: aload 4
ldc "bar"
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
10: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "Object.entries(obj)"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 11: lconst_1
aload 5
invokevirtual org.graalvm.polyglot.Value.getArraySize:()J
invokestatic org.junit.Assert.assertEquals:(JJ)V
12: ldc 2
aload 5
lconst_0
invokevirtual org.graalvm.polyglot.Value.getArrayElement:(J)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.getArraySize:()J
invokestatic org.junit.Assert.assertEquals:(JJ)V
13: ldc "foo"
aload 5
lconst_0
invokevirtual org.graalvm.polyglot.Value.getArrayElement:(J)Lorg/graalvm/polyglot/Value;
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
14: ldc "bar"
aload 5
lconst_0
invokevirtual org.graalvm.polyglot.Value.getArrayElement:(J)Lorg/graalvm/polyglot/Value;
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
15: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 16 1 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
3 16 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
5 16 3 keys Ljava/util/List<*>;
8 16 4 values Ljava/util/List<*>;
11 16 5 entries Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void copyElementsFromProxyArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: iconst_3
anewarray java.lang.Object
dup
iconst_0
bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic org.graalvm.polyglot.proxy.ProxyArray.fromArray:([Ljava/lang/Object;)Lorg/graalvm/polyglot/proxy/ProxyArray;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyArr"
aload 1
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
2: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj = [...proxyArr];"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
3: ldc 41
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj[0]"
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
4: ldc 42
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj[1]"
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
5: ldc 43
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj[2]"
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
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 7 1 proxyArr Lorg/graalvm/polyglot/proxy/ProxyArray;
RuntimeVisibleAnnotations:
org.junit.Test()
public void copyPropertiesFromProxyObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
ldc "p1"
bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
ldc "p2"
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 1
ldc "p3"
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 5: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
6: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj = {...proxyObj};"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
7: ldc 41
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.p1"
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
8: ldc 42
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.p2"
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
9: ldc 43
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.p3"
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
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 11 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
5 11 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
RuntimeVisibleAnnotations:
org.junit.Test()
public void objectAssignFromProxyObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
ldc "p1"
bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
ldc "p2"
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 1
ldc "p3"
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 5: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
6: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj = Object.assign({}, proxyObj);"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
7: ldc 41
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.p1"
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
8: ldc 42
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.p2"
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
9: ldc 43
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.p3"
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
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 11 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
5 11 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
RuntimeVisibleAnnotations:
org.junit.Test()
public void objectAssignToProxyObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj = Object.assign(proxyObj, {p1: 41, p2: 42, p3: 43});"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
4: ldc 41
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.p1"
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
5: ldc 42
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.p2"
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
6: ldc 43
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.p3"
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
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 8 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
2 8 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
RuntimeVisibleAnnotations:
org.junit.Test()
public void definePropertyViaJSProxy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
ldc "p1"
bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
ldc "p2"
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 1
ldc "p3"
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 5: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "(proxyObj) => new Proxy({}, {\nget: function(target, key) {\n if (key in target) {\n return target[key];\n } else {\n return proxyObj[key];\n }\n}});"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 3
start local 3 6: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "obj"
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
7: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "Object.defineProperty(obj, 'foo', {\n enumerable: true, configurable : false,\n get: function() {\n return 668;\n }\n});"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
8: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "Object.defineProperty(obj, 'p3', {\n enumerable: true, configurable : false,\n get: function() {\n return 333;\n }\n});"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
9: ldc 42
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.p2"
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
10: ldc 668
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.foo"
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
11: ldc 333
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "obj.p3"
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
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 13 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
5 13 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
6 13 3 proxyObjWrapper Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
private void arrayFromProxyArrayCommon(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iconst_3
anewarray java.lang.Object
dup
iconst_0
bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic org.graalvm.polyglot.proxy.ProxyArray.fromArray:([Ljava/lang/Object;)Lorg/graalvm/polyglot/proxy/ProxyArray;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyArr"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
2: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
new java.lang.StringBuilder
dup
ldc "arr = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "(proxyArr);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
3: ldc 3
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "arr.length"
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
4: ldc 41
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "arr[0]"
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
5: ldc 42
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "arr[1]"
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
6: ldc 43
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "arr[2]"
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
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
0 8 1 method Ljava/lang/String;
1 8 2 proxyArr Lorg/graalvm/polyglot/proxy/ProxyArray;
MethodParameters:
Name Flags
method
public void arrayFromProxyArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Array.from"
invokevirtual com.oracle.truffle.js.test.interop.ProxyObjectTest.arrayFromProxyArrayCommon:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void typedArrayFromProxyArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Int8Array.from"
invokevirtual com.oracle.truffle.js.test.interop.ProxyObjectTest.arrayFromProxyArrayCommon:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void newTypedArrayFromProxyArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "new Int8Array"
invokevirtual com.oracle.truffle.js.test.interop.ProxyObjectTest.arrayFromProxyArrayCommon:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void objectPrototypeHasOwnProperty();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
ldc "p1"
bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
ldc "p2"
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
5: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "Object.prototype.hasOwnProperty.call(proxyObj, 'p0');"
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.assertFalse:(Z)V
6: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "Object.prototype.hasOwnProperty.call(proxyObj, 'p1');"
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: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 8 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
4 8 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
RuntimeVisibleAnnotations:
org.junit.Test()
public void objectGetOwnPropertyNames();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
ldc "p1"
bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
ldc "p2"
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 1
ldc "p3"
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 5: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
iconst_3
anewarray java.lang.String
dup
iconst_0
6: ldc "p1"
aastore
dup
iconst_1
ldc "p2"
aastore
dup
iconst_2
ldc "p3"
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "Object.getOwnPropertyNames(proxyObj);"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
ldc Ljava/util/List;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 8 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
5 8 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
RuntimeVisibleAnnotations:
org.junit.Test()
public void objectGetOwnPropertyDescriptor();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
ldc "p1"
bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
ldc "p2"
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 1
ldc "p3"
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 5: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
6: ldc 42
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "Object.getOwnPropertyDescriptor(proxyObj, 'p2').value;"
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
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 8 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
5 8 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
RuntimeVisibleAnnotations:
org.junit.Test()
public void objectGetOwnPropertyDescriptors();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
ldc "p1"
bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
ldc "p2"
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 1
ldc "p3"
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 5: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
iconst_3
anewarray java.lang.String
dup
iconst_0
6: ldc "p1"
aastore
dup
iconst_1
ldc "p2"
aastore
dup
iconst_2
ldc "p3"
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "var D = Object.getOwnPropertyDescriptors(proxyObj); Object.keys(D);"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
ldc Ljava/util/List;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
iconst_3
anewarray java.lang.Integer
dup
iconst_0
7: bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "var D = Object.getOwnPropertyDescriptors(proxyObj); Object.values(D).map(d => d.value);"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
ldc Ljava/util/List;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 9 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
5 9 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
RuntimeVisibleAnnotations:
org.junit.Test()
public void objectFromEntries();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyArr"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "p1"
aastore
dup
iconst_1
bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic org.graalvm.polyglot.proxy.ProxyArray.fromArray:([Ljava/lang/Object;)Lorg/graalvm/polyglot/proxy/ProxyArray;
aastore
dup
iconst_1
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "p2"
aastore
dup
iconst_1
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic org.graalvm.polyglot.proxy.ProxyArray.fromArray:([Ljava/lang/Object;)Lorg/graalvm/polyglot/proxy/ProxyArray;
aastore
dup
iconst_2
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "p3"
aastore
dup
iconst_1
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic org.graalvm.polyglot.proxy.ProxyArray.fromArray:([Ljava/lang/Object;)Lorg/graalvm/polyglot/proxy/ProxyArray;
aastore
invokestatic org.graalvm.polyglot.proxy.ProxyArray.fromArray:([Ljava/lang/Object;)Lorg/graalvm/polyglot/proxy/ProxyArray;
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
iconst_3
anewarray java.lang.String
dup
iconst_0
1: ldc "p1"
aastore
dup
iconst_1
ldc "p2"
aastore
dup
iconst_2
ldc "p3"
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "Object.keys(Object.fromEntries(proxyArr));"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
ldc Ljava/util/List;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
iconst_3
anewarray java.lang.Integer
dup
iconst_0
2: bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "Object.values(Object.fromEntries(proxyArr));"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
ldc Ljava/util/List;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void writeNumericMemberAsNumber();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "proxyObj[42] = 'foo'"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
4: aload 1
ldc "42"
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Value
astore 3
start local 3 5: aload 3
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
ldc "foo"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 7 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
2 7 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
5 7 3 value Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void writeNumericMemberAsString();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "proxyObj['42'] = 'foo'"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
4: aload 1
ldc "42"
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Value
astore 3
start local 3 5: aload 3
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
ldc "foo"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 7 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
2 7 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
5 7 3 value Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void readNumericMemberAsNumber();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
ldc "42"
ldc "foo"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
4: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "proxyObj[42]"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 3
start local 3 5: aload 3
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
ldc "foo"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 7 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
3 7 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
5 7 3 value Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void readNumericMemberAsString();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
ldc "42"
ldc "foo"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
4: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "proxyObj['42']"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 3
start local 3 5: aload 3
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
ldc "foo"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 7 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
3 7 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
5 7 3 value Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void proxyObjectToString();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
ldc "42"
ldc "foo"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "proxyObj"
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
4: aload 0
getfield com.oracle.truffle.js.test.interop.ProxyObjectTest.context:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "proxyObj.toString = function() { return 'executed'; }; ''+proxyObj;"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 3
start local 3 5: aload 3
invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
ldc "executed"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/test/interop/ProxyObjectTest;
1 7 1 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
3 7 2 proxyObject Lorg/graalvm/polyglot/proxy/ProxyObject;
5 7 3 value Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ProxyObjectTest.java"
InnerClasses:
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context