abstract class com.oracle.truffle.js.runtime.builtins.JSArrayObject$GetMembers
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.runtime.builtins.JSArrayObject$GetMembers
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayObject$GetMembers this
         0: .line 106
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayObject$GetMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/JSArrayObject$GetMembers;

  public static java.lang.Object fastArray(com.oracle.truffle.js.runtime.builtins.JSArrayObject, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSArrayObject;Z)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayObject target
        start local 1 // boolean internal
         0: .line 110
            aload 0 /* target */
            aload 0 /* target */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSNonProxy.ordinaryOwnPropertyKeys:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            aload 0 /* target */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayObject.access$1:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Iterable;Lcom/oracle/truffle/js/runtime/builtins/JSClass;)[Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.interop.InteropArray.create:([Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/interop/InteropArray;
            areturn
        end local 1 // boolean internal
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayObject target
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0    target  Lcom/oracle/truffle/js/runtime/builtins/JSArrayObject;
            0    1     1  internal  Z
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"isJSFastArray(target)"})
    MethodParameters:
          Name  Flags
      target    
      internal  

  public static java.lang.Object slowArray(com.oracle.truffle.js.runtime.builtins.JSArrayObject, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSArrayObject;Z)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayObject target
        start local 1 // boolean internal
         0: .line 116
            aload 0 /* target */
            aload 0 /* target */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.ownPropertyKeys:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            aload 0 /* target */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayObject.access$1:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Iterable;Lcom/oracle/truffle/js/runtime/builtins/JSClass;)[Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.interop.InteropArray.create:([Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/interop/InteropArray;
            areturn
        end local 1 // boolean internal
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayObject target
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0    target  Lcom/oracle/truffle/js/runtime/builtins/JSArrayObject;
            0    1     1  internal  Z
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"!isJSFastArray(target)"})
    MethodParameters:
          Name  Flags
      target    
      internal  
}
SourceFile: "JSArrayObject.java"
NestHost: com.oracle.truffle.js.runtime.builtins.JSArrayObject
InnerClasses:
  abstract GetMembers = com.oracle.truffle.js.runtime.builtins.JSArrayObject$GetMembers of com.oracle.truffle.js.runtime.builtins.JSArrayObject
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/nodes/JSGuards;, Lcom/oracle/truffle/js/runtime/objects/JSObject;})