public final class com.oracle.truffle.js.runtime.objects.PropertyDescriptor
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.runtime.objects.PropertyDescriptor
super_class: java.lang.Object
{
private java.lang.Object data;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private int flags;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int ENUMERABLE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int WRITABLE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int CONFIGURABLE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int HAS_VALUE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int HAS_GET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int HAS_SET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int HAS_ENUMERABLE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final int HAS_WRITABLE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final int HAS_CONFIGURABLE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 256
public static final com.oracle.truffle.js.runtime.objects.PropertyDescriptor undefinedDataDesc;
descriptor: Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final com.oracle.truffle.js.runtime.objects.PropertyDescriptor undefinedDataDescNotConfigurable;
descriptor: Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.$assertionsDisabled:Z
3: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createDataDefault:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
putstatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.undefinedDataDesc:Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
4: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
iconst_1
iconst_1
iconst_0
invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createData:(Ljava/lang/Object;ZZZ)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
putstatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.undefinedDataDescNotConfigurable:Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor createEmpty();
descriptor: ()Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.oracle.truffle.js.runtime.objects.PropertyDescriptor
dup
invokespecial com.oracle.truffle.js.runtime.objects.PropertyDescriptor.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor createData(java.lang.Object, boolean, boolean, boolean);
descriptor: (Ljava/lang/Object;ZZZ)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.oracle.truffle.js.runtime.objects.PropertyDescriptor
dup
invokespecial com.oracle.truffle.js.runtime.objects.PropertyDescriptor.<init>:()V
astore 4
start local 4 1: aload 4
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setValue:(Ljava/lang/Object;)V
2: aload 4
iload 1
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setEnumerable:(Z)V
3: aload 4
iload 2
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setWritable:(Z)V
4: aload 4
iload 3
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setConfigurable:(Z)V
5: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 value Ljava/lang/Object;
0 6 1 isEnumerable Z
0 6 2 isWritable Z
0 6 3 isConfigurable Z
1 6 4 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
MethodParameters:
Name Flags
value
isEnumerable
isWritable
isConfigurable
public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor createData(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.objects.PropertyDescriptor
dup
invokespecial com.oracle.truffle.js.runtime.objects.PropertyDescriptor.<init>:()V
astore 2
start local 2 1: aload 2
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setValue:(Ljava/lang/Object;)V
2: aload 2
iload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSAttributes.isEnumerable:(I)Z
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setEnumerable:(Z)V
3: aload 2
iload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSAttributes.isWritable:(I)Z
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setWritable:(Z)V
4: aload 2
iload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSAttributes.isConfigurable:(I)Z
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setConfigurable:(Z)V
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 value Ljava/lang/Object;
0 6 1 attributes I
1 6 2 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
MethodParameters:
Name Flags
value
attributes
public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor createData(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.js.runtime.objects.PropertyDescriptor
dup
invokespecial com.oracle.truffle.js.runtime.objects.PropertyDescriptor.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setValue:(Ljava/lang/Object;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value Ljava/lang/Object;
1 3 1 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
MethodParameters:
Name Flags
value
public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor createDataDefault(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.js.runtime.objects.PropertyDescriptor
dup
invokespecial com.oracle.truffle.js.runtime.objects.PropertyDescriptor.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setValue:(Ljava/lang/Object;)V
2: aload 1
sipush 463
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 value Ljava/lang/Object;
1 4 1 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
MethodParameters:
Name Flags
value
public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor createAccessor(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.objects.PropertyDescriptor
dup
invokespecial com.oracle.truffle.js.runtime.objects.PropertyDescriptor.<init>:()V
astore 2
start local 2 1: aload 1
ifnull 3
2: aload 2
aload 1
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setSet:(Lcom/oracle/truffle/api/object/DynamicObject;)V
3: StackMap locals: com.oracle.truffle.js.runtime.objects.PropertyDescriptor
StackMap stack:
aload 0
ifnull 5
4: aload 2
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setGet:(Lcom/oracle/truffle/api/object/DynamicObject;)V
5: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 getter Lcom/oracle/truffle/api/object/DynamicObject;
0 6 1 setter Lcom/oracle/truffle/api/object/DynamicObject;
1 6 2 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
MethodParameters:
Name Flags
getter
setter
public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor createAccessor(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.DynamicObject, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;I)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createAccessor:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 3
start local 3 1: aload 3
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSAttributes.isEnumerable:(I)Z
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setEnumerable:(Z)V
2: aload 3
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSAttributes.isConfigurable:(I)Z
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setConfigurable:(Z)V
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 getter Lcom/oracle/truffle/api/object/DynamicObject;
0 4 1 setter Lcom/oracle/truffle/api/object/DynamicObject;
0 4 2 attributes I
1 4 3 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
MethodParameters:
Name Flags
getter
setter
attributes
public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor createAccessor(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.DynamicObject, boolean, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createAccessor:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 4
start local 4 1: aload 4
iload 2
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setEnumerable:(Z)V
2: aload 4
iload 3
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setConfigurable:(Z)V
3: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 getter Lcom/oracle/truffle/api/object/DynamicObject;
0 4 1 setter Lcom/oracle/truffle/api/object/DynamicObject;
0 4 2 isEnumerable Z
0 4 3 isConfigurable Z
1 4 4 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
MethodParameters:
Name Flags
getter
setter
isEnumerable
isConfigurable
public java.lang.Object getValue();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
instanceof com.oracle.truffle.js.runtime.objects.Accessor
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public void setValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
1: aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
bipush 8
ior
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 3 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public java.lang.Object getGet();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
instanceof com.oracle.truffle.js.runtime.objects.Accessor
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.objects.Accessor
invokevirtual com.oracle.truffle.js.runtime.objects.Accessor.getGetter:()Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public void setGet(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
instanceof com.oracle.truffle.js.runtime.objects.Accessor
ifeq 3
1: aload 0
new com.oracle.truffle.js.runtime.objects.Accessor
dup
aload 1
aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.objects.Accessor
invokevirtual com.oracle.truffle.js.runtime.objects.Accessor.getSetter:()Lcom/oracle/truffle/api/object/DynamicObject;
invokespecial com.oracle.truffle.js.runtime.objects.Accessor.<init>:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)V
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
new com.oracle.truffle.js.runtime.objects.Accessor
dup
aload 1
aconst_null
invokespecial com.oracle.truffle.js.runtime.objects.Accessor.<init>:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)V
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
bipush 16
ior
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 6 1 get Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
get
public java.lang.Object getSet();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
instanceof com.oracle.truffle.js.runtime.objects.Accessor
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.objects.Accessor
invokevirtual com.oracle.truffle.js.runtime.objects.Accessor.getSetter:()Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public void setSet(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
instanceof com.oracle.truffle.js.runtime.objects.Accessor
ifeq 3
1: aload 0
new com.oracle.truffle.js.runtime.objects.Accessor
dup
aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.objects.Accessor
invokevirtual com.oracle.truffle.js.runtime.objects.Accessor.getGetter:()Lcom/oracle/truffle/api/object/DynamicObject;
aload 1
invokespecial com.oracle.truffle.js.runtime.objects.Accessor.<init>:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)V
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
new com.oracle.truffle.js.runtime.objects.Accessor
dup
aconst_null
aload 1
invokespecial com.oracle.truffle.js.runtime.objects.Accessor.<init>:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)V
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
bipush 32
ior
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 6 1 set Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
set
public boolean getEnumerable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
iconst_1
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public boolean getIfHasEnumerable(boolean);
descriptor: (Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasEnumerable:()Z
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getEnumerable:()Z
ireturn
2: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 3 1 defaultValue Z
MethodParameters:
Name Flags
defaultValue
public void setEnumerable(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 3
1: aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
iconst_1
ior
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
bipush -2
iand
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
bipush 64
ior
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 6 1 enumerable Z
MethodParameters:
Name Flags
enumerable
public boolean getWritable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
iconst_2
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public boolean getIfHasWritable(boolean);
descriptor: (Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasWritable:()Z
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getWritable:()Z
ireturn
2: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 3 1 defaultValue Z
MethodParameters:
Name Flags
defaultValue
public void setWritable(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 3
1: aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
iconst_2
ior
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
bipush -3
iand
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
sipush 128
ior
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 6 1 writable Z
MethodParameters:
Name Flags
writable
public boolean getConfigurable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
iconst_4
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public boolean getIfHasConfigurable(boolean);
descriptor: (Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasConfigurable:()Z
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getConfigurable:()Z
ireturn
2: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 3 1 defaultValue Z
MethodParameters:
Name Flags
defaultValue
public void setConfigurable(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 3
1: aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
iconst_4
ior
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
bipush -5
iand
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
sipush 256
ior
putfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
0 6 1 configurable Z
MethodParameters:
Name Flags
configurable
public boolean hasSet();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
bipush 32
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public boolean hasGet();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
bipush 16
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public boolean hasValue();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
bipush 8
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public boolean hasEnumerable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
bipush 64
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public boolean hasWritable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
sipush 128
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public boolean hasConfigurable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.flags:I
sipush 256
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: new java.util.StringJoiner
dup
ldc ", "
ldc "PropertyDescriptor["
ldc "]"
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
astore 1
start local 1 1: ldc ": "
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasEnumerable:()Z
ifeq 4
3: aload 1
new java.lang.StringBuilder
dup
ldc "enumerable"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getEnumerable:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
4: StackMap locals: java.util.StringJoiner java.lang.String
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasConfigurable:()Z
ifeq 6
5: aload 1
new java.lang.StringBuilder
dup
ldc "configurable"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getConfigurable:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasWritable:()Z
ifeq 8
7: aload 1
new java.lang.StringBuilder
dup
ldc "writable"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getWritable:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasValue:()Z
ifeq 11
9: getstatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.$assertionsDisabled:Z
ifne 10
aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
instanceof com.oracle.truffle.js.runtime.objects.Accessor
ifeq 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "value"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasGet:()Z
ifeq 14
12: getstatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.$assertionsDisabled:Z
ifne 13
aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
instanceof com.oracle.truffle.js.runtime.objects.Accessor
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "get"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.objects.Accessor
invokevirtual com.oracle.truffle.js.runtime.objects.Accessor.getGetter:()Lcom/oracle/truffle/api/object/DynamicObject;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasSet:()Z
ifeq 17
15: getstatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.$assertionsDisabled:Z
ifne 16
aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
instanceof com.oracle.truffle.js.runtime.objects.Accessor
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "set"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.js.runtime.objects.PropertyDescriptor.data:Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.objects.Accessor
invokevirtual com.oracle.truffle.js.runtime.objects.Accessor.getSetter:()Lcom/oracle/truffle/api/object/DynamicObject;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
17: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
1 18 1 joiner Ljava/util/StringJoiner;
2 18 2 kvsep Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public boolean isAccessorDescriptor();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasGet:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasSet:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public boolean isDataDescriptor();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasValue:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasWritable:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public boolean isGenericDescriptor();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isAccessorDescriptor:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isDataDescriptor:()Z
ifeq 2
StackMap locals:
StackMap stack:
1: iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
public int getFlags();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getIfHasConfigurable:(Z)Z
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getIfHasEnumerable:(Z)Z
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getIfHasWritable:(Z)Z
invokestatic com.oracle.truffle.js.runtime.objects.JSAttributes.fromConfigurableEnumerableWritable:(ZZZ)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
}
SourceFile: "PropertyDescriptor.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives