class io.netty.handler.codec.compression.Bzip2BitReader
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.netty.handler.codec.compression.Bzip2BitReader
  super_class: java.lang.Object
{
  private static final int MAX_COUNT_OF_READABLE_BYTES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 268435455

  private io.netty.buffer.ByteBuf in;
    descriptor: Lio/netty/buffer/ByteBuf;
    flags: (0x0002) ACC_PRIVATE

  private long bitBuffer;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
         0: .line 25
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/compression/Bzip2BitReader;

  void setByteBuf(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
        start local 1 // io.netty.buffer.ByteBuf in
         0: .line 50
            aload 0 /* this */
            aload 1 /* in */
            putfield io.netty.handler.codec.compression.Bzip2BitReader.in:Lio/netty/buffer/ByteBuf;
         1: .line 51
            return
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/compression/Bzip2BitReader;
            0    2     1    in  Lio/netty/buffer/ByteBuf;
    MethodParameters:
      Name  Flags
      in    

  int readBits(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
        start local 1 // int count
         0: .line 59
            iload 1 /* count */
            iflt 1
            iload 1 /* count */
            bipush 32
            if_icmple 2
         1: .line 60
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "count: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " (expected: 0-32 )"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.bitCount:I
            istore 2 /* bitCount */
        start local 2 // int bitCount
         3: .line 63
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.bitBuffer:J
            lstore 3 /* bitBuffer */
        start local 3 // long bitBuffer
         4: .line 65
            iload 2 /* bitCount */
            iload 1 /* count */
            if_icmpge 20
         5: .line 68
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.in:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            tableswitch { // 1 - 3
                    1: 6
                    2: 9
                    3: 12
              default: 15
          }
         6: .line 70
      StackMap locals: int long
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.in:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            i2l
            lstore 5 /* readData */
        start local 5 // long readData
         7: .line 71
            bipush 8
            istore 7 /* offset */
        start local 7 // int offset
         8: .line 72
            goto 17
        end local 7 // int offset
        end local 5 // long readData
         9: .line 75
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.in:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
            i2l
            lstore 5 /* readData */
        start local 5 // long readData
        10: .line 76
            bipush 16
            istore 7 /* offset */
        start local 7 // int offset
        11: .line 77
            goto 17
        end local 7 // int offset
        end local 5 // long readData
        12: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.in:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedMedium:()I
            i2l
            lstore 5 /* readData */
        start local 5 // long readData
        13: .line 81
            bipush 24
            istore 7 /* offset */
        start local 7 // int offset
        14: .line 82
            goto 17
        end local 7 // int offset
        end local 5 // long readData
        15: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.in:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedInt:()J
            lstore 5 /* readData */
        start local 5 // long readData
        16: .line 86
            bipush 32
            istore 7 /* offset */
        start local 7 // int offset
        17: .line 91
      StackMap locals: long int
      StackMap stack:
            lload 3 /* bitBuffer */
            iload 7 /* offset */
            lshl
            lload 5 /* readData */
            lor
            lstore 3 /* bitBuffer */
        18: .line 92
            iload 2 /* bitCount */
            iload 7 /* offset */
            iadd
            istore 2 /* bitCount */
        19: .line 93
            aload 0 /* this */
            lload 3 /* bitBuffer */
            putfield io.netty.handler.codec.compression.Bzip2BitReader.bitBuffer:J
        end local 7 // int offset
        end local 5 // long readData
        20: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* bitCount */
            iload 1 /* count */
            isub
            dup
            istore 2 /* bitCount */
            putfield io.netty.handler.codec.compression.Bzip2BitReader.bitCount:I
        21: .line 97
            lload 3 /* bitBuffer */
            iload 2 /* bitCount */
            lushr
            iload 1 /* count */
            bipush 32
            if_icmpeq 22
            iconst_1
            iload 1 /* count */
            ishl
            iconst_1
            isub
            i2l
            goto 23
      StackMap locals:
      StackMap stack: long
        22: ldc 4294967295
      StackMap locals: io.netty.handler.codec.compression.Bzip2BitReader int int long
      StackMap stack: long long
        23: land
            l2i
            ireturn
        end local 3 // long bitBuffer
        end local 2 // int bitCount
        end local 1 // int count
        end local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lio/netty/handler/codec/compression/Bzip2BitReader;
            0   24     1      count  I
            3   24     2   bitCount  I
            4   24     3  bitBuffer  J
            7    9     5   readData  J
           10   12     5   readData  J
           13   15     5   readData  J
           16   20     5   readData  J
            8    9     7     offset  I
           11   12     7     offset  I
           14   15     7     offset  I
           17   20     7     offset  I
    MethodParameters:
       Name  Flags
      count  final

  boolean readBoolean();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
         0: .line 105
            aload 0 /* this */
            iconst_1
            invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBits:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/compression/Bzip2BitReader;

  int readInt();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
         0: .line 113
            aload 0 /* this */
            bipush 32
            invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBits:(I)I
            ireturn
        end local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/compression/Bzip2BitReader;

  void refill();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
         0: .line 120
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.in:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            istore 1 /* readData */
        start local 1 // int readData
         1: .line 121
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.bitBuffer:J
            bipush 8
            lshl
            iload 1 /* readData */
            i2l
            lor
            putfield io.netty.handler.codec.compression.Bzip2BitReader.bitBuffer:J
         2: .line 122
            aload 0 /* this */
            dup
            getfield io.netty.handler.codec.compression.Bzip2BitReader.bitCount:I
            bipush 8
            iadd
            putfield io.netty.handler.codec.compression.Bzip2BitReader.bitCount:I
         3: .line 123
            return
        end local 1 // int readData
        end local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/netty/handler/codec/compression/Bzip2BitReader;
            1    4     1  readData  I

  boolean isReadable();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
         0: .line 130
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.bitCount:I
            ifgt 1
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.in:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/compression/Bzip2BitReader;

  boolean hasReadableBits(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
        start local 1 // int count
         0: .line 139
            iload 1 /* count */
            ifge 2
         1: .line 140
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "count: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " (expected value greater than 0)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.bitCount:I
            iload 1 /* count */
            if_icmpge 3
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.in:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            iconst_3
            ishl
            ldc 2147483647
            iand
            iload 1 /* count */
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.Bzip2BitReader.bitCount:I
            isub
            if_icmpge 3
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // int count
        end local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/netty/handler/codec/compression/Bzip2BitReader;
            0    4     1  count  I
    MethodParameters:
       Name  Flags
      count  

  boolean hasReadableBytes(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
        start local 1 // int count
         0: .line 151
            iload 1 /* count */
            iflt 1
            iload 1 /* count */
            ldc 268435455
            if_icmple 4
         1: .line 152
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "count: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         2: .line 153
            ldc " (expected: 0-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc 268435455
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 152
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* count */
            iconst_3
            ishl
            invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.hasReadableBits:(I)Z
            ireturn
        end local 1 // int count
        end local 0 // io.netty.handler.codec.compression.Bzip2BitReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/netty/handler/codec/compression/Bzip2BitReader;
            0    5     1  count  I
    MethodParameters:
       Name  Flags
      count  
}
SourceFile: "Bzip2BitReader.java"