public final class org.joni.CodeRangeBuffer
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.joni.CodeRangeBuffer
  super_class: java.lang.Object
{
  private static final int INIT_MULTI_BYTE_RANGE_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int LAST_CODE_POINT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2147483647

  private int[] p;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int used;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.joni.CodeRangeBuffer this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 34
            aload 0 /* this */
            iconst_5
            newarray 10
            putfield org.joni.CodeRangeBuffer.p:[I
         2: .line 35
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.joni.CodeRangeBuffer.writeCodePoint:(II)V
         3: .line 36
            return
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/joni/CodeRangeBuffer;

  public int[] getCodeRange();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joni.CodeRangeBuffer this
         0: .line 39
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            areturn
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joni/CodeRangeBuffer;

  public int getUsed();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joni.CodeRangeBuffer this
         0: .line 43
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.used:I
            ireturn
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joni/CodeRangeBuffer;

  private void <init>(org.joni.CodeRangeBuffer);
    descriptor: (Lorg/joni/CodeRangeBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.joni.CodeRangeBuffer this
        start local 1 // org.joni.CodeRangeBuffer orig
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            aload 1 /* orig */
            getfield org.joni.CodeRangeBuffer.p:[I
            arraylength
            newarray 10
            putfield org.joni.CodeRangeBuffer.p:[I
         2: .line 48
            aload 1 /* orig */
            getfield org.joni.CodeRangeBuffer.p:[I
            iconst_0
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iconst_0
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 49
            aload 0 /* this */
            aload 1 /* orig */
            getfield org.joni.CodeRangeBuffer.used:I
            putfield org.joni.CodeRangeBuffer.used:I
         4: .line 50
            return
        end local 1 // org.joni.CodeRangeBuffer orig
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/joni/CodeRangeBuffer;
            0    5     1  orig  Lorg/joni/CodeRangeBuffer;
    MethodParameters:
      Name  Flags
      orig  

  public void expand(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.joni.CodeRangeBuffer this
        start local 1 // int low
         0: .line 53
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            arraylength
            istore 2 /* length */
        start local 2 // int length
         1: .line 54
      StackMap locals: int
      StackMap stack:
            iload 2 /* length */
            iconst_1
            ishl
            istore 2 /* length */
            iload 2 /* length */
            iload 1 /* low */
            if_icmplt 1
         2: .line 55
            iload 2 /* length */
            newarray 10
            astore 3 /* tmp */
        start local 3 // int[] tmp
         3: .line 56
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iconst_0
            aload 3 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.used:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 57
            aload 0 /* this */
            aload 3 /* tmp */
            putfield org.joni.CodeRangeBuffer.p:[I
         5: .line 58
            return
        end local 3 // int[] tmp
        end local 2 // int length
        end local 1 // int low
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/joni/CodeRangeBuffer;
            0    6     1     low  I
            1    6     2  length  I
            3    6     3     tmp  [I
    MethodParameters:
      Name  Flags
      low   

  public void ensureSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.joni.CodeRangeBuffer this
        start local 1 // int size
         0: .line 61
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            arraylength
            istore 2 /* length */
        start local 2 // int length
         1: .line 62
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iload 2 /* length */
            iconst_1
            ishl
            istore 2 /* length */
      StackMap locals:
      StackMap stack:
         3: iload 2 /* length */
            iload 1 /* size */
            if_icmplt 2
         4: .line 63
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            arraylength
            iload 2 /* length */
            if_icmpeq 8
         5: .line 64
            iload 2 /* length */
            newarray 10
            astore 3 /* tmp */
        start local 3 // int[] tmp
         6: .line 65
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iconst_0
            aload 3 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.used:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 66
            aload 0 /* this */
            aload 3 /* tmp */
            putfield org.joni.CodeRangeBuffer.p:[I
        end local 3 // int[] tmp
         8: .line 68
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int length
        end local 1 // int size
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/joni/CodeRangeBuffer;
            0    9     1    size  I
            1    9     2  length  I
            6    8     3     tmp  [I
    MethodParameters:
      Name  Flags
      size  

  private void moveRight(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.joni.CodeRangeBuffer this
        start local 1 // int from
        start local 2 // int to
        start local 3 // int n
         0: .line 71
            iload 2 /* to */
            iload 3 /* n */
            iadd
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            arraylength
            if_icmple 1
            aload 0 /* this */
            iload 2 /* to */
            iload 3 /* n */
            iadd
            invokevirtual org.joni.CodeRangeBuffer.expand:(I)V
         1: .line 72
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iload 1 /* from */
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iload 2 /* to */
            iload 3 /* n */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 73
            iload 2 /* to */
            iload 3 /* n */
            iadd
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.used:I
            if_icmple 3
            aload 0 /* this */
            iload 2 /* to */
            iload 3 /* n */
            iadd
            putfield org.joni.CodeRangeBuffer.used:I
         3: .line 74
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int n
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/joni/CodeRangeBuffer;
            0    4     1  from  I
            0    4     2    to  I
            0    4     3     n  I
    MethodParameters:
      Name  Flags
      from  
      to    
      n     

  protected void moveLeft(int, int, int);
    descriptor: (III)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.joni.CodeRangeBuffer this
        start local 1 // int from
        start local 2 // int to
        start local 3 // int n
         0: .line 77
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iload 1 /* from */
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iload 2 /* to */
            iload 3 /* n */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 78
            return
        end local 3 // int n
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/joni/CodeRangeBuffer;
            0    2     1  from  I
            0    2     2    to  I
            0    2     3     n  I
    MethodParameters:
      Name  Flags
      from  
      to    
      n     

  private void moveLeftAndReduce(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.joni.CodeRangeBuffer this
        start local 1 // int from
        start local 2 // int to
         0: .line 81
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iload 1 /* from */
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iload 2 /* to */
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.used:I
            iload 1 /* from */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 82
            aload 0 /* this */
            dup
            getfield org.joni.CodeRangeBuffer.used:I
            iload 1 /* from */
            iload 2 /* to */
            isub
            isub
            putfield org.joni.CodeRangeBuffer.used:I
         2: .line 83
            return
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/joni/CodeRangeBuffer;
            0    3     1  from  I
            0    3     2    to  I
    MethodParameters:
      Name  Flags
      from  
      to    

  public void writeCodePoint(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.joni.CodeRangeBuffer this
        start local 1 // int pos
        start local 2 // int b
         0: .line 86
            iload 1 /* pos */
            iconst_1
            iadd
            istore 3 /* u */
        start local 3 // int u
         1: .line 87
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            arraylength
            iload 3 /* u */
            if_icmpge 2
            aload 0 /* this */
            iload 3 /* u */
            invokevirtual org.joni.CodeRangeBuffer.expand:(I)V
         2: .line 88
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iload 1 /* pos */
            iload 2 /* b */
            iastore
         3: .line 89
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.used:I
            iload 3 /* u */
            if_icmpge 4
            aload 0 /* this */
            iload 3 /* u */
            putfield org.joni.CodeRangeBuffer.used:I
         4: .line 90
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int u
        end local 2 // int b
        end local 1 // int pos
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/joni/CodeRangeBuffer;
            0    5     1   pos  I
            0    5     2     b  I
            1    5     3     u  I
    MethodParameters:
      Name  Flags
      pos   
      b     

  public org.joni.CodeRangeBuffer clone();
    descriptor: ()Lorg/joni/CodeRangeBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.joni.CodeRangeBuffer this
         0: .line 93
            new org.joni.CodeRangeBuffer
            dup
            aload 0 /* this */
            invokespecial org.joni.CodeRangeBuffer.<init>:(Lorg/joni/CodeRangeBuffer;)V
            areturn
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joni/CodeRangeBuffer;

  public static org.joni.CodeRangeBuffer addCodeRangeToBuff(org.joni.CodeRangeBuffer, org.joni.ScanEnvironment, int, int);
    descriptor: (Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;II)Lorg/joni/CodeRangeBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.joni.CodeRangeBuffer pbuf
        start local 1 // org.joni.ScanEnvironment env
        start local 2 // int from
        start local 3 // int to
         0: .line 98
            aload 0 /* pbuf */
            aload 1 /* env */
            iload 2 /* from */
            iload 3 /* to */
            iconst_1
            invokestatic org.joni.CodeRangeBuffer.addCodeRangeToBuff:(Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;IIZ)Lorg/joni/CodeRangeBuffer;
            areturn
        end local 3 // int to
        end local 2 // int from
        end local 1 // org.joni.ScanEnvironment env
        end local 0 // org.joni.CodeRangeBuffer pbuf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  pbuf  Lorg/joni/CodeRangeBuffer;
            0    1     1   env  Lorg/joni/ScanEnvironment;
            0    1     2  from  I
            0    1     3    to  I
    MethodParameters:
      Name  Flags
      pbuf  
      env   
      from  
      to    

  public static org.joni.CodeRangeBuffer addCodeRangeToBuff(org.joni.CodeRangeBuffer, org.joni.ScanEnvironment, int, int, boolean);
    descriptor: (Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;IIZ)Lorg/joni/CodeRangeBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=14, args_size=5
        start local 0 // org.joni.CodeRangeBuffer pbuf
        start local 1 // org.joni.ScanEnvironment env
        start local 2 // int from
        start local 3 // int to
        start local 4 // boolean checkDup
         0: .line 102
            iload 2 /* from */
            iload 3 /* to */
            if_icmple 4
         1: .line 103
            iload 2 /* from */
            istore 5 /* n */
        start local 5 // int n
         2: .line 104
            iload 3 /* to */
            istore 2 /* from */
         3: .line 105
            iload 5 /* n */
            istore 3 /* to */
        end local 5 // int n
         4: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* pbuf */
            ifnonnull 5
            new org.joni.CodeRangeBuffer
            dup
            invokespecial org.joni.CodeRangeBuffer.<init>:()V
            astore 0 /* pbuf */
         5: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* pbuf */
            getfield org.joni.CodeRangeBuffer.p:[I
            astore 5 /* p */
        start local 5 // int[] p
         6: .line 111
            aload 5 /* p */
            iconst_0
            iaload
            istore 6 /* n */
        start local 6 // int n
         7: .line 113
            iload 2 /* from */
            ifne 8
            iconst_0
            goto 9
      StackMap locals: int[] int
      StackMap stack:
         8: iload 6 /* n */
      StackMap locals:
      StackMap stack: int
         9: istore 7 /* bound */
        start local 7 // int bound
        10: .line 114
            iconst_0
            istore 8 /* low */
        start local 8 // int low
        11: .line 115
            goto 17
        12: .line 116
      StackMap locals: int int
      StackMap stack:
            iload 8 /* low */
            iload 7 /* bound */
            iadd
            iconst_1
            iushr
            istore 9 /* x */
        start local 9 // int x
        13: .line 117
            iload 2 /* from */
            iconst_1
            isub
            aload 5 /* p */
            iload 9 /* x */
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            if_icmple 16
        14: .line 118
            iload 9 /* x */
            iconst_1
            iadd
            istore 8 /* low */
        15: .line 119
            goto 17
        16: .line 120
      StackMap locals: int
      StackMap stack:
            iload 9 /* x */
            istore 7 /* bound */
        end local 9 // int x
        17: .line 115
      StackMap locals:
      StackMap stack:
            iload 8 /* low */
            iload 7 /* bound */
            if_icmplt 12
        18: .line 124
            iload 3 /* to */
            ldc 2147483647
            if_icmpne 19
            iload 6 /* n */
            goto 20
      StackMap locals:
      StackMap stack:
        19: iload 8 /* low */
      StackMap locals:
      StackMap stack: int
        20: istore 9 /* high */
        start local 9 // int high
        21: .line 125
            iload 6 /* n */
            istore 7 /* bound */
        22: .line 126
            goto 28
        23: .line 127
      StackMap locals: int
      StackMap stack:
            iload 9 /* high */
            iload 7 /* bound */
            iadd
            iconst_1
            iushr
            istore 10 /* x */
        start local 10 // int x
        24: .line 128
            iload 3 /* to */
            iconst_1
            iadd
            aload 5 /* p */
            iload 10 /* x */
            iconst_2
            imul
            iconst_1
            iadd
            iaload
            if_icmplt 27
        25: .line 129
            iload 10 /* x */
            iconst_1
            iadd
            istore 9 /* high */
        26: .line 130
            goto 28
        27: .line 131
      StackMap locals: int
      StackMap stack:
            iload 10 /* x */
            istore 7 /* bound */
        end local 10 // int x
        28: .line 126
      StackMap locals:
      StackMap stack:
            iload 9 /* high */
            iload 7 /* bound */
            if_icmplt 23
        29: .line 135
            iload 8 /* low */
            iconst_1
            iadd
            iload 9 /* high */
            isub
            istore 10 /* incN */
        start local 10 // int incN
        30: .line 137
            iload 6 /* n */
            iload 10 /* incN */
            iadd
            sipush 10000
            if_icmple 31
            new org.joni.exception.ValueException
            dup
            ldc "too many multibyte code ranges are specified"
            invokespecial org.joni.exception.ValueException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 139
      StackMap locals: int
      StackMap stack:
            iload 10 /* incN */
            iconst_1
            if_icmpeq 37
        32: .line 140
            iload 4 /* checkDup */
            ifeq 35
        33: .line 141
            iload 2 /* from */
            aload 5 /* p */
            iload 8 /* low */
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            if_icmpgt 35
            aload 5 /* p */
            iload 8 /* low */
            iconst_2
            imul
            iconst_1
            iadd
            iaload
            iload 2 /* from */
            if_icmple 34
            aload 5 /* p */
            iload 8 /* low */
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            iload 3 /* to */
            if_icmpgt 35
      StackMap locals:
      StackMap stack:
        34: aload 1 /* env */
            invokevirtual org.joni.ScanEnvironment.ccDuplicateWarn:()V
        35: .line 144
      StackMap locals:
      StackMap stack:
            iload 2 /* from */
            aload 5 /* p */
            iload 8 /* low */
            iconst_2
            imul
            iconst_1
            iadd
            iaload
            if_icmple 36
            aload 5 /* p */
            iload 8 /* low */
            iconst_2
            imul
            iconst_1
            iadd
            iaload
            istore 2 /* from */
        36: .line 145
      StackMap locals:
      StackMap stack:
            iload 3 /* to */
            aload 5 /* p */
            iload 9 /* high */
            iconst_1
            isub
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            if_icmpge 37
            aload 5 /* p */
            iload 9 /* high */
            iconst_1
            isub
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            istore 3 /* to */
        37: .line 148
      StackMap locals:
      StackMap stack:
            iload 10 /* incN */
            ifeq 46
        38: .line 149
            iconst_1
            iload 9 /* high */
            iconst_2
            imul
            iadd
            istore 11 /* fromPos */
        start local 11 // int fromPos
        39: .line 150
            iconst_1
            iload 8 /* low */
            iconst_1
            iadd
            iconst_2
            imul
            iadd
            istore 12 /* toPos */
        start local 12 // int toPos
        40: .line 152
            iload 10 /* incN */
            ifle 45
        41: .line 153
            iload 9 /* high */
            iload 6 /* n */
            if_icmpge 46
        42: .line 154
            iload 6 /* n */
            iload 9 /* high */
            isub
            iconst_2
            imul
            istore 13 /* size */
        start local 13 // int size
        43: .line 155
            aload 0 /* pbuf */
            iload 11 /* fromPos */
            iload 12 /* toPos */
            iload 13 /* size */
            invokevirtual org.joni.CodeRangeBuffer.moveRight:(III)V
        end local 13 // int size
        44: .line 157
            goto 46
        45: .line 158
      StackMap locals: int int
      StackMap stack:
            aload 0 /* pbuf */
            iload 11 /* fromPos */
            iload 12 /* toPos */
            invokevirtual org.joni.CodeRangeBuffer.moveLeftAndReduce:(II)V
        end local 12 // int toPos
        end local 11 // int fromPos
        46: .line 162
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 8 /* low */
            iconst_2
            imul
            iadd
            istore 11 /* pos */
        start local 11 // int pos
        47: .line 164
            aload 0 /* pbuf */
            iload 11 /* pos */
            iload 2 /* from */
            invokevirtual org.joni.CodeRangeBuffer.writeCodePoint:(II)V
        48: .line 165
            aload 0 /* pbuf */
            iload 11 /* pos */
            iconst_1
            iadd
            iload 3 /* to */
            invokevirtual org.joni.CodeRangeBuffer.writeCodePoint:(II)V
        49: .line 166
            iload 6 /* n */
            iload 10 /* incN */
            iadd
            istore 6 /* n */
        50: .line 167
            aload 0 /* pbuf */
            iconst_0
            iload 6 /* n */
            invokevirtual org.joni.CodeRangeBuffer.writeCodePoint:(II)V
        51: .line 169
            aload 0 /* pbuf */
            areturn
        end local 11 // int pos
        end local 10 // int incN
        end local 9 // int high
        end local 8 // int low
        end local 7 // int bound
        end local 6 // int n
        end local 5 // int[] p
        end local 4 // boolean checkDup
        end local 3 // int to
        end local 2 // int from
        end local 1 // org.joni.ScanEnvironment env
        end local 0 // org.joni.CodeRangeBuffer pbuf
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   52     0      pbuf  Lorg/joni/CodeRangeBuffer;
            0   52     1       env  Lorg/joni/ScanEnvironment;
            0   52     2      from  I
            0   52     3        to  I
            0   52     4  checkDup  Z
            2    4     5         n  I
            6   52     5         p  [I
            7   52     6         n  I
           10   52     7     bound  I
           11   52     8       low  I
           13   17     9         x  I
           21   52     9      high  I
           24   28    10         x  I
           30   52    10      incN  I
           39   46    11   fromPos  I
           40   46    12     toPos  I
           43   44    13      size  I
           47   52    11       pos  I
    MethodParameters:
          Name  Flags
      pbuf      
      env       
      from      
      to        
      checkDup  

  public static org.joni.CodeRangeBuffer addCodeRange(org.joni.CodeRangeBuffer, org.joni.ScanEnvironment, int, int);
    descriptor: (Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;II)Lorg/joni/CodeRangeBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.joni.CodeRangeBuffer pbuf
        start local 1 // org.joni.ScanEnvironment env
        start local 2 // int from
        start local 3 // int to
         0: .line 174
            aload 0 /* pbuf */
            aload 1 /* env */
            iload 2 /* from */
            iload 3 /* to */
            iconst_1
            invokestatic org.joni.CodeRangeBuffer.addCodeRange:(Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;IIZ)Lorg/joni/CodeRangeBuffer;
            areturn
        end local 3 // int to
        end local 2 // int from
        end local 1 // org.joni.ScanEnvironment env
        end local 0 // org.joni.CodeRangeBuffer pbuf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  pbuf  Lorg/joni/CodeRangeBuffer;
            0    1     1   env  Lorg/joni/ScanEnvironment;
            0    1     2  from  I
            0    1     3    to  I
    MethodParameters:
      Name  Flags
      pbuf  
      env   
      from  
      to    

  public static org.joni.CodeRangeBuffer addCodeRange(org.joni.CodeRangeBuffer, org.joni.ScanEnvironment, int, int, boolean);
    descriptor: (Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;IIZ)Lorg/joni/CodeRangeBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.joni.CodeRangeBuffer pbuf
        start local 1 // org.joni.ScanEnvironment env
        start local 2 // int from
        start local 3 // int to
        start local 4 // boolean checkDup
         0: .line 178
            iload 2 /* from */
            iload 3 /* to */
            if_icmple 4
         1: .line 179
            aload 1 /* env */
            getfield org.joni.ScanEnvironment.syntax:Lorg/joni/Syntax;
            invokevirtual org.joni.Syntax.allowEmptyRangeInCC:()Z
            ifeq 3
         2: .line 180
            aload 0 /* pbuf */
            areturn
         3: .line 182
      StackMap locals:
      StackMap stack:
            new org.joni.exception.ValueException
            dup
            ldc "empty range in char class"
            invokespecial org.joni.exception.ValueException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* pbuf */
            aload 1 /* env */
            iload 2 /* from */
            iload 3 /* to */
            iload 4 /* checkDup */
            invokestatic org.joni.CodeRangeBuffer.addCodeRangeToBuff:(Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;IIZ)Lorg/joni/CodeRangeBuffer;
            areturn
        end local 4 // boolean checkDup
        end local 3 // int to
        end local 2 // int from
        end local 1 // org.joni.ScanEnvironment env
        end local 0 // org.joni.CodeRangeBuffer pbuf
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      pbuf  Lorg/joni/CodeRangeBuffer;
            0    5     1       env  Lorg/joni/ScanEnvironment;
            0    5     2      from  I
            0    5     3        to  I
            0    5     4  checkDup  Z
    MethodParameters:
          Name  Flags
      pbuf      
      env       
      from      
      to        
      checkDup  

  private static int mbcodeStartPosition(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jcodings.Encoding enc
         0: .line 189
            aload 0 /* enc */
            invokevirtual org.jcodings.Encoding.minLength:()I
            iconst_1
            if_icmple 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: sipush 128
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.jcodings.Encoding enc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   enc  Lorg/jcodings/Encoding;
    MethodParameters:
      Name  Flags
      enc   

  protected static org.joni.CodeRangeBuffer setAllMultiByteRange(org.joni.ScanEnvironment, org.joni.CodeRangeBuffer);
    descriptor: (Lorg/joni/ScanEnvironment;Lorg/joni/CodeRangeBuffer;)Lorg/joni/CodeRangeBuffer;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.joni.ScanEnvironment env
        start local 1 // org.joni.CodeRangeBuffer pbuf
         0: .line 195
            aload 1 /* pbuf */
            aload 0 /* env */
            aload 0 /* env */
            getfield org.joni.ScanEnvironment.enc:Lorg/jcodings/Encoding;
            invokestatic org.joni.CodeRangeBuffer.mbcodeStartPosition:(Lorg/jcodings/Encoding;)I
            ldc 2147483647
            invokestatic org.joni.CodeRangeBuffer.addCodeRangeToBuff:(Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;II)Lorg/joni/CodeRangeBuffer;
            areturn
        end local 1 // org.joni.CodeRangeBuffer pbuf
        end local 0 // org.joni.ScanEnvironment env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   env  Lorg/joni/ScanEnvironment;
            0    1     1  pbuf  Lorg/joni/CodeRangeBuffer;
    MethodParameters:
      Name  Flags
      env   
      pbuf  

  public static org.joni.CodeRangeBuffer addAllMultiByteRange(org.joni.ScanEnvironment, org.joni.CodeRangeBuffer);
    descriptor: (Lorg/joni/ScanEnvironment;Lorg/joni/CodeRangeBuffer;)Lorg/joni/CodeRangeBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.joni.ScanEnvironment env
        start local 1 // org.joni.CodeRangeBuffer pbuf
         0: .line 200
            aload 0 /* env */
            getfield org.joni.ScanEnvironment.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.isSingleByte:()Z
            ifne 1
            aload 0 /* env */
            aload 1 /* pbuf */
            invokestatic org.joni.CodeRangeBuffer.setAllMultiByteRange:(Lorg/joni/ScanEnvironment;Lorg/joni/CodeRangeBuffer;)Lorg/joni/CodeRangeBuffer;
            areturn
         1: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* pbuf */
            areturn
        end local 1 // org.joni.CodeRangeBuffer pbuf
        end local 0 // org.joni.ScanEnvironment env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   env  Lorg/joni/ScanEnvironment;
            0    2     1  pbuf  Lorg/joni/CodeRangeBuffer;
    MethodParameters:
      Name  Flags
      env   
      pbuf  

  public static org.joni.CodeRangeBuffer notCodeRangeBuff(org.joni.ScanEnvironment, org.joni.CodeRangeBuffer);
    descriptor: (Lorg/joni/ScanEnvironment;Lorg/joni/CodeRangeBuffer;)Lorg/joni/CodeRangeBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.joni.ScanEnvironment env
        start local 1 // org.joni.CodeRangeBuffer bbuf
         0: .line 206
            aconst_null
            astore 2 /* pbuf */
        start local 2 // org.joni.CodeRangeBuffer pbuf
         1: .line 208
            aload 1 /* bbuf */
            ifnonnull 2
            aload 0 /* env */
            aload 2 /* pbuf */
            invokestatic org.joni.CodeRangeBuffer.setAllMultiByteRange:(Lorg/joni/ScanEnvironment;Lorg/joni/CodeRangeBuffer;)Lorg/joni/CodeRangeBuffer;
            areturn
         2: .line 210
      StackMap locals: org.joni.CodeRangeBuffer
      StackMap stack:
            aload 1 /* bbuf */
            getfield org.joni.CodeRangeBuffer.p:[I
            astore 3 /* p */
        start local 3 // int[] p
         3: .line 211
            aload 3 /* p */
            iconst_0
            iaload
            istore 4 /* n */
        start local 4 // int n
         4: .line 213
            iload 4 /* n */
            ifgt 5
            aload 0 /* env */
            aload 2 /* pbuf */
            invokestatic org.joni.CodeRangeBuffer.setAllMultiByteRange:(Lorg/joni/ScanEnvironment;Lorg/joni/CodeRangeBuffer;)Lorg/joni/CodeRangeBuffer;
            areturn
         5: .line 215
      StackMap locals: int[] int
      StackMap stack:
            aload 0 /* env */
            getfield org.joni.ScanEnvironment.enc:Lorg/jcodings/Encoding;
            invokestatic org.joni.CodeRangeBuffer.mbcodeStartPosition:(Lorg/jcodings/Encoding;)I
            istore 5 /* pre */
        start local 5 // int pre
         6: .line 218
            iconst_0
            istore 7 /* to */
        start local 7 // int to
         7: .line 219
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         8: goto 16
         9: .line 220
      StackMap locals: org.joni.ScanEnvironment org.joni.CodeRangeBuffer org.joni.CodeRangeBuffer int[] int int top int int
      StackMap stack:
            aload 3 /* p */
            iload 8 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            iaload
            istore 6 /* from */
        start local 6 // int from
        10: .line 221
            aload 3 /* p */
            iload 8 /* i */
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            istore 7 /* to */
        11: .line 222
            iload 5 /* pre */
            iload 6 /* from */
            iconst_1
            isub
            if_icmpgt 13
        12: .line 223
            aload 2 /* pbuf */
            aload 0 /* env */
            iload 5 /* pre */
            iload 6 /* from */
            iconst_1
            isub
            invokestatic org.joni.CodeRangeBuffer.addCodeRangeToBuff:(Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;II)Lorg/joni/CodeRangeBuffer;
            astore 2 /* pbuf */
        13: .line 225
      StackMap locals: org.joni.ScanEnvironment org.joni.CodeRangeBuffer org.joni.CodeRangeBuffer int[] int int int int int
      StackMap stack:
            iload 7 /* to */
            ldc 2147483647
            if_icmpne 14
            goto 17
        14: .line 226
      StackMap locals:
      StackMap stack:
            iload 7 /* to */
            iconst_1
            iadd
            istore 5 /* pre */
        15: .line 219
            iinc 8 /* i */ 1
        end local 6 // int from
      StackMap locals: org.joni.ScanEnvironment org.joni.CodeRangeBuffer org.joni.CodeRangeBuffer int[] int int top int int
      StackMap stack:
        16: iload 8 /* i */
            iload 4 /* n */
            if_icmplt 9
        end local 8 // int i
        17: .line 229
      StackMap locals:
      StackMap stack:
            iload 7 /* to */
            ldc 2147483647
            if_icmpge 18
            aload 2 /* pbuf */
            aload 0 /* env */
            iload 7 /* to */
            iconst_1
            iadd
            ldc 2147483647
            invokestatic org.joni.CodeRangeBuffer.addCodeRangeToBuff:(Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;II)Lorg/joni/CodeRangeBuffer;
            astore 2 /* pbuf */
        18: .line 230
      StackMap locals:
      StackMap stack:
            aload 2 /* pbuf */
            areturn
        end local 7 // int to
        end local 5 // int pre
        end local 4 // int n
        end local 3 // int[] p
        end local 2 // org.joni.CodeRangeBuffer pbuf
        end local 1 // org.joni.CodeRangeBuffer bbuf
        end local 0 // org.joni.ScanEnvironment env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0   env  Lorg/joni/ScanEnvironment;
            0   19     1  bbuf  Lorg/joni/CodeRangeBuffer;
            1   19     2  pbuf  Lorg/joni/CodeRangeBuffer;
            3   19     3     p  [I
            4   19     4     n  I
            6   19     5   pre  I
           10   16     6  from  I
            7   19     7    to  I
            8   17     8     i  I
    MethodParameters:
      Name  Flags
      env   
      bbuf  

  public static org.joni.CodeRangeBuffer orCodeRangeBuff(org.joni.ScanEnvironment, org.joni.CodeRangeBuffer, boolean, org.joni.CodeRangeBuffer, boolean);
    descriptor: (Lorg/joni/ScanEnvironment;Lorg/joni/CodeRangeBuffer;ZLorg/joni/CodeRangeBuffer;Z)Lorg/joni/CodeRangeBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // org.joni.ScanEnvironment env
        start local 1 // org.joni.CodeRangeBuffer bbuf1
        start local 2 // boolean not1
        start local 3 // org.joni.CodeRangeBuffer bbuf2
        start local 4 // boolean not2
         0: .line 236
            aconst_null
            astore 5 /* pbuf */
        start local 5 // org.joni.CodeRangeBuffer pbuf
         1: .line 238
            aload 1 /* bbuf1 */
            ifnonnull 5
            aload 3 /* bbuf2 */
            ifnonnull 5
         2: .line 239
            iload 2 /* not1 */
            ifne 3
            iload 4 /* not2 */
            ifeq 4
         3: .line 240
      StackMap locals: org.joni.CodeRangeBuffer
      StackMap stack:
            aload 0 /* env */
            aload 5 /* pbuf */
            invokestatic org.joni.CodeRangeBuffer.setAllMultiByteRange:(Lorg/joni/ScanEnvironment;Lorg/joni/CodeRangeBuffer;)Lorg/joni/CodeRangeBuffer;
            areturn
         4: .line 242
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         5: .line 245
      StackMap locals:
      StackMap stack:
            aload 3 /* bbuf2 */
            ifnonnull 10
         6: .line 249
            iload 2 /* not1 */
            istore 7 /* tnot */
        start local 7 // boolean tnot
         7: iload 4 /* not2 */
            istore 2 /* not1 */
            iload 7 /* tnot */
            istore 4 /* not2 */
         8: .line 250
            aload 1 /* bbuf1 */
            astore 6 /* tbuf */
        start local 6 // org.joni.CodeRangeBuffer tbuf
         9: aload 3 /* bbuf2 */
            astore 1 /* bbuf1 */
            aload 6 /* tbuf */
            astore 3 /* bbuf2 */
        end local 7 // boolean tnot
        end local 6 // org.joni.CodeRangeBuffer tbuf
        10: .line 253
      StackMap locals:
      StackMap stack:
            aload 1 /* bbuf1 */
            ifnonnull 16
        11: .line 254
            iload 2 /* not1 */
            ifeq 13
        12: .line 255
            aload 0 /* env */
            aload 5 /* pbuf */
            invokestatic org.joni.CodeRangeBuffer.setAllMultiByteRange:(Lorg/joni/ScanEnvironment;Lorg/joni/CodeRangeBuffer;)Lorg/joni/CodeRangeBuffer;
            areturn
        13: .line 257
      StackMap locals:
      StackMap stack:
            iload 4 /* not2 */
            ifne 15
        14: .line 258
            aload 3 /* bbuf2 */
            invokevirtual org.joni.CodeRangeBuffer.clone:()Lorg/joni/CodeRangeBuffer;
            areturn
        15: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* env */
            aload 3 /* bbuf2 */
            invokestatic org.joni.CodeRangeBuffer.notCodeRangeBuff:(Lorg/joni/ScanEnvironment;Lorg/joni/CodeRangeBuffer;)Lorg/joni/CodeRangeBuffer;
            areturn
        16: .line 265
      StackMap locals:
      StackMap stack:
            iload 2 /* not1 */
            ifeq 21
        17: .line 269
            iload 2 /* not1 */
            istore 7 /* tnot */
        start local 7 // boolean tnot
        18: iload 4 /* not2 */
            istore 2 /* not1 */
            iload 7 /* tnot */
            istore 4 /* not2 */
        19: .line 270
            aload 1 /* bbuf1 */
            astore 6 /* tbuf */
        start local 6 // org.joni.CodeRangeBuffer tbuf
        20: aload 3 /* bbuf2 */
            astore 1 /* bbuf1 */
            aload 6 /* tbuf */
            astore 3 /* bbuf2 */
        end local 7 // boolean tnot
        end local 6 // org.joni.CodeRangeBuffer tbuf
        21: .line 273
      StackMap locals:
      StackMap stack:
            iload 4 /* not2 */
            ifne 24
            iload 2 /* not1 */
            ifne 24
        22: .line 274
            aload 3 /* bbuf2 */
            invokevirtual org.joni.CodeRangeBuffer.clone:()Lorg/joni/CodeRangeBuffer;
            astore 5 /* pbuf */
        23: .line 275
            goto 26
      StackMap locals:
      StackMap stack:
        24: iload 2 /* not1 */
            ifne 26
        25: .line 276
            aload 0 /* env */
            aload 3 /* bbuf2 */
            invokestatic org.joni.CodeRangeBuffer.notCodeRangeBuff:(Lorg/joni/ScanEnvironment;Lorg/joni/CodeRangeBuffer;)Lorg/joni/CodeRangeBuffer;
            astore 5 /* pbuf */
        26: .line 279
      StackMap locals:
      StackMap stack:
            aload 1 /* bbuf1 */
            getfield org.joni.CodeRangeBuffer.p:[I
            astore 6 /* p1 */
        start local 6 // int[] p1
        27: .line 280
            aload 6 /* p1 */
            iconst_0
            iaload
            istore 7 /* n1 */
        start local 7 // int n1
        28: .line 282
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        29: goto 34
        30: .line 283
      StackMap locals: int[] int int
      StackMap stack:
            aload 6 /* p1 */
            iload 8 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            iaload
            istore 9 /* from */
        start local 9 // int from
        31: .line 284
            aload 6 /* p1 */
            iload 8 /* i */
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            istore 10 /* to */
        start local 10 // int to
        32: .line 285
            aload 5 /* pbuf */
            aload 0 /* env */
            iload 9 /* from */
            iload 10 /* to */
            invokestatic org.joni.CodeRangeBuffer.addCodeRangeToBuff:(Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;II)Lorg/joni/CodeRangeBuffer;
            astore 5 /* pbuf */
        end local 10 // int to
        end local 9 // int from
        33: .line 282
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 8 /* i */
            iload 7 /* n1 */
            if_icmplt 30
        end local 8 // int i
        35: .line 288
            aload 5 /* pbuf */
            areturn
        end local 7 // int n1
        end local 6 // int[] p1
        end local 5 // org.joni.CodeRangeBuffer pbuf
        end local 4 // boolean not2
        end local 3 // org.joni.CodeRangeBuffer bbuf2
        end local 2 // boolean not1
        end local 1 // org.joni.CodeRangeBuffer bbuf1
        end local 0 // org.joni.ScanEnvironment env
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   36     0    env  Lorg/joni/ScanEnvironment;
            0   36     1  bbuf1  Lorg/joni/CodeRangeBuffer;
            0   36     2   not1  Z
            0   36     3  bbuf2  Lorg/joni/CodeRangeBuffer;
            0   36     4   not2  Z
            1   36     5   pbuf  Lorg/joni/CodeRangeBuffer;
            9   10     6   tbuf  Lorg/joni/CodeRangeBuffer;
            7   10     7   tnot  Z
           20   21     6   tbuf  Lorg/joni/CodeRangeBuffer;
           18   21     7   tnot  Z
           27   36     6     p1  [I
           28   36     7     n1  I
           29   35     8      i  I
           31   33     9   from  I
           32   33    10     to  I
    MethodParameters:
       Name  Flags
      env    
      bbuf1  
      not1   
      bbuf2  
      not2   

  public static org.joni.CodeRangeBuffer andCodeRange1(org.joni.CodeRangeBuffer, org.joni.ScanEnvironment, int, int, int[], int);
    descriptor: (Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;II[II)Lorg/joni/CodeRangeBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // org.joni.CodeRangeBuffer pbuf
        start local 1 // org.joni.ScanEnvironment env
        start local 2 // int from1
        start local 3 // int to1
        start local 4 // int[] data
        start local 5 // int n
         0: .line 293
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         1: goto 20
         2: .line 294
      StackMap locals: int
      StackMap stack:
            aload 4 /* data */
            iload 6 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            iaload
            istore 7 /* from2 */
        start local 7 // int from2
         3: .line 295
            aload 4 /* data */
            iload 6 /* i */
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            istore 8 /* to2 */
        start local 8 // int to2
         4: .line 296
            iload 7 /* from2 */
            iload 2 /* from1 */
            if_icmpge 9
         5: .line 297
            iload 8 /* to2 */
            iload 2 /* from1 */
            if_icmpge 7
         6: .line 298
            goto 19
         7: .line 300
      StackMap locals: int int
      StackMap stack:
            iload 8 /* to2 */
            iconst_1
            iadd
            istore 2 /* from1 */
         8: .line 302
            goto 18
      StackMap locals:
      StackMap stack:
         9: iload 7 /* from2 */
            iload 3 /* to1 */
            if_icmpgt 17
        10: .line 303
            iload 8 /* to2 */
            iload 3 /* to1 */
            if_icmpge 15
        11: .line 304
            iload 2 /* from1 */
            iload 7 /* from2 */
            iconst_1
            isub
            if_icmpgt 13
        12: .line 305
            aload 0 /* pbuf */
            aload 1 /* env */
            iload 2 /* from1 */
            iload 7 /* from2 */
            iconst_1
            isub
            invokestatic org.joni.CodeRangeBuffer.addCodeRangeToBuff:(Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;II)Lorg/joni/CodeRangeBuffer;
            astore 0 /* pbuf */
        13: .line 307
      StackMap locals:
      StackMap stack:
            iload 8 /* to2 */
            iconst_1
            iadd
            istore 2 /* from1 */
        14: .line 308
            goto 18
        15: .line 309
      StackMap locals:
      StackMap stack:
            iload 7 /* from2 */
            iconst_1
            isub
            istore 3 /* to1 */
        16: .line 311
            goto 18
        17: .line 312
      StackMap locals:
      StackMap stack:
            iload 7 /* from2 */
            istore 2 /* from1 */
        18: .line 314
      StackMap locals:
      StackMap stack:
            iload 2 /* from1 */
            iload 3 /* to1 */
            if_icmple 19
            goto 21
        end local 8 // int to2
        end local 7 // int from2
        19: .line 293
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 6 /* i */
            iload 5 /* n */
            if_icmplt 2
        end local 6 // int i
        21: .line 317
      StackMap locals:
      StackMap stack:
            iload 2 /* from1 */
            iload 3 /* to1 */
            if_icmpgt 23
        22: .line 318
            aload 0 /* pbuf */
            aload 1 /* env */
            iload 2 /* from1 */
            iload 3 /* to1 */
            invokestatic org.joni.CodeRangeBuffer.addCodeRangeToBuff:(Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;II)Lorg/joni/CodeRangeBuffer;
            astore 0 /* pbuf */
        23: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* pbuf */
            areturn
        end local 5 // int n
        end local 4 // int[] data
        end local 3 // int to1
        end local 2 // int from1
        end local 1 // org.joni.ScanEnvironment env
        end local 0 // org.joni.CodeRangeBuffer pbuf
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   24     0   pbuf  Lorg/joni/CodeRangeBuffer;
            0   24     1    env  Lorg/joni/ScanEnvironment;
            0   24     2  from1  I
            0   24     3    to1  I
            0   24     4   data  [I
            0   24     5      n  I
            1   21     6      i  I
            3   19     7  from2  I
            4   19     8    to2  I
    MethodParameters:
       Name  Flags
      pbuf   
      env    
      from1  
      to1    
      data   
      n      

  public static org.joni.CodeRangeBuffer andCodeRangeBuff(org.joni.CodeRangeBuffer, boolean, org.joni.CodeRangeBuffer, boolean, org.joni.ScanEnvironment);
    descriptor: (Lorg/joni/CodeRangeBuffer;ZLorg/joni/CodeRangeBuffer;ZLorg/joni/ScanEnvironment;)Lorg/joni/CodeRangeBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=18, args_size=5
        start local 0 // org.joni.CodeRangeBuffer bbuf1
        start local 1 // boolean not1
        start local 2 // org.joni.CodeRangeBuffer bbuf2
        start local 3 // boolean not2
        start local 4 // org.joni.ScanEnvironment env
         0: .line 327
            aconst_null
            astore 5 /* pbuf */
        start local 5 // org.joni.CodeRangeBuffer pbuf
         1: .line 329
            aload 0 /* bbuf1 */
            ifnonnull 4
         2: .line 330
            iload 1 /* not1 */
            ifeq 3
            aload 2 /* bbuf2 */
            ifnull 3
            aload 2 /* bbuf2 */
            invokevirtual org.joni.CodeRangeBuffer.clone:()Lorg/joni/CodeRangeBuffer;
            areturn
         3: .line 331
      StackMap locals: org.joni.CodeRangeBuffer
      StackMap stack:
            aconst_null
            areturn
         4: .line 332
      StackMap locals:
      StackMap stack:
            aload 2 /* bbuf2 */
            ifnonnull 7
         5: .line 333
            iload 3 /* not2 */
            ifeq 6
            aload 0 /* bbuf1 */
            invokevirtual org.joni.CodeRangeBuffer.clone:()Lorg/joni/CodeRangeBuffer;
            areturn
         6: .line 334
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         7: .line 337
      StackMap locals:
      StackMap stack:
            iload 1 /* not1 */
            ifeq 12
         8: .line 341
            iload 1 /* not1 */
            istore 7 /* tnot */
        start local 7 // boolean tnot
         9: iload 3 /* not2 */
            istore 1 /* not1 */
            iload 7 /* tnot */
            istore 3 /* not2 */
        10: .line 342
            aload 0 /* bbuf1 */
            astore 6 /* tbuf */
        start local 6 // org.joni.CodeRangeBuffer tbuf
        11: aload 2 /* bbuf2 */
            astore 0 /* bbuf1 */
            aload 6 /* tbuf */
            astore 2 /* bbuf2 */
        end local 7 // boolean tnot
        end local 6 // org.joni.CodeRangeBuffer tbuf
        12: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* bbuf1 */
            getfield org.joni.CodeRangeBuffer.p:[I
            astore 6 /* p1 */
        start local 6 // int[] p1
        13: .line 346
            aload 6 /* p1 */
            iconst_0
            iaload
            istore 7 /* n1 */
        start local 7 // int n1
        14: .line 347
            aload 2 /* bbuf2 */
            getfield org.joni.CodeRangeBuffer.p:[I
            astore 8 /* p2 */
        start local 8 // int[] p2
        15: .line 348
            aload 8 /* p2 */
            iconst_0
            iaload
            istore 9 /* n2 */
        start local 9 // int n2
        16: .line 350
            iload 3 /* not2 */
            ifne 39
            iload 1 /* not1 */
            ifne 39
        17: .line 351
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        18: goto 37
        19: .line 352
      StackMap locals: org.joni.CodeRangeBuffer int org.joni.CodeRangeBuffer int org.joni.ScanEnvironment org.joni.CodeRangeBuffer int[] int int[] int int
      StackMap stack:
            aload 6 /* p1 */
            iload 10 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            iaload
            istore 11 /* from1 */
        start local 11 // int from1
        20: .line 353
            aload 6 /* p1 */
            iload 10 /* i */
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            istore 12 /* to1 */
        start local 12 // int to1
        21: .line 355
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        22: goto 35
        23: .line 356
      StackMap locals: int int int
      StackMap stack:
            aload 8 /* p2 */
            iload 13 /* j */
            iconst_2
            imul
            iconst_1
            iadd
            iaload
            istore 14 /* from2 */
        start local 14 // int from2
        24: .line 357
            aload 8 /* p2 */
            iload 13 /* j */
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            istore 15 /* to2 */
        start local 15 // int to2
        25: .line 359
            iload 14 /* from2 */
            iload 12 /* to1 */
            if_icmple 26
            goto 36
        26: .line 360
      StackMap locals: int int
      StackMap stack:
            iload 15 /* to2 */
            iload 11 /* from1 */
            if_icmpge 27
            goto 34
        27: .line 361
      StackMap locals:
      StackMap stack:
            iload 11 /* from1 */
            iload 14 /* from2 */
            if_icmple 28
            iload 11 /* from1 */
            goto 29
      StackMap locals:
      StackMap stack:
        28: iload 14 /* from2 */
      StackMap locals:
      StackMap stack: int
        29: istore 16 /* from */
        start local 16 // int from
        30: .line 362
            iload 12 /* to1 */
            iload 15 /* to2 */
            if_icmpge 31
            iload 12 /* to1 */
            goto 32
      StackMap locals: int
      StackMap stack:
        31: iload 15 /* to2 */
      StackMap locals:
      StackMap stack: int
        32: istore 17 /* to */
        start local 17 // int to
        33: .line 363
            aload 5 /* pbuf */
            aload 4 /* env */
            iload 16 /* from */
            iload 17 /* to */
            invokestatic org.joni.CodeRangeBuffer.addCodeRangeToBuff:(Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;II)Lorg/joni/CodeRangeBuffer;
            astore 5 /* pbuf */
        end local 17 // int to
        end local 16 // int from
        end local 15 // int to2
        end local 14 // int from2
        34: .line 355
      StackMap locals:
      StackMap stack:
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        35: iload 13 /* j */
            iload 9 /* n2 */
            if_icmplt 23
        end local 13 // int j
        end local 12 // int to1
        end local 11 // int from1
        36: .line 351
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 10 /* i */
            iload 7 /* n1 */
            if_icmplt 19
        end local 10 // int i
        38: .line 366
            goto 47
      StackMap locals:
      StackMap stack:
        39: iload 1 /* not1 */
            ifne 47
        40: .line 367
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        41: goto 46
        42: .line 368
      StackMap locals: int
      StackMap stack:
            aload 6 /* p1 */
            iload 10 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            iaload
            istore 11 /* from1 */
        start local 11 // int from1
        43: .line 369
            aload 6 /* p1 */
            iload 10 /* i */
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            istore 12 /* to1 */
        start local 12 // int to1
        44: .line 370
            aload 5 /* pbuf */
            aload 4 /* env */
            iload 11 /* from1 */
            iload 12 /* to1 */
            aload 8 /* p2 */
            iload 9 /* n2 */
            invokestatic org.joni.CodeRangeBuffer.andCodeRange1:(Lorg/joni/CodeRangeBuffer;Lorg/joni/ScanEnvironment;II[II)Lorg/joni/CodeRangeBuffer;
            astore 5 /* pbuf */
        end local 12 // int to1
        end local 11 // int from1
        45: .line 367
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        46: iload 10 /* i */
            iload 7 /* n1 */
            if_icmplt 42
        end local 10 // int i
        47: .line 374
      StackMap locals:
      StackMap stack:
            aload 5 /* pbuf */
            areturn
        end local 9 // int n2
        end local 8 // int[] p2
        end local 7 // int n1
        end local 6 // int[] p1
        end local 5 // org.joni.CodeRangeBuffer pbuf
        end local 4 // org.joni.ScanEnvironment env
        end local 3 // boolean not2
        end local 2 // org.joni.CodeRangeBuffer bbuf2
        end local 1 // boolean not1
        end local 0 // org.joni.CodeRangeBuffer bbuf1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   48     0  bbuf1  Lorg/joni/CodeRangeBuffer;
            0   48     1   not1  Z
            0   48     2  bbuf2  Lorg/joni/CodeRangeBuffer;
            0   48     3   not2  Z
            0   48     4    env  Lorg/joni/ScanEnvironment;
            1   48     5   pbuf  Lorg/joni/CodeRangeBuffer;
           11   12     6   tbuf  Lorg/joni/CodeRangeBuffer;
            9   12     7   tnot  Z
           13   48     6     p1  [I
           14   48     7     n1  I
           15   48     8     p2  [I
           16   48     9     n2  I
           18   38    10      i  I
           20   36    11  from1  I
           21   36    12    to1  I
           22   36    13      j  I
           24   34    14  from2  I
           25   34    15    to2  I
           30   34    16   from  I
           33   34    17     to  I
           41   47    10      i  I
           43   45    11  from1  I
           44   45    12    to1  I
    MethodParameters:
       Name  Flags
      bbuf1  
      not1   
      bbuf2  
      not2   
      env    

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.joni.CodeRangeBuffer this
         0: .line 378
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 379
            aload 1 /* buf */
            ldc "CodeRange"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 380
            aload 1 /* buf */
            new java.lang.StringBuilder
            dup
            ldc "\n  used: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.used:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 381
            aload 1 /* buf */
            new java.lang.StringBuilder
            dup
            ldc ", size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iconst_0
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 382
            aload 1 /* buf */
            ldc "\n  ranges: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 384
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 10
         7: .line 385
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* buf */
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iload 2 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            iaload
            invokestatic org.joni.CodeRangeBuffer.rangeNumToString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iload 2 /* i */
            iconst_2
            imul
            iconst_2
            iadd
            iaload
            invokestatic org.joni.CodeRangeBuffer.rangeNumToString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 386
            iload 2 /* i */
            ifle 9
            iload 2 /* i */
            bipush 6
            irem
            ifne 9
            aload 1 /* buf */
            ldc "\n          "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 384
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            aload 0 /* this */
            getfield org.joni.CodeRangeBuffer.p:[I
            iconst_0
            iaload
            if_icmplt 7
        end local 2 // int i
        11: .line 389
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // org.joni.CodeRangeBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/joni/CodeRangeBuffer;
            1   12     1   buf  Ljava/lang/StringBuilder;
            6   11     2     i  I

  private static java.lang.String rangeNumToString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int num
         0: .line 393
            new java.lang.StringBuilder
            dup
            ldc "0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* num */
            bipush 16
            invokestatic java.lang.Integer.toString:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // int num
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   num  I
    MethodParameters:
      Name  Flags
      num   

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.joni.CodeRangeBuffer.clone:()Lorg/joni/CodeRangeBuffer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.CloneNotSupportedException
}
SourceFile: "CodeRangeBuffer.java"