class org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2
  super_class: java.lang.Object
{
  final short[] m_Encoders;
    descriptor: [S
    flags: (0x0010) ACC_FINAL

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2 this
         0: .line 90
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 92
            aload 0 /* this */
            sipush 768
            newarray 9
            putfield org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2.m_Encoders:[S
         2: .line 90
            return
        end local 0 // org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/glassfish/grizzly/compression/lzma/impl/Encoder$LiteralEncoder$Encoder2;

  public void init();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2 this
         0: .line 95
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2.m_Encoders:[S
            invokestatic org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeEncoder.initBitModels:([S)V
         1: .line 96
            return
        end local 0 // org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/compression/lzma/impl/Encoder$LiteralEncoder$Encoder2;

  public void encode(org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeEncoder, byte);
    descriptor: (Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/RangeEncoder;B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2 this
        start local 1 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeEncoder rangeEncoder
        start local 2 // byte symbol
         0: .line 99
            iconst_1
            istore 3 /* context */
        start local 3 // int context
         1: .line 100
            bipush 7
            istore 4 /* i */
        start local 4 // int i
         2: goto 7
         3: .line 101
      StackMap locals: int int
      StackMap stack:
            iload 2 /* symbol */
            iload 4 /* i */
            ishr
            iconst_1
            iand
            istore 5 /* bit */
        start local 5 // int bit
         4: .line 102
            aload 1 /* rangeEncoder */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2.m_Encoders:[S
            iload 3 /* context */
            iload 5 /* bit */
            invokevirtual org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeEncoder.encode:([SII)V
         5: .line 103
            iload 3 /* context */
            iconst_1
            ishl
            iload 5 /* bit */
            ior
            istore 3 /* context */
        end local 5 // int bit
         6: .line 100
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            ifge 3
        end local 4 // int i
         8: .line 105
            return
        end local 3 // int context
        end local 2 // byte symbol
        end local 1 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeEncoder rangeEncoder
        end local 0 // org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/glassfish/grizzly/compression/lzma/impl/Encoder$LiteralEncoder$Encoder2;
            0    9     1  rangeEncoder  Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/RangeEncoder;
            0    9     2        symbol  B
            1    9     3       context  I
            2    8     4             i  I
            4    6     5           bit  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      rangeEncoder  
      symbol        

  public void encodeMatched(org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeEncoder, byte, byte);
    descriptor: (Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/RangeEncoder;BB)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2 this
        start local 1 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeEncoder rangeEncoder
        start local 2 // byte matchByte
        start local 3 // byte symbol
         0: .line 108
            iconst_1
            istore 4 /* context */
        start local 4 // int context
         1: .line 109
            iconst_1
            istore 5 /* same */
        start local 5 // boolean same
         2: .line 110
            bipush 7
            istore 6 /* i */
        start local 6 // int i
         3: goto 15
         4: .line 111
      StackMap locals: int int int
      StackMap stack:
            iload 3 /* symbol */
            iload 6 /* i */
            ishr
            iconst_1
            iand
            istore 7 /* bit */
        start local 7 // int bit
         5: .line 112
            iload 4 /* context */
            istore 8 /* state */
        start local 8 // int state
         6: .line 113
            iload 5 /* same */
            ifeq 12
         7: .line 114
            iload 2 /* matchByte */
            iload 6 /* i */
            ishr
            iconst_1
            iand
            istore 9 /* matchBit */
        start local 9 // int matchBit
         8: .line 115
            iload 8 /* state */
            iconst_1
            iload 9 /* matchBit */
            iadd
            bipush 8
            ishl
            iadd
            istore 8 /* state */
         9: .line 116
            iload 9 /* matchBit */
            iload 7 /* bit */
            if_icmpne 10
            iconst_1
            goto 11
      StackMap locals: int int int
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* same */
        end local 9 // int matchBit
        12: .line 118
      StackMap locals:
      StackMap stack:
            aload 1 /* rangeEncoder */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2.m_Encoders:[S
            iload 8 /* state */
            iload 7 /* bit */
            invokevirtual org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeEncoder.encode:([SII)V
        13: .line 119
            iload 4 /* context */
            iconst_1
            ishl
            iload 7 /* bit */
            ior
            istore 4 /* context */
        end local 8 // int state
        end local 7 // int bit
        14: .line 110
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* i */
            ifge 4
        end local 6 // int i
        16: .line 121
            return
        end local 5 // boolean same
        end local 4 // int context
        end local 3 // byte symbol
        end local 2 // byte matchByte
        end local 1 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeEncoder rangeEncoder
        end local 0 // org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/glassfish/grizzly/compression/lzma/impl/Encoder$LiteralEncoder$Encoder2;
            0   17     1  rangeEncoder  Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/RangeEncoder;
            0   17     2     matchByte  B
            0   17     3        symbol  B
            1   17     4       context  I
            2   17     5          same  Z
            3   16     6             i  I
            5   14     7           bit  I
            6   14     8         state  I
            8   12     9      matchBit  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      rangeEncoder  
      matchByte     
      symbol        

  public int getPrice(boolean, byte, byte);
    descriptor: (ZBB)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2 this
        start local 1 // boolean matchMode
        start local 2 // byte matchByte
        start local 3 // byte symbol
         0: .line 124
            iconst_0
            istore 4 /* price */
        start local 4 // int price
         1: .line 125
            iconst_1
            istore 5 /* context */
        start local 5 // int context
         2: .line 126
            bipush 7
            istore 6 /* i */
        start local 6 // int i
         3: .line 127
            iload 1 /* matchMode */
            ifeq 19
         4: .line 128
            goto 13
         5: .line 129
      StackMap locals: int int int
      StackMap stack:
            iload 2 /* matchByte */
            iload 6 /* i */
            ishr
            iconst_1
            iand
            istore 7 /* matchBit */
        start local 7 // int matchBit
         6: .line 130
            iload 3 /* symbol */
            iload 6 /* i */
            ishr
            iconst_1
            iand
            istore 8 /* bit */
        start local 8 // int bit
         7: .line 131
            iload 4 /* price */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2.m_Encoders:[S
            iconst_1
            iload 7 /* matchBit */
            iadd
            bipush 8
            ishl
            iload 5 /* context */
            iadd
            saload
            iload 8 /* bit */
            invokestatic org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeEncoder.getPrice:(II)I
            iadd
            istore 4 /* price */
         8: .line 132
            iload 5 /* context */
            iconst_1
            ishl
            iload 8 /* bit */
            ior
            istore 5 /* context */
         9: .line 133
            iload 7 /* matchBit */
            iload 8 /* bit */
            if_icmpeq 12
        10: .line 134
            iinc 6 /* i */ -1
        11: .line 135
            goto 19
        end local 8 // int bit
        end local 7 // int matchBit
        12: .line 128
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            ifge 5
        14: .line 139
            goto 19
        15: .line 140
      StackMap locals:
      StackMap stack:
            iload 3 /* symbol */
            iload 6 /* i */
            ishr
            iconst_1
            iand
            istore 7 /* bit */
        start local 7 // int bit
        16: .line 141
            iload 4 /* price */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2.m_Encoders:[S
            iload 5 /* context */
            saload
            iload 7 /* bit */
            invokestatic org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeEncoder.getPrice:(II)I
            iadd
            istore 4 /* price */
        17: .line 142
            iload 5 /* context */
            iconst_1
            ishl
            iload 7 /* bit */
            ior
            istore 5 /* context */
        end local 7 // int bit
        18: .line 139
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            ifge 15
        20: .line 144
            iload 4 /* price */
            ireturn
        end local 6 // int i
        end local 5 // int context
        end local 4 // int price
        end local 3 // byte symbol
        end local 2 // byte matchByte
        end local 1 // boolean matchMode
        end local 0 // org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lorg/glassfish/grizzly/compression/lzma/impl/Encoder$LiteralEncoder$Encoder2;
            0   21     1  matchMode  Z
            0   21     2  matchByte  B
            0   21     3     symbol  B
            1   21     4      price  I
            2   21     5    context  I
            3   21     6          i  I
            6   12     7   matchBit  I
            7   12     8        bit  I
           16   18     7        bit  I
    MethodParameters:
           Name  Flags
      matchMode  
      matchByte  
      symbol     
}
SourceFile: "Encoder.java"
NestHost: org.glassfish.grizzly.compression.lzma.impl.Encoder
InnerClasses:
  LiteralEncoder = org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder of org.glassfish.grizzly.compression.lzma.impl.Encoder
  Encoder2 = org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder$Encoder2 of org.glassfish.grizzly.compression.lzma.impl.Encoder$LiteralEncoder