class com.oracle.truffle.object.CoreLocations$ObjectArrayLocation extends com.oracle.truffle.object.CoreLocations$ArrayLocation implements com.oracle.truffle.object.CoreLocations$ObjectLocation
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.object.CoreLocations$ObjectArrayLocation
  super_class: com.oracle.truffle.object.CoreLocations$ArrayLocation
{
  protected void <init>(int, com.oracle.truffle.object.CoreLocation);
    descriptor: (ILcom/oracle/truffle/object/CoreLocation;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
        start local 1 // int index
        start local 2 // com.oracle.truffle.object.CoreLocation arrayLocation
         0: .line 405
            aload 0 /* this */
            iload 1 /* index */
            aload 2 /* arrayLocation */
            invokespecial com.oracle.truffle.object.CoreLocations$ArrayLocation.<init>:(ILcom/oracle/truffle/object/CoreLocation;)V
         1: .line 406
            return
        end local 2 // com.oracle.truffle.object.CoreLocation arrayLocation
        end local 1 // int index
        end local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/oracle/truffle/object/CoreLocations$ObjectArrayLocation;
            0    2     1          index  I
            0    2     2  arrayLocation  Lcom/oracle/truffle/object/CoreLocation;
    MethodParameters:
               Name  Flags
      index          
      arrayLocation  

  public java.lang.Object get(com.oracle.truffle.api.object.DynamicObject, boolean);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
        start local 1 // com.oracle.truffle.api.object.DynamicObject store
        start local 2 // boolean condition
         0: .line 410
            aload 0 /* this */
            aload 1 /* store */
            iload 2 /* condition */
            invokevirtual com.oracle.truffle.object.CoreLocations$ObjectArrayLocation.getArray:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Ljava/lang/Object;
            checkcast java.lang.Object[]
            aload 0 /* this */
            getfield com.oracle.truffle.object.CoreLocations$ObjectArrayLocation.index:I
            aaload
            areturn
        end local 2 // boolean condition
        end local 1 // com.oracle.truffle.api.object.DynamicObject store
        end local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/object/CoreLocations$ObjectArrayLocation;
            0    1     1      store  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     2  condition  Z
    MethodParameters:
           Name  Flags
      store      
      condition  

  public final void setInternal(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, boolean);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
        start local 1 // com.oracle.truffle.api.object.DynamicObject store
        start local 2 // java.lang.Object value
        start local 3 // boolean condition
         0: .line 415
            aload 0 /* this */
            aload 1 /* store */
            iload 3 /* condition */
            invokevirtual com.oracle.truffle.object.CoreLocations$ObjectArrayLocation.getArray:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Ljava/lang/Object;
            checkcast java.lang.Object[]
            aload 0 /* this */
            getfield com.oracle.truffle.object.CoreLocations$ObjectArrayLocation.index:I
            aload 2 /* value */
            aastore
         1: .line 416
            return
        end local 3 // boolean condition
        end local 2 // java.lang.Object value
        end local 1 // com.oracle.truffle.api.object.DynamicObject store
        end local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/object/CoreLocations$ObjectArrayLocation;
            0    2     1      store  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     2      value  Ljava/lang/Object;
            0    2     3  condition  Z
    MethodParameters:
           Name  Flags
      store      
      value      
      condition  

  public boolean canStore(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
        start local 1 // java.lang.Object value
         0: .line 420
            iconst_1
            ireturn
        end local 1 // java.lang.Object value
        end local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/object/CoreLocations$ObjectArrayLocation;
            0    1     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.Class<? extends java.lang.Object> getType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
         0: .line 424
            ldc Ljava/lang/Object;
            areturn
        end local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/object/CoreLocations$ObjectArrayLocation;
    Signature: ()Ljava/lang/Class<+Ljava/lang/Object;>;

  public final boolean isNonNull();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
         0: .line 428
            iconst_0
            ireturn
        end local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/object/CoreLocations$ObjectArrayLocation;

  public int objectArrayCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
         0: .line 433
            iconst_1
            ireturn
        end local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/object/CoreLocations$ObjectArrayLocation;

  public final void accept(com.oracle.truffle.object.LocationImpl$LocationVisitor);
    descriptor: (Lcom/oracle/truffle/object/LocationImpl$LocationVisitor;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
        start local 1 // com.oracle.truffle.object.LocationImpl$LocationVisitor locationVisitor
         0: .line 438
            aload 1 /* locationVisitor */
            aload 0 /* this */
            getfield com.oracle.truffle.object.CoreLocations$ObjectArrayLocation.index:I
            iconst_1
            invokeinterface com.oracle.truffle.object.LocationImpl$LocationVisitor.visitObjectArray:(II)V
         1: .line 439
            return
        end local 1 // com.oracle.truffle.object.LocationImpl$LocationVisitor locationVisitor
        end local 0 // com.oracle.truffle.object.CoreLocations$ObjectArrayLocation this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lcom/oracle/truffle/object/CoreLocations$ObjectArrayLocation;
            0    2     1  locationVisitor  Lcom/oracle/truffle/object/LocationImpl$LocationVisitor;
    MethodParameters:
                 Name  Flags
      locationVisitor  
}
SourceFile: "CoreLocations.java"
NestHost: com.oracle.truffle.object.CoreLocations
InnerClasses:
  public abstract ArrayLocation = com.oracle.truffle.object.CoreLocations$ArrayLocation of com.oracle.truffle.object.CoreLocations
  ObjectArrayLocation = com.oracle.truffle.object.CoreLocations$ObjectArrayLocation of com.oracle.truffle.object.CoreLocations
  public abstract ObjectLocation = com.oracle.truffle.object.CoreLocations$ObjectLocation of com.oracle.truffle.object.CoreLocations
  public abstract LocationVisitor = com.oracle.truffle.object.LocationImpl$LocationVisitor of com.oracle.truffle.object.LocationImpl