public class jdk.vm.ci.meta.LocalVariableTable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.vm.ci.meta.LocalVariableTable
  super_class: java.lang.Object
{
  private final jdk.vm.ci.meta.Local[] locals;
    descriptor: [Ljdk/vm/ci/meta/Local;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(jdk.vm.ci.meta.Local[]);
    descriptor: ([Ljdk/vm/ci/meta/Local;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.meta.LocalVariableTable this
        start local 1 // jdk.vm.ci.meta.Local[] locals
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 0 /* this */
            aload 1 /* locals */
            putfield jdk.vm.ci.meta.LocalVariableTable.locals:[Ljdk/vm/ci/meta/Local;
         2: .line 46
            return
        end local 1 // jdk.vm.ci.meta.Local[] locals
        end local 0 // jdk.vm.ci.meta.LocalVariableTable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/vm/ci/meta/LocalVariableTable;
            0    3     1  locals  [Ljdk/vm/ci/meta/Local;
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.meta.SuppressFBWarnings(value = {"EI_EXPOSE_REP2"}, justification = "caller transfers ownership of `locals`")
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        jdk.vm.ci.meta.SuppressFBWarnings(value = {"EI_EXPOSE_REP2"}, justification = "caller transfers ownership of `locals`")
    MethodParameters:
        Name  Flags
      locals  

  public jdk.vm.ci.meta.Local getLocal(int, int);
    descriptor: (II)Ljdk/vm/ci/meta/Local;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // jdk.vm.ci.meta.LocalVariableTable this
        start local 1 // int slot
        start local 2 // int bci
         0: .line 56
            aconst_null
            astore 3 /* result */
        start local 3 // jdk.vm.ci.meta.Local result
         1: .line 57
            aload 0 /* this */
            getfield jdk.vm.ci.meta.LocalVariableTable.locals:[Ljdk/vm/ci/meta/Local;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: jdk.vm.ci.meta.LocalVariableTable int int jdk.vm.ci.meta.Local top int int jdk.vm.ci.meta.Local[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* local */
        start local 4 // jdk.vm.ci.meta.Local local
         3: .line 58
            aload 4 /* local */
            invokevirtual jdk.vm.ci.meta.Local.getSlot:()I
            iload 1 /* slot */
            if_icmpne 8
            aload 4 /* local */
            invokevirtual jdk.vm.ci.meta.Local.getStartBCI:()I
            iload 2 /* bci */
            if_icmpgt 8
            aload 4 /* local */
            invokevirtual jdk.vm.ci.meta.Local.getEndBCI:()I
            iload 2 /* bci */
            if_icmplt 8
         4: .line 59
            aload 3 /* result */
            ifnonnull 7
         5: .line 60
            aload 4 /* local */
            astore 3 /* result */
         6: .line 61
            goto 8
         7: .line 62
      StackMap locals: jdk.vm.ci.meta.LocalVariableTable int int jdk.vm.ci.meta.Local jdk.vm.ci.meta.Local int int jdk.vm.ci.meta.Local[]
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Locals overlap!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // jdk.vm.ci.meta.Local local
         8: .line 57
      StackMap locals: jdk.vm.ci.meta.LocalVariableTable int int jdk.vm.ci.meta.Local top int int jdk.vm.ci.meta.Local[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 2
        10: .line 66
            aload 3 /* result */
            areturn
        end local 3 // jdk.vm.ci.meta.Local result
        end local 2 // int bci
        end local 1 // int slot
        end local 0 // jdk.vm.ci.meta.LocalVariableTable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Ljdk/vm/ci/meta/LocalVariableTable;
            0   11     1    slot  I
            0   11     2     bci  I
            1   11     3  result  Ljdk/vm/ci/meta/Local;
            3    8     4   local  Ljdk/vm/ci/meta/Local;
    MethodParameters:
      Name  Flags
      slot  
      bci   

  public jdk.vm.ci.meta.Local[] getLocals();
    descriptor: ()[Ljdk/vm/ci/meta/Local;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.LocalVariableTable this
         0: .line 73
            aload 0 /* this */
            getfield jdk.vm.ci.meta.LocalVariableTable.locals:[Ljdk/vm/ci/meta/Local;
            invokevirtual jdk.vm.ci.meta.Local[].clone:()Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.Local[]
            areturn
        end local 0 // jdk.vm.ci.meta.LocalVariableTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/LocalVariableTable;

  public jdk.vm.ci.meta.Local[] getLocalsAt(int);
    descriptor: (I)[Ljdk/vm/ci/meta/Local;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // jdk.vm.ci.meta.LocalVariableTable this
        start local 1 // int bci
         0: .line 80
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.List result
         1: .line 81
            aload 0 /* this */
            getfield jdk.vm.ci.meta.LocalVariableTable.locals:[Ljdk/vm/ci/meta/Local;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 6
      StackMap locals: jdk.vm.ci.meta.LocalVariableTable int java.util.List top int int jdk.vm.ci.meta.Local[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* l */
        start local 3 // jdk.vm.ci.meta.Local l
         3: .line 82
            aload 3 /* l */
            invokevirtual jdk.vm.ci.meta.Local.getStartBCI:()I
            iload 1 /* bci */
            if_icmpgt 5
            iload 1 /* bci */
            aload 3 /* l */
            invokevirtual jdk.vm.ci.meta.Local.getEndBCI:()I
            if_icmpgt 5
         4: .line 83
            aload 2 /* result */
            aload 3 /* l */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // jdk.vm.ci.meta.Local l
         5: .line 81
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         6: iload 4
            iload 5
            if_icmplt 2
         7: .line 86
            aload 2 /* result */
            aload 2 /* result */
            invokeinterface java.util.List.size:()I
            anewarray jdk.vm.ci.meta.Local
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.Local[]
            areturn
        end local 2 // java.util.List result
        end local 1 // int bci
        end local 0 // jdk.vm.ci.meta.LocalVariableTable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljdk/vm/ci/meta/LocalVariableTable;
            0    8     1     bci  I
            1    8     2  result  Ljava/util/List<Ljdk/vm/ci/meta/Local;>;
            3    5     3       l  Ljdk/vm/ci/meta/Local;
    MethodParameters:
      Name  Flags
      bci   
}
SourceFile: "LocalVariableTable.java"