public abstract class com.oracle.truffle.js.runtime.objects.JSClassObject extends com.oracle.truffle.js.runtime.objects.JSObject
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.runtime.objects.JSClassObject
  super_class: com.oracle.truffle.js.runtime.objects.JSObject
{
  protected void <init>(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // com.oracle.truffle.api.object.Shape shape
         0: .line 54
            aload 0 /* this */
            aload 1 /* shape */
            invokespecial com.oracle.truffle.js.runtime.objects.JSObject.<init>:(Lcom/oracle/truffle/api/object/Shape;)V
         1: .line 55
            return
        end local 1 // com.oracle.truffle.api.object.Shape shape
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    2     1  shape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
       Name  Flags
      shape  

  public java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
         0: .line 59
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getClassName:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;

  public com.oracle.truffle.js.runtime.objects.JSDynamicObject getPrototypeOf();
    descriptor: ()Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
         0: .line 64
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getPrototypeOf:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            checkcast com.oracle.truffle.js.runtime.objects.JSDynamicObject
            areturn
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;

  public boolean setPrototypeOf(com.oracle.truffle.js.runtime.objects.JSDynamicObject);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // com.oracle.truffle.js.runtime.objects.JSDynamicObject newPrototype
         0: .line 69
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* newPrototype */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.setPrototypeOf:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
        end local 1 // com.oracle.truffle.js.runtime.objects.JSDynamicObject newPrototype
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1  newPrototype  Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
    MethodParameters:
              Name  Flags
      newPrototype  

  public boolean isExtensible();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
         0: .line 74
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.isExtensible:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;

  public boolean preventExtensions(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // boolean doThrow
         0: .line 79
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            iload 1 /* doThrow */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.preventExtensions:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
            ireturn
        end local 1 // boolean doThrow
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1  doThrow  Z
    MethodParameters:
         Name  Flags
      doThrow  

  public com.oracle.truffle.js.runtime.objects.PropertyDescriptor getOwnProperty(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // java.lang.Object propertyKey
         0: .line 84
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* propertyKey */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
            areturn
        end local 1 // java.lang.Object propertyKey
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1  propertyKey  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      propertyKey  

  public boolean defineOwnProperty(java.lang.Object, com.oracle.truffle.js.runtime.objects.PropertyDescriptor, boolean);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // java.lang.Object key
        start local 2 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor value
        start local 3 // boolean doThrow
         0: .line 89
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            iload 3 /* doThrow */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.defineOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;Z)Z
            ireturn
        end local 3 // boolean doThrow
        end local 2 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor value
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1      key  Ljava/lang/Object;
            0    1     2    value  Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
            0    1     3  doThrow  Z
    MethodParameters:
         Name  Flags
      key      
      value    
      doThrow  

  public boolean hasProperty(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // java.lang.Object key
         0: .line 94
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public boolean hasProperty(long);
    descriptor: (J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // long index
         0: .line 99
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            lload 1 /* index */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;J)Z
            ireturn
        end local 1 // long index
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1  index  J
    MethodParameters:
       Name  Flags
      index  

  public boolean hasOwnProperty(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // java.lang.Object key
         0: .line 104
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.hasOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public boolean hasOwnProperty(long);
    descriptor: (J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // long index
         0: .line 109
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            lload 1 /* index */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.hasOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;J)Z
            ireturn
        end local 1 // long index
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1  index  J
    MethodParameters:
       Name  Flags
      index  

  public java.lang.Object getHelper(java.lang.Object, java.lang.Object, com.oracle.truffle.api.nodes.Node);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object key
        start local 3 // com.oracle.truffle.api.nodes.Node encapsulatingNode
         0: .line 114
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* receiver */
            aload 2 /* key */
            aload 3 /* encapsulatingNode */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getHelper:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            areturn
        end local 3 // com.oracle.truffle.api.nodes.Node encapsulatingNode
        end local 2 // java.lang.Object key
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1           receiver  Ljava/lang/Object;
            0    1     2                key  Ljava/lang/Object;
            0    1     3  encapsulatingNode  Lcom/oracle/truffle/api/nodes/Node;
    MethodParameters:
                   Name  Flags
      receiver           
      key                
      encapsulatingNode  

  public java.lang.Object getHelper(java.lang.Object, long, com.oracle.truffle.api.nodes.Node);
    descriptor: (Ljava/lang/Object;JLcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // java.lang.Object receiver
        start local 2 // long index
        start local 4 // com.oracle.truffle.api.nodes.Node encapsulatingNode
         0: .line 119
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* receiver */
            lload 2 /* index */
            aload 4 /* encapsulatingNode */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getHelper:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;JLcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            areturn
        end local 4 // com.oracle.truffle.api.nodes.Node encapsulatingNode
        end local 2 // long index
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1           receiver  Ljava/lang/Object;
            0    1     2              index  J
            0    1     4  encapsulatingNode  Lcom/oracle/truffle/api/nodes/Node;
    MethodParameters:
                   Name  Flags
      receiver           
      index              
      encapsulatingNode  

  public java.lang.Object getOwnHelper(java.lang.Object, java.lang.Object, com.oracle.truffle.api.nodes.Node);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object key
        start local 3 // com.oracle.truffle.api.nodes.Node encapsulatingNode
         0: .line 124
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* receiver */
            aload 2 /* key */
            aload 3 /* encapsulatingNode */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getOwnHelper:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            areturn
        end local 3 // com.oracle.truffle.api.nodes.Node encapsulatingNode
        end local 2 // java.lang.Object key
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1           receiver  Ljava/lang/Object;
            0    1     2                key  Ljava/lang/Object;
            0    1     3  encapsulatingNode  Lcom/oracle/truffle/api/nodes/Node;
    MethodParameters:
                   Name  Flags
      receiver           
      key                
      encapsulatingNode  

  public java.lang.Object getOwnHelper(java.lang.Object, long, com.oracle.truffle.api.nodes.Node);
    descriptor: (Ljava/lang/Object;JLcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // java.lang.Object receiver
        start local 2 // long index
        start local 4 // com.oracle.truffle.api.nodes.Node encapsulatingNode
         0: .line 129
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* receiver */
            lload 2 /* index */
            aload 4 /* encapsulatingNode */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getOwnHelper:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;JLcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            areturn
        end local 4 // com.oracle.truffle.api.nodes.Node encapsulatingNode
        end local 2 // long index
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1           receiver  Ljava/lang/Object;
            0    1     2              index  J
            0    1     4  encapsulatingNode  Lcom/oracle/truffle/api/nodes/Node;
    MethodParameters:
                   Name  Flags
      receiver           
      index              
      encapsulatingNode  

  public java.lang.Object getMethodHelper(java.lang.Object, java.lang.Object, com.oracle.truffle.api.nodes.Node);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object key
        start local 3 // com.oracle.truffle.api.nodes.Node encapsulatingNode
         0: .line 134
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* receiver */
            aload 2 /* key */
            aload 3 /* encapsulatingNode */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getMethodHelper:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            areturn
        end local 3 // com.oracle.truffle.api.nodes.Node encapsulatingNode
        end local 2 // java.lang.Object key
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1           receiver  Ljava/lang/Object;
            0    1     2                key  Ljava/lang/Object;
            0    1     3  encapsulatingNode  Lcom/oracle/truffle/api/nodes/Node;
    MethodParameters:
                   Name  Flags
      receiver           
      key                
      encapsulatingNode  

  public boolean set(java.lang.Object, java.lang.Object, java.lang.Object, boolean, com.oracle.truffle.api.nodes.Node);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
        start local 3 // java.lang.Object receiver
        start local 4 // boolean isStrict
        start local 5 // com.oracle.truffle.api.nodes.Node encapsulatingNode
         0: .line 139
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            aload 3 /* receiver */
            iload 4 /* isStrict */
            aload 5 /* encapsulatingNode */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
            ireturn
        end local 5 // com.oracle.truffle.api.nodes.Node encapsulatingNode
        end local 4 // boolean isStrict
        end local 3 // java.lang.Object receiver
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1                key  Ljava/lang/Object;
            0    1     2              value  Ljava/lang/Object;
            0    1     3           receiver  Ljava/lang/Object;
            0    1     4           isStrict  Z
            0    1     5  encapsulatingNode  Lcom/oracle/truffle/api/nodes/Node;
    MethodParameters:
                   Name  Flags
      key                
      value              
      receiver           
      isStrict           
      encapsulatingNode  

  public boolean set(long, java.lang.Object, java.lang.Object, boolean, com.oracle.truffle.api.nodes.Node);
    descriptor: (JLjava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // long index
        start local 3 // java.lang.Object value
        start local 4 // java.lang.Object receiver
        start local 5 // boolean isStrict
        start local 6 // com.oracle.truffle.api.nodes.Node encapsulatingNode
         0: .line 144
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            lload 1 /* index */
            aload 3 /* value */
            aload 4 /* receiver */
            iload 5 /* isStrict */
            aload 6 /* encapsulatingNode */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.set:(Lcom/oracle/truffle/api/object/DynamicObject;JLjava/lang/Object;Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;)Z
            ireturn
        end local 6 // com.oracle.truffle.api.nodes.Node encapsulatingNode
        end local 5 // boolean isStrict
        end local 4 // java.lang.Object receiver
        end local 3 // java.lang.Object value
        end local 1 // long index
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1              index  J
            0    1     3              value  Ljava/lang/Object;
            0    1     4           receiver  Ljava/lang/Object;
            0    1     5           isStrict  Z
            0    1     6  encapsulatingNode  Lcom/oracle/truffle/api/nodes/Node;
    MethodParameters:
                   Name  Flags
      index              
      value              
      receiver           
      isStrict           
      encapsulatingNode  

  public boolean delete(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // java.lang.Object key
        start local 2 // boolean isStrict
         0: .line 149
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* isStrict */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.delete:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Z)Z
            ireturn
        end local 2 // boolean isStrict
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1       key  Ljava/lang/Object;
            0    1     2  isStrict  Z
    MethodParameters:
          Name  Flags
      key       
      isStrict  

  public boolean delete(long, boolean);
    descriptor: (JZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // long index
        start local 3 // boolean isStrict
         0: .line 154
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            lload 1 /* index */
            iload 3 /* isStrict */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.delete:(Lcom/oracle/truffle/api/object/DynamicObject;JZ)Z
            ireturn
        end local 3 // boolean isStrict
        end local 1 // long index
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1     index  J
            0    1     3  isStrict  Z
    MethodParameters:
          Name  Flags
      index     
      isStrict  

  public java.util.List<java.lang.Object> getOwnPropertyKeys(boolean, boolean);
    descriptor: (ZZ)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // boolean strings
        start local 2 // boolean symbols
         0: .line 159
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            iload 1 /* strings */
            iload 2 /* symbols */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getOwnPropertyKeys:(Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Ljava/util/List;
            areturn
        end local 2 // boolean symbols
        end local 1 // boolean strings
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1  strings  Z
            0    1     2  symbols  Z
    Signature: (ZZ)Ljava/util/List<Ljava/lang/Object;>;
    MethodParameters:
         Name  Flags
      strings  
      symbols  

  public boolean hasOnlyShapeProperties();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
         0: .line 164
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.hasOnlyShapeProperties:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;

  public java.lang.String toDisplayStringImpl(int, boolean);
    descriptor: (IZ)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // int depth
        start local 2 // boolean allowSideEffects
         0: .line 169
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            iload 1 /* depth */
            iload 2 /* allowSideEffects */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.toDisplayStringImpl:(Lcom/oracle/truffle/api/object/DynamicObject;IZLcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/String;
            areturn
        end local 2 // boolean allowSideEffects
        end local 1 // int depth
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1             depth  I
            0    1     2  allowSideEffects  Z
    MethodParameters:
                  Name  Flags
      depth             
      allowSideEffects  

  public java.lang.String getBuiltinToStringTag();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
         0: .line 174
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getBuiltinToStringTag:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;

  public boolean setIntegrityLevel(boolean, boolean);
    descriptor: (ZZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // boolean freeze
        start local 2 // boolean doThrow
         0: .line 179
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            iload 1 /* freeze */
            iload 2 /* doThrow */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.setIntegrityLevel:(Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Z
            ireturn
        end local 2 // boolean doThrow
        end local 1 // boolean freeze
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1   freeze  Z
            0    1     2  doThrow  Z
    MethodParameters:
         Name  Flags
      freeze   
      doThrow  

  public boolean testIntegrityLevel(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
        start local 1 // boolean frozen
         0: .line 184
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            iload 1 /* frozen */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.testIntegrityLevel:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
            ireturn
        end local 1 // boolean frozen
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
            0    1     1  frozen  Z
    MethodParameters:
        Name  Flags
      frozen  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
         0: .line 189
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSClassObject.getJSClass:()Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.toString:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.objects.JSClassObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/objects/JSClassObject;
}
SourceFile: "JSClassObject.java"