public class com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest
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/ObjectFunctionBuiltinsInteropTest;
private static void verifyDescriptor(org.graalvm.polyglot.Value, boolean, boolean, boolean);
descriptor: (Lorg/graalvm/polyglot/Value;ZZZ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "enumerable"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
1: aload 0
ldc "enumerable"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 4
start local 4 2: aload 4
invokevirtual org.graalvm.polyglot.Value.isBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
3: aload 4
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
iload 1
if_icmpne 4
iconst_1
goto 5
StackMap locals: org.graalvm.polyglot.Value
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: invokestatic org.junit.Assert.assertTrue:(Z)V
6: aload 0
ldc "writable"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: aload 0
ldc "writable"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 8: aload 5
invokevirtual org.graalvm.polyglot.Value.isBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
9: aload 5
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
iload 2
if_icmpne 10
iconst_1
goto 11
StackMap locals: org.graalvm.polyglot.Value
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: invokestatic org.junit.Assert.assertTrue:(Z)V
12: aload 0
ldc "configurable"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
13: aload 0
ldc "configurable"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 14: aload 6
invokevirtual org.graalvm.polyglot.Value.isBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
15: aload 6
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
iload 3
if_icmpne 16
iconst_1
goto 17
StackMap locals: org.graalvm.polyglot.Value
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: invokestatic org.junit.Assert.assertTrue:(Z)V
18: return
end local 6 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 19 0 desc Lorg/graalvm/polyglot/Value;
0 19 1 expectedEnumerable Z
0 19 2 expectedWritable Z
0 19 3 expectedConfigurable Z
2 19 4 enumerable Lorg/graalvm/polyglot/Value;
8 19 5 writable Lorg/graalvm/polyglot/Value;
14 19 6 configurable Lorg/graalvm/polyglot/Value;
MethodParameters:
Name Flags
desc
expectedEnumerable
expectedWritable
expectedConfigurable
public void testGetOwnPropertyDescriptor();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, 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;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: ldc "Object.getOwnPropertyDescriptor(new java.awt.Point(42, 211), 'x')"
astore 4
start local 4 3: aload 3
ldc "js"
aload 4
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 4: aload 5
ldc "value"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: aload 5
ldc "value"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 6: aload 6
invokevirtual org.graalvm.polyglot.Value.isNumber:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: ldc 42
aload 6
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: aload 5
iconst_1
iconst_1
iconst_0
invokestatic com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest.verifyDescriptor:(Lorg/graalvm/polyglot/Value;ZZZ)V
9: ldc "Object.getOwnPropertyDescriptor(new java.awt.Point(42, 211), 'getY')"
astore 4
10: aload 3
ldc "js"
aload 4
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 5
11: aload 5
ldc "value"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
12: aload 5
ldc "value"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
13: aload 6
invokevirtual org.graalvm.polyglot.Value.canExecute:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
14: aload 5
iconst_1
iconst_0
iconst_0
invokestatic com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest.verifyDescriptor:(Lorg/graalvm/polyglot/Value;ZZZ)V
15: ldc "Object.getOwnPropertyDescriptor(new java.awt.Point(42, 211), 'z')"
astore 4
16: aload 3
ldc "js"
aload 4
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 5
17: aload 5
invokevirtual org.graalvm.polyglot.Value.isNull:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 6 end local 5 end local 4 18: aload 3
ifnull 24
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 24
StackMap locals: com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
19: astore 1
aload 3
ifnull 20
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
20: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 2
aload 1
ifnonnull 22
aload 2
astore 1
goto 23
StackMap locals:
StackMap stack:
22: aload 1
aload 2
if_acmpeq 23
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 1
athrow
24: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/truffle/js/test/interop/ObjectFunctionBuiltinsInteropTest;
2 20 3 context Lorg/graalvm/polyglot/Context;
3 18 4 code Ljava/lang/String;
4 18 5 desc Lorg/graalvm/polyglot/Value;
6 18 6 value Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
2 18 19 any
1 21 21 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testGetOwnPropertyDescriptorArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, 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;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: ldc "var byteArray = Java.type('byte[]'); var array = new byteArray(2); array[0] = 42; Object.getOwnPropertyDescriptor(array, 0)"
astore 4
start local 4 3: aload 3
ldc "js"
aload 4
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 4: aload 5
ldc "value"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: aload 5
ldc "value"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 6: aload 6
invokevirtual org.graalvm.polyglot.Value.isNumber:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: ldc 42
aload 6
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: aload 5
iconst_1
iconst_1
iconst_0
invokestatic com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest.verifyDescriptor:(Lorg/graalvm/polyglot/Value;ZZZ)V
9: ldc "var byteArray = Java.type('byte[]'); var array = new byteArray(2); array[0] = 42; Object.getOwnPropertyDescriptor(array, 2)"
astore 4
10: aload 3
ldc "js"
aload 4
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 5
11: aload 5
invokevirtual org.graalvm.polyglot.Value.isNull:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 6 end local 5 end local 4 12: aload 3
ifnull 18
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 18
StackMap locals: com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
13: astore 1
aload 3
ifnull 14
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
14: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 2
aload 1
ifnonnull 16
aload 2
astore 1
goto 17
StackMap locals:
StackMap stack:
16: aload 1
aload 2
if_acmpeq 17
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 1
athrow
18: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/js/test/interop/ObjectFunctionBuiltinsInteropTest;
2 14 3 context Lorg/graalvm/polyglot/Context;
3 12 4 code Ljava/lang/String;
4 12 5 desc Lorg/graalvm/polyglot/Value;
6 12 6 value Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
2 12 13 any
1 15 15 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testGetOwnPropertyDescriptors();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: ldc "Object.getOwnPropertyDescriptors(new java.awt.Point(42, 211))"
astore 4
start local 4 3: aload 3
ldc "js"
aload 4
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 4: aload 5
ldc "x"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: aload 5
ldc "x"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 6: aload 6
ldc "value"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: aload 6
ldc "value"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 7
start local 7 8: aload 7
invokevirtual org.graalvm.polyglot.Value.isNumber:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
9: ldc 42
aload 7
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: aload 6
iconst_1
iconst_1
iconst_0
invokestatic com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest.verifyDescriptor:(Lorg/graalvm/polyglot/Value;ZZZ)V
11: aload 5
ldc "getY"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
12: aload 5
ldc "getY"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
13: aload 6
ldc "value"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
14: aload 6
ldc "value"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 7
15: aload 7
invokevirtual org.graalvm.polyglot.Value.canExecute:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
16: aload 6
iconst_1
iconst_0
iconst_0
invokestatic com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest.verifyDescriptor:(Lorg/graalvm/polyglot/Value;ZZZ)V
17: aload 5
ldc "z"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
end local 7 end local 6 end local 5 end local 4 18: aload 3
ifnull 24
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 24
StackMap locals: com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
19: astore 1
aload 3
ifnull 20
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
20: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 2
aload 1
ifnonnull 22
aload 2
astore 1
goto 23
StackMap locals:
StackMap stack:
22: aload 1
aload 2
if_acmpeq 23
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 1
athrow
24: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/truffle/js/test/interop/ObjectFunctionBuiltinsInteropTest;
2 20 3 context Lorg/graalvm/polyglot/Context;
3 18 4 code Ljava/lang/String;
4 18 5 result Lorg/graalvm/polyglot/Value;
6 18 6 desc Lorg/graalvm/polyglot/Value;
8 18 7 value Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
2 18 19 any
1 21 21 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testGetOwnPropertyDescriptorsArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: ldc "var byteArray = Java.type('byte[]'); var array = new byteArray(2); array[0] = 42; Object.getOwnPropertyDescriptors(array)"
astore 4
start local 4 3: aload 3
ldc "js"
aload 4
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 5
start local 5 4: aload 5
ldc "0"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: aload 5
ldc "0"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 6: aload 6
ldc "value"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: aload 6
ldc "value"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 7
start local 7 8: aload 7
invokevirtual org.graalvm.polyglot.Value.isNumber:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
9: ldc 42
aload 7
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: aload 6
iconst_1
iconst_1
iconst_0
invokestatic com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest.verifyDescriptor:(Lorg/graalvm/polyglot/Value;ZZZ)V
11: aload 5
ldc "2"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
end local 7 end local 6 end local 5 end local 4 12: aload 3
ifnull 18
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 18
StackMap locals: com.oracle.truffle.js.test.interop.ObjectFunctionBuiltinsInteropTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
13: astore 1
aload 3
ifnull 14
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
14: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 2
aload 1
ifnonnull 16
aload 2
astore 1
goto 17
StackMap locals:
StackMap stack:
16: aload 1
aload 2
if_acmpeq 17
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 1
athrow
18: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/js/test/interop/ObjectFunctionBuiltinsInteropTest;
2 14 3 context Lorg/graalvm/polyglot/Context;
3 12 4 code Ljava/lang/String;
4 12 5 result Lorg/graalvm/polyglot/Value;
6 12 6 desc Lorg/graalvm/polyglot/Value;
8 12 7 value Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
2 12 13 any
1 15 15 any
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ObjectFunctionBuiltinsInteropTest.java"
InnerClasses:
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context