public class org.objectweb.asm.ByteVector
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.objectweb.asm.ByteVector
  super_class: java.lang.Object
{
  byte[] data;
    descriptor: [B
    flags: (0x0000) 

  int length;
    descriptor: I
    flags: (0x0000) 

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.objectweb.asm.ByteVector this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 46
            aload 0 /* this */
            bipush 64
            newarray 8
            putfield org.objectweb.asm.ByteVector.data:[B
         2: .line 47
            return
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/objectweb/asm/ByteVector;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // int initialCapacity
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            iload 1 /* initialCapacity */
            newarray 8
            putfield org.objectweb.asm.ByteVector.data:[B
         2: .line 56
            return
        end local 1 // int initialCapacity
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/objectweb/asm/ByteVector;
            0    3     1  initialCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  final

  void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // byte[] data
         0: .line 63
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 64
            aload 0 /* this */
            aload 1 /* data */
            putfield org.objectweb.asm.ByteVector.data:[B
         2: .line 65
            aload 0 /* this */
            aload 1 /* data */
            arraylength
            putfield org.objectweb.asm.ByteVector.length:I
         3: .line 66
            return
        end local 1 // byte[] data
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/objectweb/asm/ByteVector;
            0    4     1  data  [B
    MethodParameters:
      Name  Flags
      data  final

  public org.objectweb.asm.ByteVector putByte(int);
    descriptor: (I)Lorg/objectweb/asm/ByteVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // int byteValue
         0: .line 75
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            istore 2 /* currentLength */
        start local 2 // int currentLength
         1: .line 76
            iload 2 /* currentLength */
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            if_icmple 3
         2: .line 77
            aload 0 /* this */
            iconst_1
            invokevirtual org.objectweb.asm.ByteVector.enlarge:(I)V
         3: .line 79
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            iload 2 /* currentLength */
            iinc 2 /* currentLength */ 1
            iload 1 /* byteValue */
            i2b
            bastore
         4: .line 80
            aload 0 /* this */
            iload 2 /* currentLength */
            putfield org.objectweb.asm.ByteVector.length:I
         5: .line 81
            aload 0 /* this */
            areturn
        end local 2 // int currentLength
        end local 1 // int byteValue
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/objectweb/asm/ByteVector;
            0    6     1      byteValue  I
            1    6     2  currentLength  I
    MethodParameters:
           Name  Flags
      byteValue  final

  final org.objectweb.asm.ByteVector put11(int, int);
    descriptor: (II)Lorg/objectweb/asm/ByteVector;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // int byteValue1
        start local 2 // int byteValue2
         0: .line 92
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            istore 3 /* currentLength */
        start local 3 // int currentLength
         1: .line 93
            iload 3 /* currentLength */
            iconst_2
            iadd
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            if_icmple 3
         2: .line 94
            aload 0 /* this */
            iconst_2
            invokevirtual org.objectweb.asm.ByteVector.enlarge:(I)V
         3: .line 96
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            astore 4 /* currentData */
        start local 4 // byte[] currentData
         4: .line 97
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 1 /* byteValue1 */
            i2b
            bastore
         5: .line 98
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 2 /* byteValue2 */
            i2b
            bastore
         6: .line 99
            aload 0 /* this */
            iload 3 /* currentLength */
            putfield org.objectweb.asm.ByteVector.length:I
         7: .line 100
            aload 0 /* this */
            areturn
        end local 4 // byte[] currentData
        end local 3 // int currentLength
        end local 2 // int byteValue2
        end local 1 // int byteValue1
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/objectweb/asm/ByteVector;
            0    8     1     byteValue1  I
            0    8     2     byteValue2  I
            1    8     3  currentLength  I
            4    8     4    currentData  [B
    MethodParameters:
            Name  Flags
      byteValue1  final
      byteValue2  final

  public org.objectweb.asm.ByteVector putShort(int);
    descriptor: (I)Lorg/objectweb/asm/ByteVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // int shortValue
         0: .line 110
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            istore 2 /* currentLength */
        start local 2 // int currentLength
         1: .line 111
            iload 2 /* currentLength */
            iconst_2
            iadd
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            if_icmple 3
         2: .line 112
            aload 0 /* this */
            iconst_2
            invokevirtual org.objectweb.asm.ByteVector.enlarge:(I)V
         3: .line 114
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            astore 3 /* currentData */
        start local 3 // byte[] currentData
         4: .line 115
            aload 3 /* currentData */
            iload 2 /* currentLength */
            iinc 2 /* currentLength */ 1
            iload 1 /* shortValue */
            bipush 8
            iushr
            i2b
            bastore
         5: .line 116
            aload 3 /* currentData */
            iload 2 /* currentLength */
            iinc 2 /* currentLength */ 1
            iload 1 /* shortValue */
            i2b
            bastore
         6: .line 117
            aload 0 /* this */
            iload 2 /* currentLength */
            putfield org.objectweb.asm.ByteVector.length:I
         7: .line 118
            aload 0 /* this */
            areturn
        end local 3 // byte[] currentData
        end local 2 // int currentLength
        end local 1 // int shortValue
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/objectweb/asm/ByteVector;
            0    8     1     shortValue  I
            1    8     2  currentLength  I
            4    8     3    currentData  [B
    MethodParameters:
            Name  Flags
      shortValue  final

  final org.objectweb.asm.ByteVector put12(int, int);
    descriptor: (II)Lorg/objectweb/asm/ByteVector;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // int byteValue
        start local 2 // int shortValue
         0: .line 130
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            istore 3 /* currentLength */
        start local 3 // int currentLength
         1: .line 131
            iload 3 /* currentLength */
            iconst_3
            iadd
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            if_icmple 3
         2: .line 132
            aload 0 /* this */
            iconst_3
            invokevirtual org.objectweb.asm.ByteVector.enlarge:(I)V
         3: .line 134
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            astore 4 /* currentData */
        start local 4 // byte[] currentData
         4: .line 135
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 1 /* byteValue */
            i2b
            bastore
         5: .line 136
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 2 /* shortValue */
            bipush 8
            iushr
            i2b
            bastore
         6: .line 137
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 2 /* shortValue */
            i2b
            bastore
         7: .line 138
            aload 0 /* this */
            iload 3 /* currentLength */
            putfield org.objectweb.asm.ByteVector.length:I
         8: .line 139
            aload 0 /* this */
            areturn
        end local 4 // byte[] currentData
        end local 3 // int currentLength
        end local 2 // int shortValue
        end local 1 // int byteValue
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/objectweb/asm/ByteVector;
            0    9     1      byteValue  I
            0    9     2     shortValue  I
            1    9     3  currentLength  I
            4    9     4    currentData  [B
    MethodParameters:
            Name  Flags
      byteValue   final
      shortValue  final

  final org.objectweb.asm.ByteVector put112(int, int, int);
    descriptor: (III)Lorg/objectweb/asm/ByteVector;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // int byteValue1
        start local 2 // int byteValue2
        start local 3 // int shortValue
         0: .line 152
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            istore 4 /* currentLength */
        start local 4 // int currentLength
         1: .line 153
            iload 4 /* currentLength */
            iconst_4
            iadd
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            if_icmple 3
         2: .line 154
            aload 0 /* this */
            iconst_4
            invokevirtual org.objectweb.asm.ByteVector.enlarge:(I)V
         3: .line 156
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            astore 5 /* currentData */
        start local 5 // byte[] currentData
         4: .line 157
            aload 5 /* currentData */
            iload 4 /* currentLength */
            iinc 4 /* currentLength */ 1
            iload 1 /* byteValue1 */
            i2b
            bastore
         5: .line 158
            aload 5 /* currentData */
            iload 4 /* currentLength */
            iinc 4 /* currentLength */ 1
            iload 2 /* byteValue2 */
            i2b
            bastore
         6: .line 159
            aload 5 /* currentData */
            iload 4 /* currentLength */
            iinc 4 /* currentLength */ 1
            iload 3 /* shortValue */
            bipush 8
            iushr
            i2b
            bastore
         7: .line 160
            aload 5 /* currentData */
            iload 4 /* currentLength */
            iinc 4 /* currentLength */ 1
            iload 3 /* shortValue */
            i2b
            bastore
         8: .line 161
            aload 0 /* this */
            iload 4 /* currentLength */
            putfield org.objectweb.asm.ByteVector.length:I
         9: .line 162
            aload 0 /* this */
            areturn
        end local 5 // byte[] currentData
        end local 4 // int currentLength
        end local 3 // int shortValue
        end local 2 // int byteValue2
        end local 1 // int byteValue1
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/objectweb/asm/ByteVector;
            0   10     1     byteValue1  I
            0   10     2     byteValue2  I
            0   10     3     shortValue  I
            1   10     4  currentLength  I
            4   10     5    currentData  [B
    MethodParameters:
            Name  Flags
      byteValue1  final
      byteValue2  final
      shortValue  final

  public org.objectweb.asm.ByteVector putInt(int);
    descriptor: (I)Lorg/objectweb/asm/ByteVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // int intValue
         0: .line 172
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            istore 2 /* currentLength */
        start local 2 // int currentLength
         1: .line 173
            iload 2 /* currentLength */
            iconst_4
            iadd
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            if_icmple 3
         2: .line 174
            aload 0 /* this */
            iconst_4
            invokevirtual org.objectweb.asm.ByteVector.enlarge:(I)V
         3: .line 176
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            astore 3 /* currentData */
        start local 3 // byte[] currentData
         4: .line 177
            aload 3 /* currentData */
            iload 2 /* currentLength */
            iinc 2 /* currentLength */ 1
            iload 1 /* intValue */
            bipush 24
            iushr
            i2b
            bastore
         5: .line 178
            aload 3 /* currentData */
            iload 2 /* currentLength */
            iinc 2 /* currentLength */ 1
            iload 1 /* intValue */
            bipush 16
            iushr
            i2b
            bastore
         6: .line 179
            aload 3 /* currentData */
            iload 2 /* currentLength */
            iinc 2 /* currentLength */ 1
            iload 1 /* intValue */
            bipush 8
            iushr
            i2b
            bastore
         7: .line 180
            aload 3 /* currentData */
            iload 2 /* currentLength */
            iinc 2 /* currentLength */ 1
            iload 1 /* intValue */
            i2b
            bastore
         8: .line 181
            aload 0 /* this */
            iload 2 /* currentLength */
            putfield org.objectweb.asm.ByteVector.length:I
         9: .line 182
            aload 0 /* this */
            areturn
        end local 3 // byte[] currentData
        end local 2 // int currentLength
        end local 1 // int intValue
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/objectweb/asm/ByteVector;
            0   10     1       intValue  I
            1   10     2  currentLength  I
            4   10     3    currentData  [B
    MethodParameters:
          Name  Flags
      intValue  final

  final org.objectweb.asm.ByteVector put122(int, int, int);
    descriptor: (III)Lorg/objectweb/asm/ByteVector;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // int byteValue
        start local 2 // int shortValue1
        start local 3 // int shortValue2
         0: .line 195
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            istore 4 /* currentLength */
        start local 4 // int currentLength
         1: .line 196
            iload 4 /* currentLength */
            iconst_5
            iadd
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            if_icmple 3
         2: .line 197
            aload 0 /* this */
            iconst_5
            invokevirtual org.objectweb.asm.ByteVector.enlarge:(I)V
         3: .line 199
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            astore 5 /* currentData */
        start local 5 // byte[] currentData
         4: .line 200
            aload 5 /* currentData */
            iload 4 /* currentLength */
            iinc 4 /* currentLength */ 1
            iload 1 /* byteValue */
            i2b
            bastore
         5: .line 201
            aload 5 /* currentData */
            iload 4 /* currentLength */
            iinc 4 /* currentLength */ 1
            iload 2 /* shortValue1 */
            bipush 8
            iushr
            i2b
            bastore
         6: .line 202
            aload 5 /* currentData */
            iload 4 /* currentLength */
            iinc 4 /* currentLength */ 1
            iload 2 /* shortValue1 */
            i2b
            bastore
         7: .line 203
            aload 5 /* currentData */
            iload 4 /* currentLength */
            iinc 4 /* currentLength */ 1
            iload 3 /* shortValue2 */
            bipush 8
            iushr
            i2b
            bastore
         8: .line 204
            aload 5 /* currentData */
            iload 4 /* currentLength */
            iinc 4 /* currentLength */ 1
            iload 3 /* shortValue2 */
            i2b
            bastore
         9: .line 205
            aload 0 /* this */
            iload 4 /* currentLength */
            putfield org.objectweb.asm.ByteVector.length:I
        10: .line 206
            aload 0 /* this */
            areturn
        end local 5 // byte[] currentData
        end local 4 // int currentLength
        end local 3 // int shortValue2
        end local 2 // int shortValue1
        end local 1 // int byteValue
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/objectweb/asm/ByteVector;
            0   11     1      byteValue  I
            0   11     2    shortValue1  I
            0   11     3    shortValue2  I
            1   11     4  currentLength  I
            4   11     5    currentData  [B
    MethodParameters:
             Name  Flags
      byteValue    final
      shortValue1  final
      shortValue2  final

  public org.objectweb.asm.ByteVector putLong(long);
    descriptor: (J)Lorg/objectweb/asm/ByteVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // long longValue
         0: .line 216
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            istore 3 /* currentLength */
        start local 3 // int currentLength
         1: .line 217
            iload 3 /* currentLength */
            bipush 8
            iadd
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            if_icmple 3
         2: .line 218
            aload 0 /* this */
            bipush 8
            invokevirtual org.objectweb.asm.ByteVector.enlarge:(I)V
         3: .line 220
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            astore 4 /* currentData */
        start local 4 // byte[] currentData
         4: .line 221
            lload 1 /* longValue */
            bipush 32
            lushr
            l2i
            istore 5 /* intValue */
        start local 5 // int intValue
         5: .line 222
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 5 /* intValue */
            bipush 24
            iushr
            i2b
            bastore
         6: .line 223
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 5 /* intValue */
            bipush 16
            iushr
            i2b
            bastore
         7: .line 224
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 5 /* intValue */
            bipush 8
            iushr
            i2b
            bastore
         8: .line 225
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 5 /* intValue */
            i2b
            bastore
         9: .line 226
            lload 1 /* longValue */
            l2i
            istore 5 /* intValue */
        10: .line 227
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 5 /* intValue */
            bipush 24
            iushr
            i2b
            bastore
        11: .line 228
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 5 /* intValue */
            bipush 16
            iushr
            i2b
            bastore
        12: .line 229
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 5 /* intValue */
            bipush 8
            iushr
            i2b
            bastore
        13: .line 230
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 5 /* intValue */
            i2b
            bastore
        14: .line 231
            aload 0 /* this */
            iload 3 /* currentLength */
            putfield org.objectweb.asm.ByteVector.length:I
        15: .line 232
            aload 0 /* this */
            areturn
        end local 5 // int intValue
        end local 4 // byte[] currentData
        end local 3 // int currentLength
        end local 1 // long longValue
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lorg/objectweb/asm/ByteVector;
            0   16     1      longValue  J
            1   16     3  currentLength  I
            4   16     4    currentData  [B
            5   16     5       intValue  I
    MethodParameters:
           Name  Flags
      longValue  final

  public org.objectweb.asm.ByteVector putUTF8(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/objectweb/asm/ByteVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // java.lang.String stringValue
         0: .line 244
            aload 1 /* stringValue */
            invokevirtual java.lang.String.length:()I
            istore 2 /* charLength */
        start local 2 // int charLength
         1: .line 245
            iload 2 /* charLength */
            ldc 65535
            if_icmple 3
         2: .line 246
            new java.lang.IllegalArgumentException
            dup
            ldc "UTF8 string too large"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 248
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            istore 3 /* currentLength */
        start local 3 // int currentLength
         4: .line 249
            iload 3 /* currentLength */
            iconst_2
            iadd
            iload 2 /* charLength */
            iadd
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            if_icmple 6
         5: .line 250
            aload 0 /* this */
            iconst_2
            iload 2 /* charLength */
            iadd
            invokevirtual org.objectweb.asm.ByteVector.enlarge:(I)V
         6: .line 252
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            astore 4 /* currentData */
        start local 4 // byte[] currentData
         7: .line 257
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 2 /* charLength */
            bipush 8
            iushr
            i2b
            bastore
         8: .line 258
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 2 /* charLength */
            i2b
            bastore
         9: .line 259
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        10: goto 18
        11: .line 260
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* stringValue */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* charValue */
        start local 6 // char charValue
        12: .line 261
            iload 6 /* charValue */
            iconst_1
            if_icmplt 15
            iload 6 /* charValue */
            bipush 127
            if_icmpgt 15
        13: .line 262
            aload 4 /* currentData */
            iload 3 /* currentLength */
            iinc 3 /* currentLength */ 1
            iload 6 /* charValue */
            i2b
            bastore
        14: .line 263
            goto 17
        15: .line 264
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* currentLength */
            putfield org.objectweb.asm.ByteVector.length:I
        16: .line 265
            aload 0 /* this */
            aload 1 /* stringValue */
            iload 5 /* i */
            ldc 65535
            invokevirtual org.objectweb.asm.ByteVector.encodeUtf8:(Ljava/lang/String;II)Lorg/objectweb/asm/ByteVector;
            areturn
        end local 6 // char charValue
        17: .line 259
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            iload 2 /* charLength */
            if_icmplt 11
        end local 5 // int i
        19: .line 268
            aload 0 /* this */
            iload 3 /* currentLength */
            putfield org.objectweb.asm.ByteVector.length:I
        20: .line 269
            aload 0 /* this */
            areturn
        end local 4 // byte[] currentData
        end local 3 // int currentLength
        end local 2 // int charLength
        end local 1 // java.lang.String stringValue
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/objectweb/asm/ByteVector;
            0   21     1    stringValue  Ljava/lang/String;
            1   21     2     charLength  I
            4   21     3  currentLength  I
            7   21     4    currentData  [B
           10   19     5              i  I
           12   17     6      charValue  C
    MethodParameters:
             Name  Flags
      stringValue  final

  final org.objectweb.asm.ByteVector encodeUtf8(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Lorg/objectweb/asm/ByteVector;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // java.lang.String stringValue
        start local 2 // int offset
        start local 3 // int maxByteLength
         0: .line 285
            aload 1 /* stringValue */
            invokevirtual java.lang.String.length:()I
            istore 4 /* charLength */
        start local 4 // int charLength
         1: .line 286
            iload 2 /* offset */
            istore 5 /* byteLength */
        start local 5 // int byteLength
         2: .line 287
            iload 2 /* offset */
            istore 6 /* i */
        start local 6 // int i
         3: goto 13
         4: .line 288
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* stringValue */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* charValue */
        start local 7 // char charValue
         5: .line 289
            iload 7 /* charValue */
            iconst_1
            if_icmplt 8
            iload 7 /* charValue */
            bipush 127
            if_icmpgt 8
         6: .line 290
            iinc 5 /* byteLength */ 1
         7: .line 291
            goto 12
      StackMap locals: int
      StackMap stack:
         8: iload 7 /* charValue */
            sipush 2047
            if_icmpgt 11
         9: .line 292
            iinc 5 /* byteLength */ 2
        10: .line 293
            goto 12
        11: .line 294
      StackMap locals:
      StackMap stack:
            iinc 5 /* byteLength */ 3
        end local 7 // char charValue
        12: .line 287
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            iload 4 /* charLength */
            if_icmplt 4
        end local 6 // int i
        14: .line 297
            iload 5 /* byteLength */
            iload 3 /* maxByteLength */
            if_icmple 16
        15: .line 298
            new java.lang.IllegalArgumentException
            dup
            ldc "UTF8 string too large"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            iload 2 /* offset */
            isub
            iconst_2
            isub
            istore 6 /* byteLengthOffset */
        start local 6 // int byteLengthOffset
        17: .line 302
            iload 6 /* byteLengthOffset */
            iflt 20
        18: .line 303
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            iload 6 /* byteLengthOffset */
            iload 5 /* byteLength */
            bipush 8
            iushr
            i2b
            bastore
        19: .line 304
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            iload 6 /* byteLengthOffset */
            iconst_1
            iadd
            iload 5 /* byteLength */
            i2b
            bastore
        20: .line 306
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            iload 5 /* byteLength */
            iadd
            iload 2 /* offset */
            isub
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            if_icmple 22
        21: .line 307
            aload 0 /* this */
            iload 5 /* byteLength */
            iload 2 /* offset */
            isub
            invokevirtual org.objectweb.asm.ByteVector.enlarge:(I)V
        22: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            istore 7 /* currentLength */
        start local 7 // int currentLength
        23: .line 310
            iload 2 /* offset */
            istore 8 /* i */
        start local 8 // int i
        24: goto 37
        25: .line 311
      StackMap locals: int int
      StackMap stack:
            aload 1 /* stringValue */
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* charValue */
        start local 9 // char charValue
        26: .line 312
            iload 9 /* charValue */
            iconst_1
            if_icmplt 29
            iload 9 /* charValue */
            bipush 127
            if_icmpgt 29
        27: .line 313
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            iload 7 /* currentLength */
            iinc 7 /* currentLength */ 1
            iload 9 /* charValue */
            i2b
            bastore
        28: .line 314
            goto 36
      StackMap locals: int
      StackMap stack:
        29: iload 9 /* charValue */
            sipush 2047
            if_icmpgt 33
        30: .line 315
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            iload 7 /* currentLength */
            iinc 7 /* currentLength */ 1
            sipush 192
            iload 9 /* charValue */
            bipush 6
            ishr
            bipush 31
            iand
            ior
            i2b
            bastore
        31: .line 316
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            iload 7 /* currentLength */
            iinc 7 /* currentLength */ 1
            sipush 128
            iload 9 /* charValue */
            bipush 63
            iand
            ior
            i2b
            bastore
        32: .line 317
            goto 36
        33: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            iload 7 /* currentLength */
            iinc 7 /* currentLength */ 1
            sipush 224
            iload 9 /* charValue */
            bipush 12
            ishr
            bipush 15
            iand
            ior
            i2b
            bastore
        34: .line 319
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            iload 7 /* currentLength */
            iinc 7 /* currentLength */ 1
            sipush 128
            iload 9 /* charValue */
            bipush 6
            ishr
            bipush 63
            iand
            ior
            i2b
            bastore
        35: .line 320
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            iload 7 /* currentLength */
            iinc 7 /* currentLength */ 1
            sipush 128
            iload 9 /* charValue */
            bipush 63
            iand
            ior
            i2b
            bastore
        end local 9 // char charValue
        36: .line 310
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 8 /* i */
            iload 4 /* charLength */
            if_icmplt 25
        end local 8 // int i
        38: .line 323
            aload 0 /* this */
            iload 7 /* currentLength */
            putfield org.objectweb.asm.ByteVector.length:I
        39: .line 324
            aload 0 /* this */
            areturn
        end local 7 // int currentLength
        end local 6 // int byteLengthOffset
        end local 5 // int byteLength
        end local 4 // int charLength
        end local 3 // int maxByteLength
        end local 2 // int offset
        end local 1 // java.lang.String stringValue
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   40     0              this  Lorg/objectweb/asm/ByteVector;
            0   40     1       stringValue  Ljava/lang/String;
            0   40     2            offset  I
            0   40     3     maxByteLength  I
            1   40     4        charLength  I
            2   40     5        byteLength  I
            3   14     6                 i  I
            5   12     7         charValue  C
           17   40     6  byteLengthOffset  I
           23   40     7     currentLength  I
           24   38     8                 i  I
           26   36     9         charValue  C
    MethodParameters:
               Name  Flags
      stringValue    final
      offset         final
      maxByteLength  final

  public org.objectweb.asm.ByteVector putByteArray(byte[], int, int);
    descriptor: ([BII)Lorg/objectweb/asm/ByteVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // byte[] byteArrayValue
        start local 2 // int byteOffset
        start local 3 // int byteLength
         0: .line 339
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            iload 3 /* byteLength */
            iadd
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            if_icmple 2
         1: .line 340
            aload 0 /* this */
            iload 3 /* byteLength */
            invokevirtual org.objectweb.asm.ByteVector.enlarge:(I)V
         2: .line 342
      StackMap locals:
      StackMap stack:
            aload 1 /* byteArrayValue */
            ifnull 4
         3: .line 343
            aload 1 /* byteArrayValue */
            iload 2 /* byteOffset */
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            iload 3 /* byteLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.objectweb.asm.ByteVector.length:I
            iload 3 /* byteLength */
            iadd
            putfield org.objectweb.asm.ByteVector.length:I
         5: .line 346
            aload 0 /* this */
            areturn
        end local 3 // int byteLength
        end local 2 // int byteOffset
        end local 1 // byte[] byteArrayValue
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/objectweb/asm/ByteVector;
            0    6     1  byteArrayValue  [B
            0    6     2      byteOffset  I
            0    6     3      byteLength  I
    MethodParameters:
                Name  Flags
      byteArrayValue  final
      byteOffset      final
      byteLength      final

  private void enlarge(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.objectweb.asm.ByteVector this
        start local 1 // int size
         0: .line 355
            iconst_2
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            arraylength
            imul
            istore 2 /* doubleCapacity */
        start local 2 // int doubleCapacity
         1: .line 356
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            iload 1 /* size */
            iadd
            istore 3 /* minimalCapacity */
        start local 3 // int minimalCapacity
         2: .line 357
            iload 2 /* doubleCapacity */
            iload 3 /* minimalCapacity */
            if_icmple 3
            iload 2 /* doubleCapacity */
            goto 4
      StackMap locals: int int
      StackMap stack:
         3: iload 3 /* minimalCapacity */
      StackMap locals:
      StackMap stack: int
         4: newarray 8
            astore 4 /* newData */
        start local 4 // byte[] newData
         5: .line 358
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.data:[B
            iconst_0
            aload 4 /* newData */
            iconst_0
            aload 0 /* this */
            getfield org.objectweb.asm.ByteVector.length:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 359
            aload 0 /* this */
            aload 4 /* newData */
            putfield org.objectweb.asm.ByteVector.data:[B
         7: .line 360
            return
        end local 4 // byte[] newData
        end local 3 // int minimalCapacity
        end local 2 // int doubleCapacity
        end local 1 // int size
        end local 0 // org.objectweb.asm.ByteVector this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/objectweb/asm/ByteVector;
            0    8     1             size  I
            1    8     2   doubleCapacity  I
            2    8     3  minimalCapacity  I
            5    8     4          newData  [B
    MethodParameters:
      Name  Flags
      size  final
}
SourceFile: "ByteVector.java"