public abstract class jdk.nashorn.internal.runtime.Property implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.nashorn.internal.runtime.Property
  super_class: java.lang.Object
{
  public static final int WRITABLE_ENUMERABLE_CONFIGURABLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int NOT_WRITABLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int NOT_ENUMERABLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int NOT_CONFIGURABLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int MODIFY_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int IS_PARAMETER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int HAS_ARGUMENTS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int IS_FUNCTION_DECLARATION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  public static final int IS_NASGEN_PRIMITIVE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  public static final int IS_BUILTIN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  public static final int IS_BOUND;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  public static final int NEEDS_DECLARATION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  public static final int IS_LEXICAL_BINDING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  public static final int DUAL_FIELDS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2048

  public static final int IS_ACCESSOR_PROPERTY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4096

  private final java.lang.Object key;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int flags;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final int slot;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.Class<?> type;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Class<*>;

  protected transient java.lang.invoke.SwitchPoint builtinSwitchPoint;
    descriptor: Ljava/lang/invoke/SwitchPoint;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2099814273074501176

  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=1, locals=0, args_size=0
         0: .line 46
            ldc Ljdk/nashorn/internal/runtime/Property;
            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 jdk.nashorn.internal.runtime.Property.$assertionsDisabled:Z
         3: .line 124
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;II)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // java.lang.Object key
        start local 2 // int flags
        start local 3 // int slot
         0: .line 133
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 134
            getstatic jdk.nashorn.internal.runtime.Property.$assertionsDisabled:Z
            ifne 2
            aload 1 /* key */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 135
      StackMap locals: jdk.nashorn.internal.runtime.Property java.lang.Object int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            putfield jdk.nashorn.internal.runtime.Property.key:Ljava/lang/Object;
         3: .line 136
            aload 0 /* this */
            iload 2 /* flags */
            putfield jdk.nashorn.internal.runtime.Property.flags:I
         4: .line 137
            aload 0 /* this */
            iload 3 /* slot */
            putfield jdk.nashorn.internal.runtime.Property.slot:I
         5: .line 138
            return
        end local 3 // int slot
        end local 2 // int flags
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljdk/nashorn/internal/runtime/Property;
            0    6     1    key  Ljava/lang/Object;
            0    6     2  flags  I
            0    6     3   slot  I
    MethodParameters:
       Name  Flags
      key    final
      flags  final
      slot   final

  void <init>(jdk.nashorn.internal.runtime.Property, int);
    descriptor: (Ljdk/nashorn/internal/runtime/Property;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // jdk.nashorn.internal.runtime.Property property
        start local 2 // int flags
         0: .line 145
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 146
            aload 0 /* this */
            aload 1 /* property */
            getfield jdk.nashorn.internal.runtime.Property.key:Ljava/lang/Object;
            putfield jdk.nashorn.internal.runtime.Property.key:Ljava/lang/Object;
         2: .line 147
            aload 0 /* this */
            aload 1 /* property */
            getfield jdk.nashorn.internal.runtime.Property.slot:I
            putfield jdk.nashorn.internal.runtime.Property.slot:I
         3: .line 148
            aload 0 /* this */
            aload 1 /* property */
            getfield jdk.nashorn.internal.runtime.Property.builtinSwitchPoint:Ljava/lang/invoke/SwitchPoint;
            putfield jdk.nashorn.internal.runtime.Property.builtinSwitchPoint:Ljava/lang/invoke/SwitchPoint;
         4: .line 149
            aload 0 /* this */
            iload 2 /* flags */
            putfield jdk.nashorn.internal.runtime.Property.flags:I
         5: .line 150
            return
        end local 2 // int flags
        end local 1 // jdk.nashorn.internal.runtime.Property property
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljdk/nashorn/internal/runtime/Property;
            0    6     1  property  Ljdk/nashorn/internal/runtime/Property;
            0    6     2     flags  I
    MethodParameters:
          Name  Flags
      property  final
      flags     final

  public abstract jdk.nashorn.internal.runtime.Property copy();
    descriptor: ()Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.nashorn.internal.runtime.Property copy(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;)Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
         Name  Flags
      newType  final

  static int mergeFlags(jdk.nashorn.internal.runtime.PropertyDescriptor, jdk.nashorn.internal.runtime.PropertyDescriptor);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyDescriptor;Ljdk/nashorn/internal/runtime/PropertyDescriptor;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.PropertyDescriptor oldDesc
        start local 1 // jdk.nashorn.internal.runtime.PropertyDescriptor newDesc
         0: .line 176
            iconst_0
            istore 2 /* propFlags */
        start local 2 // int propFlags
         1: .line 179
            aload 1 /* newDesc */
            ldc "configurable"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 2
            aload 1 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isConfigurable:()Z
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* oldDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isConfigurable:()Z
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* value */
        start local 3 // boolean value
         4: .line 180
            iload 3 /* value */
            ifne 6
         5: .line 181
            iload 2 /* propFlags */
            iconst_4
            ior
            istore 2 /* propFlags */
         6: .line 184
      StackMap locals: int
      StackMap stack:
            aload 1 /* newDesc */
            ldc "enumerable"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 7
            aload 1 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isEnumerable:()Z
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* oldDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isEnumerable:()Z
      StackMap locals:
      StackMap stack: int
         8: istore 3 /* value */
         9: .line 185
            iload 3 /* value */
            ifne 11
        10: .line 186
            iload 2 /* propFlags */
            iconst_2
            ior
            istore 2 /* propFlags */
        11: .line 189
      StackMap locals:
      StackMap stack:
            aload 1 /* newDesc */
            ldc "writable"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 12
            aload 1 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isWritable:()Z
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 0 /* oldDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isWritable:()Z
      StackMap locals:
      StackMap stack: int
        13: istore 3 /* value */
        14: .line 190
            iload 3 /* value */
            ifne 16
        15: .line 191
            iload 2 /* propFlags */
            iconst_1
            ior
            istore 2 /* propFlags */
        16: .line 194
      StackMap locals:
      StackMap stack:
            iload 2 /* propFlags */
            ireturn
        end local 3 // boolean value
        end local 2 // int propFlags
        end local 1 // jdk.nashorn.internal.runtime.PropertyDescriptor newDesc
        end local 0 // jdk.nashorn.internal.runtime.PropertyDescriptor oldDesc
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0    oldDesc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            0   17     1    newDesc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            1   17     2  propFlags  I
            4   17     3      value  Z
    MethodParameters:
         Name  Flags
      oldDesc  final
      newDesc  final

  public final void setBuiltinSwitchPoint(java.lang.invoke.SwitchPoint);
    descriptor: (Ljava/lang/invoke/SwitchPoint;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // java.lang.invoke.SwitchPoint sp
         0: .line 204
            aload 0 /* this */
            aload 1 /* sp */
            putfield jdk.nashorn.internal.runtime.Property.builtinSwitchPoint:Ljava/lang/invoke/SwitchPoint;
         1: .line 205
            return
        end local 1 // java.lang.invoke.SwitchPoint sp
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;
            0    2     1    sp  Ljava/lang/invoke/SwitchPoint;
    MethodParameters:
      Name  Flags
      sp    final

  public final java.lang.invoke.SwitchPoint getBuiltinSwitchPoint();
    descriptor: ()Ljava/lang/invoke/SwitchPoint;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 213
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.builtinSwitchPoint:Ljava/lang/invoke/SwitchPoint;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean isBuiltin();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 222
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.builtinSwitchPoint:Ljava/lang/invoke/SwitchPoint;
            ifnull 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.builtinSwitchPoint:Ljava/lang/invoke/SwitchPoint;
            invokevirtual java.lang.invoke.SwitchPoint.hasBeenInvalidated:()Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;

  static int toFlags(jdk.nashorn.internal.runtime.PropertyDescriptor);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyDescriptor;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.PropertyDescriptor desc
         0: .line 233
            iconst_0
            istore 1 /* propFlags */
        start local 1 // int propFlags
         1: .line 235
            aload 0 /* desc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isConfigurable:()Z
            ifne 3
         2: .line 236
            iload 1 /* propFlags */
            iconst_4
            ior
            istore 1 /* propFlags */
         3: .line 238
      StackMap locals: int
      StackMap stack:
            aload 0 /* desc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isEnumerable:()Z
            ifne 5
         4: .line 239
            iload 1 /* propFlags */
            iconst_2
            ior
            istore 1 /* propFlags */
         5: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* desc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isWritable:()Z
            ifne 7
         6: .line 242
            iload 1 /* propFlags */
            iconst_1
            ior
            istore 1 /* propFlags */
         7: .line 245
      StackMap locals:
      StackMap stack:
            iload 1 /* propFlags */
            ireturn
        end local 1 // int propFlags
        end local 0 // jdk.nashorn.internal.runtime.PropertyDescriptor desc
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       desc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            1    8     1  propFlags  I
    MethodParameters:
      Name  Flags
      desc  final

  public boolean hasGetterFunction(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject obj
         0: .line 254
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject obj
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;
            0    1     1   obj  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
      Name  Flags
      obj   final

  public boolean hasSetterFunction(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject obj
         0: .line 263
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject obj
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;
            0    1     1   obj  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
      Name  Flags
      obj   final

  public boolean isWritable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 271
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            iconst_1
            iand
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean isConfigurable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 279
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            iconst_4
            iand
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean isEnumerable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 287
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            iconst_2
            iand
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean isParameter();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 295
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            bipush 8
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean hasArguments();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 303
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            bipush 16
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean isSpill();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 315
            iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean isBound();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 325
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            sipush 256
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean needsDeclaration();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 334
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            sipush 512
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;

  public jdk.nashorn.internal.runtime.Property addFlags(int);
    descriptor: (I)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // int propertyFlags
         0: .line 346
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            iload 1 /* propertyFlags */
            iand
            iload 1 /* propertyFlags */
            if_icmpeq 4
         1: .line 347
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.copy:()Ljdk/nashorn/internal/runtime/Property;
            astore 2 /* cloned */
        start local 2 // jdk.nashorn.internal.runtime.Property cloned
         2: .line 348
            aload 2 /* cloned */
            dup
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            iload 1 /* propertyFlags */
            ior
            putfield jdk.nashorn.internal.runtime.Property.flags:I
         3: .line 349
            aload 2 /* cloned */
            areturn
        end local 2 // jdk.nashorn.internal.runtime.Property cloned
         4: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // int propertyFlags
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Ljdk/nashorn/internal/runtime/Property;
            0    5     1  propertyFlags  I
            2    4     2         cloned  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
               Name  Flags
      propertyFlags  final

  public int getFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 359
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;

  public jdk.nashorn.internal.runtime.Property removeFlags(int);
    descriptor: (I)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // int propertyFlags
         0: .line 371
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            iload 1 /* propertyFlags */
            iand
            ifeq 4
         1: .line 372
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.copy:()Ljdk/nashorn/internal/runtime/Property;
            astore 2 /* cloned */
        start local 2 // jdk.nashorn.internal.runtime.Property cloned
         2: .line 373
            aload 2 /* cloned */
            dup
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            iload 1 /* propertyFlags */
            iconst_m1
            ixor
            iand
            putfield jdk.nashorn.internal.runtime.Property.flags:I
         3: .line 374
            aload 2 /* cloned */
            areturn
        end local 2 // jdk.nashorn.internal.runtime.Property cloned
         4: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // int propertyFlags
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Ljdk/nashorn/internal/runtime/Property;
            0    5     1  propertyFlags  I
            2    4     2         cloned  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
               Name  Flags
      propertyFlags  final

  public jdk.nashorn.internal.runtime.Property setFlags(int);
    descriptor: (I)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // int propertyFlags
         0: .line 388
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            iload 1 /* propertyFlags */
            if_icmpeq 5
         1: .line 389
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.copy:()Ljdk/nashorn/internal/runtime/Property;
            astore 2 /* cloned */
        start local 2 // jdk.nashorn.internal.runtime.Property cloned
         2: .line 390
            aload 2 /* cloned */
            dup
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            bipush -8
            iand
            putfield jdk.nashorn.internal.runtime.Property.flags:I
         3: .line 391
            aload 2 /* cloned */
            dup
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            iload 1 /* propertyFlags */
            bipush 7
            iand
            ior
            putfield jdk.nashorn.internal.runtime.Property.flags:I
         4: .line 392
            aload 2 /* cloned */
            areturn
        end local 2 // jdk.nashorn.internal.runtime.Property cloned
         5: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // int propertyFlags
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Ljdk/nashorn/internal/runtime/Property;
            0    6     1  propertyFlags  I
            2    5     2         cloned  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
               Name  Flags
      propertyFlags  final

  public abstract java.lang.invoke.MethodHandle getGetter(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      type  final

  public abstract java.lang.invoke.MethodHandle getOptimisticGetter(java.lang.Class<?>, int);
    descriptor: (Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;I)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
              Name  Flags
      type          final
      programPoint  final

  abstract void initMethodHandles(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0400) ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
           Name  Flags
      structure  final

  public java.lang.Object getKey();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 427
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.key:Ljava/lang/Object;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;

  public int getSlot();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 435
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.slot:I
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;

  public abstract int getIntValue(jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      self   final
      owner  final

  public abstract double getDoubleValue(jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;)D
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      self   final
      owner  final

  public abstract java.lang.Object getObjectValue(jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      self   final
      owner  final

  public abstract void setValue(jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.ScriptObject, int, boolean);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;IZ)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      self    final
      owner   final
      value   final
      strict  final

  public abstract void setValue(jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.ScriptObject, double, boolean);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;DZ)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      self    final
      owner   final
      value   final
      strict  final

  public abstract void setValue(jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.ScriptObject, java.lang.Object, boolean);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/Object;Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      self    final
      owner   final
      value   final
      strict  final

  public abstract boolean hasNativeSetter();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.invoke.MethodHandle getSetter(java.lang.Class<?>, jdk.nashorn.internal.runtime.PropertyMap);
    descriptor: (Ljava/lang/Class;Ljdk/nashorn/internal/runtime/PropertyMap;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;Ljdk/nashorn/internal/runtime/PropertyMap;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
            Name  Flags
      type        final
      currentMap  final

  public jdk.nashorn.internal.runtime.ScriptFunction getGetterFunction(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject obj
         0: .line 542
            aconst_null
            areturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject obj
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;
            0    1     1   obj  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
      Name  Flags
      obj   final

  public jdk.nashorn.internal.runtime.ScriptFunction getSetterFunction(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject obj
         0: .line 552
            aconst_null
            areturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject obj
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;
            0    1     1   obj  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
      Name  Flags
      obj   final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 557
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getLocalType:()Ljava/lang/Class;
            astore 1 /* t */
        start local 1 // java.lang.Class t
         1: .line 558
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.key:Ljava/lang/Object;
            invokestatic java.util.Objects.hashCode:(Ljava/lang/Object;)I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            ixor
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getSlot:()I
            ixor
            aload 1 /* t */
            ifnonnull 2
            iconst_0
            goto 3
      StackMap locals: jdk.nashorn.internal.runtime.Property java.lang.Class
      StackMap stack: int
         2: aload 1 /* t */
            invokevirtual java.lang.Object.hashCode:()I
      StackMap locals: jdk.nashorn.internal.runtime.Property java.lang.Class
      StackMap stack: int int
         3: ixor
            ireturn
        end local 1 // java.lang.Class t
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/runtime/Property;
            1    4     1     t  Ljava/lang/Class<*>;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // java.lang.Object other
         0: .line 563
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 564
            iconst_1
            ireturn
         2: .line 567
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            ifnull 3
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* other */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 4
         3: .line 568
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 571
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast jdk.nashorn.internal.runtime.Property
            astore 2 /* otherProperty */
        start local 2 // jdk.nashorn.internal.runtime.Property otherProperty
         5: .line 573
            aload 0 /* this */
            aload 2 /* otherProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.equalsWithoutType:(Ljdk/nashorn/internal/runtime/Property;)Z
            ifeq 8
         6: .line 574
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getLocalType:()Ljava/lang/Class;
            aload 2 /* otherProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.getLocalType:()Ljava/lang/Class;
            if_acmpne 8
         7: .line 573
            iconst_1
            ireturn
      StackMap locals: jdk.nashorn.internal.runtime.Property
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.runtime.Property otherProperty
        end local 1 // java.lang.Object other
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Ljdk/nashorn/internal/runtime/Property;
            0    9     1          other  Ljava/lang/Object;
            5    9     2  otherProperty  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
       Name  Flags
      other  final

  boolean equalsWithoutType(jdk.nashorn.internal.runtime.Property);
    descriptor: (Ljdk/nashorn/internal/runtime/Property;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // jdk.nashorn.internal.runtime.Property otherProperty
         0: .line 578
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getFlags:()I
            aload 1 /* otherProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.getFlags:()I
            if_icmpne 4
         1: .line 579
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getSlot:()I
            aload 1 /* otherProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.getSlot:()I
            if_icmpne 4
         2: .line 580
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            aload 1 /* otherProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 578
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.runtime.Property otherProperty
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Ljdk/nashorn/internal/runtime/Property;
            0    5     1  otherProperty  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
               Name  Flags
      otherProperty  final

  private static java.lang.String type(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class type
         0: .line 584
            aload 0 /* type */
            ifnonnull 2
         1: .line 585
            ldc "undef"
            areturn
         2: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 4
         3: .line 587
            ldc "i"
            areturn
         4: .line 588
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 6
         5: .line 589
            ldc "d"
            areturn
         6: .line 591
      StackMap locals:
      StackMap stack:
            ldc "o"
            areturn
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  final

  public final java.lang.String toStringShort();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 600
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 601
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getLocalType:()Ljava/lang/Class;
            astore 2 /* t */
        start local 2 // java.lang.Class t
         2: .line 602
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* t */
            invokestatic jdk.nashorn.internal.runtime.Property.type:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 603
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.Class t
        end local 1 // java.lang.StringBuilder sb
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/runtime/Property;
            1    4     1    sb  Ljava/lang/StringBuilder;
            2    4     2     t  Ljava/lang/Class<*>;

  private static java.lang.String indent(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String str
        start local 1 // int indent
         0: .line 607
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 608
            aload 2 /* sb */
            aload 0 /* str */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 609
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 610
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 609
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* indent */
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            isub
            if_icmplt 4
        end local 3 // int i
         7: .line 612
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // int indent
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0     str  Ljava/lang/String;
            0    8     1  indent  I
            1    8     2      sb  Ljava/lang/StringBuilder;
            3    7     3       i  I
    MethodParameters:
        Name  Flags
      str     final
      indent  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 617
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 618
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getLocalType:()Ljava/lang/Class;
            astore 2 /* t */
        start local 2 // java.lang.Class t
         2: .line 620
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            bipush 20
            invokestatic jdk.nashorn.internal.runtime.Property.indent:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 621
            ldc " id="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 622
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.Debug.id:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 623
            ldc " (0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 624
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            iconst_4
            invokestatic jdk.nashorn.internal.runtime.Property.indent:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 625
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 626
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 627
            ldc " {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 628
            aload 2 /* t */
            invokestatic jdk.nashorn.internal.runtime.Property.type:(Ljava/lang/Class;)Ljava/lang/String;
            iconst_5
            invokestatic jdk.nashorn.internal.runtime.Property.indent:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 629
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 631
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.slot:I
            iconst_m1
            if_icmpeq 17
        13: .line 632
            aload 1 /* sb */
            ldc " ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 633
            ldc "slot="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 634
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.slot:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        16: .line 635
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        17: .line 638
      StackMap locals: java.lang.StringBuilder java.lang.Class
      StackMap stack:
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.Class t
        end local 1 // java.lang.StringBuilder sb
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljdk/nashorn/internal/runtime/Property;
            1   18     1    sb  Ljava/lang/StringBuilder;
            2   18     2     t  Ljava/lang/Class<*>;

  public final java.lang.Class<?> getType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 654
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.type:Ljava/lang/Class;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;
    Signature: ()Ljava/lang/Class<*>;

  public final void setType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Property this
        start local 1 // java.lang.Class type
         0: .line 662
            getstatic jdk.nashorn.internal.runtime.Property.$assertionsDisabled:Z
            ifne 1
            aload 1 /* type */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 1
            new java.lang.AssertionError
            dup
            ldc "no boolean storage support yet - fix this"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 663
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            ifnonnull 2
            aconst_null
            goto 4
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.Property
         2: aload 1 /* type */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 3
            aload 1 /* type */
            goto 4
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.Property
         3: ldc Ljava/lang/Object;
      StackMap locals: jdk.nashorn.internal.runtime.Property java.lang.Class
      StackMap stack: jdk.nashorn.internal.runtime.Property java.lang.Class
         4: putfield jdk.nashorn.internal.runtime.Property.type:Ljava/lang/Class;
         5: .line 664
            return
        end local 1 // java.lang.Class type
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/nashorn/internal/runtime/Property;
            0    6     1  type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
      Name  Flags
      type  final

  protected java.lang.Class<?> getLocalType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 674
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getType:()Ljava/lang/Class;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;
    Signature: ()Ljava/lang/Class<*>;

  public boolean canChangeType();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 683
            iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean isFunctionDeclaration();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 691
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            bipush 32
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean isLexicalBinding();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 699
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            sipush 1024
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean hasDualFields();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 707
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            sipush 2048
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;

  public boolean isAccessorProperty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Property this
         0: .line 715
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Property.flags:I
            sipush 4096
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Property;
}
SourceFile: "Property.java"