public class sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping
  super_class: java.lang.Object
{
  private java.util.List infoList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 36
            return
        end local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberMapping;

  public void addLineNumberInfo(sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo);
    descriptor: (Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
        start local 1 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo info
         0: .line 43
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
            ifnonnull 2
         1: .line 44
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
         2: .line 46
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
            aload 1 /* info */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 47
            return
        end local 1 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo info
        end local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberMapping;
            0    4     1  info  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
    MethodParameters:
      Name  Flags
      info  

  public void sort();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
         0: .line 52
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
            ifnonnull 1
            return
         1: .line 53
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
            new sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping$1
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping$1.<init>:(Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberMapping;)V
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         2: .line 64
            return
        end local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberMapping;

  public void recomputeEndPCs();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
         0: .line 70
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
            ifnonnull 1
            return
         1: .line 71
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 7
         3: .line 72
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.get:(I)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            astore 2 /* i1 */
        start local 2 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo i1
         4: .line 73
            aload 0 /* this */
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.get:(I)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            astore 3 /* i2 */
        start local 3 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo i2
         5: .line 74
            aload 2 /* i1 */
            aload 3 /* i2 */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo.getStartPC:()Lsun/jvm/hotspot/debugger/Address;
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo.setEndPC:(Lsun/jvm/hotspot/debugger/Address;)V
        end local 3 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo i2
        end local 2 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo i1
         6: .line 71
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmplt 3
        end local 1 // int i
         8: .line 76
            return
        end local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberMapping;
            2    8     1     i  I
            4    6     2    i1  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            5    6     3    i2  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;

  public sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo lineNumberForPC(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
        start local 1 // sun.jvm.hotspot.debugger.Address pc
         0: .line 79
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
            ifnonnull 1
            aconst_null
            areturn
         1: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pc */
            iconst_0
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.searchLineNumbers:(Lsun/jvm/hotspot/debugger/Address;II)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            areturn
        end local 1 // sun.jvm.hotspot.debugger.Address pc
        end local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberMapping;
            0    2     1    pc  Lsun/jvm/hotspot/debugger/Address;
    Exceptions:
      throws sun.jvm.hotspot.debugger.DebuggerException
    MethodParameters:
      Name  Flags
      pc    

  public void iterate(sun.jvm.hotspot.debugger.cdbg.LineNumberVisitor);
    descriptor: (Lsun/jvm/hotspot/debugger/cdbg/LineNumberVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
        start local 1 // sun.jvm.hotspot.debugger.cdbg.LineNumberVisitor v
         0: .line 84
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
            ifnonnull 1
            return
         1: .line 85
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 86
      StackMap locals: int
      StackMap stack:
            aload 1 /* v */
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.get:(I)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            invokeinterface sun.jvm.hotspot.debugger.cdbg.LineNumberVisitor.doLineNumber:(Lsun/jvm/hotspot/debugger/cdbg/LineNumberInfo;)V
         4: .line 85
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 2 // int i
         6: .line 88
            return
        end local 1 // sun.jvm.hotspot.debugger.cdbg.LineNumberVisitor v
        end local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberMapping;
            0    7     1     v  Lsun/jvm/hotspot/debugger/cdbg/LineNumberVisitor;
            2    6     2     i  I
    MethodParameters:
      Name  Flags
      v     

  private sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo get(int);
    descriptor: (I)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
        start local 1 // int i
         0: .line 95
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.infoList:Ljava/util/List;
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo
            areturn
        end local 1 // int i
        end local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberMapping;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  private sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo searchLineNumbers(sun.jvm.hotspot.debugger.Address, int, int);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;II)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
        start local 1 // sun.jvm.hotspot.debugger.Address addr
        start local 2 // int lowIdx
        start local 3 // int highIdx
         0: .line 99
            iload 3 /* highIdx */
            iload 2 /* lowIdx */
            if_icmpge 1
            aconst_null
            areturn
         1: .line 100
      StackMap locals:
      StackMap stack:
            iload 2 /* lowIdx */
            iload 3 /* highIdx */
            if_icmpne 5
         2: .line 102
            aload 0 /* this */
            aload 1 /* addr */
            iload 2 /* lowIdx */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.check:(Lsun/jvm/hotspot/debugger/Address;I)Z
            ifeq 4
         3: .line 103
            aload 0 /* this */
            iload 2 /* lowIdx */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.get:(I)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            areturn
         4: .line 105
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         5: .line 107
      StackMap locals:
      StackMap stack:
            iload 2 /* lowIdx */
            iload 3 /* highIdx */
            iconst_1
            isub
            if_icmpne 11
         6: .line 108
            aload 0 /* this */
            aload 1 /* addr */
            iload 2 /* lowIdx */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.check:(Lsun/jvm/hotspot/debugger/Address;I)Z
            ifeq 8
         7: .line 109
            aload 0 /* this */
            iload 2 /* lowIdx */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.get:(I)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            areturn
         8: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* addr */
            iload 3 /* highIdx */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.check:(Lsun/jvm/hotspot/debugger/Address;I)Z
            ifeq 10
         9: .line 111
            aload 0 /* this */
            iload 3 /* highIdx */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.get:(I)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            areturn
        10: .line 113
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        11: .line 116
      StackMap locals:
      StackMap stack:
            iload 2 /* lowIdx */
            iload 3 /* highIdx */
            iadd
            iconst_1
            ishr
            istore 4 /* midIdx */
        start local 4 // int midIdx
        12: .line 117
            aload 0 /* this */
            iload 4 /* midIdx */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.get:(I)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            astore 5 /* info */
        start local 5 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo info
        13: .line 118
            aload 1 /* addr */
            aload 5 /* info */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo.getStartPC:()Lsun/jvm/hotspot/debugger/Address;
            invokestatic sun.jvm.hotspot.utilities.AddressOps.lt:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)Z
            ifeq 15
        14: .line 120
            aload 0 /* this */
            aload 1 /* addr */
            iload 2 /* lowIdx */
            iload 4 /* midIdx */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.searchLineNumbers:(Lsun/jvm/hotspot/debugger/Address;II)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            areturn
        15: .line 121
      StackMap locals: int sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo
      StackMap stack:
            aload 1 /* addr */
            aload 5 /* info */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo.getStartPC:()Lsun/jvm/hotspot/debugger/Address;
            invokestatic sun.jvm.hotspot.utilities.AddressOps.equal:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)Z
            ifeq 17
        16: .line 122
            aload 5 /* info */
            areturn
        17: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* addr */
            iload 4 /* midIdx */
            iload 3 /* highIdx */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.searchLineNumbers:(Lsun/jvm/hotspot/debugger/Address;II)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            areturn
        end local 5 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo info
        end local 4 // int midIdx
        end local 3 // int highIdx
        end local 2 // int lowIdx
        end local 1 // sun.jvm.hotspot.debugger.Address addr
        end local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberMapping;
            0   18     1     addr  Lsun/jvm/hotspot/debugger/Address;
            0   18     2   lowIdx  I
            0   18     3  highIdx  I
           12   18     4   midIdx  I
           13   18     5     info  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
    MethodParameters:
         Name  Flags
      addr     
      lowIdx   
      highIdx  

  private boolean check(sun.jvm.hotspot.debugger.Address, int);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
        start local 1 // sun.jvm.hotspot.debugger.Address addr
        start local 2 // int idx
         0: .line 130
            aload 0 /* this */
            iload 2 /* idx */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping.get:(I)Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
            astore 3 /* info */
        start local 3 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo info
         1: .line 131
            aload 3 /* info */
            invokevirtual sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo.getStartPC:()Lsun/jvm/hotspot/debugger/Address;
            aload 1 /* addr */
            invokestatic sun.jvm.hotspot.utilities.AddressOps.lte:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)Z
            ifeq 3
         2: .line 132
            iconst_1
            ireturn
         3: .line 134
      StackMap locals: sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberInfo info
        end local 2 // int idx
        end local 1 // sun.jvm.hotspot.debugger.Address addr
        end local 0 // sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberMapping;
            0    4     1  addr  Lsun/jvm/hotspot/debugger/Address;
            0    4     2   idx  I
            1    4     3  info  Lsun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo;
    MethodParameters:
      Name  Flags
      addr  
      idx   
}
SourceFile: "BasicLineNumberMapping.java"
NestMembers:
  sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping$1
InnerClasses:
  sun.jvm.hotspot.debugger.cdbg.basic.BasicLineNumberMapping$1