public class com.sun.imageio.plugins.common.LZWCompressor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.imageio.plugins.common.LZWCompressor
  super_class: java.lang.Object
{
  int codeSize;
    descriptor: I
    flags: (0x0000) 

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

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

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

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

  short prefix;
    descriptor: S
    flags: (0x0000) 

  com.sun.imageio.plugins.common.BitFile bf;
    descriptor: Lcom/sun/imageio/plugins/common/BitFile;
    flags: (0x0000) 

  com.sun.imageio.plugins.common.LZWStringTable lzss;
    descriptor: Lcom/sun/imageio/plugins/common/LZWStringTable;
    flags: (0x0000) 

  boolean tiffFudge;
    descriptor: Z
    flags: (0x0000) 

  public void <init>(javax.imageio.stream.ImageOutputStream, int, boolean);
    descriptor: (Ljavax/imageio/stream/ImageOutputStream;IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.imageio.plugins.common.LZWCompressor this
        start local 1 // javax.imageio.stream.ImageOutputStream out
        start local 2 // int codeSize
        start local 3 // boolean TIFF
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 73
            aload 0 /* this */
         2: new com.sun.imageio.plugins.common.BitFile
            dup
            aload 1 /* out */
            iload 3 /* TIFF */
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: com.sun.imageio.plugins.common.LZWCompressor javax.imageio.stream.ImageOutputStream int int
      StackMap stack: com.sun.imageio.plugins.common.LZWCompressor new 2 new 2 javax.imageio.stream.ImageOutputStream
         3: iconst_1
      StackMap locals: com.sun.imageio.plugins.common.LZWCompressor javax.imageio.stream.ImageOutputStream int int
      StackMap stack: com.sun.imageio.plugins.common.LZWCompressor new 2 new 2 javax.imageio.stream.ImageOutputStream int
         4: invokespecial com.sun.imageio.plugins.common.BitFile.<init>:(Ljavax/imageio/stream/ImageOutputStream;Z)V
            putfield com.sun.imageio.plugins.common.LZWCompressor.bf:Lcom/sun/imageio/plugins/common/BitFile;
         5: .line 74
            aload 0 /* this */
            iload 2 /* codeSize */
            putfield com.sun.imageio.plugins.common.LZWCompressor.codeSize:I
         6: .line 75
            aload 0 /* this */
            iload 3 /* TIFF */
            putfield com.sun.imageio.plugins.common.LZWCompressor.tiffFudge:Z
         7: .line 76
            aload 0 /* this */
            iconst_1
            iload 2 /* codeSize */
            ishl
            putfield com.sun.imageio.plugins.common.LZWCompressor.clearCode:I
         8: .line 77
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.clearCode:I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.common.LZWCompressor.endOfInfo:I
         9: .line 78
            aload 0 /* this */
            iload 2 /* codeSize */
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
        10: .line 80
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
            ishl
            iconst_1
            isub
            putfield com.sun.imageio.plugins.common.LZWCompressor.limit:I
        11: .line 81
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.tiffFudge:Z
            ifeq 13
        12: .line 82
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.common.LZWCompressor.limit:I
            iconst_1
            isub
            putfield com.sun.imageio.plugins.common.LZWCompressor.limit:I
        13: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.common.LZWCompressor.prefix:S
        14: .line 86
            aload 0 /* this */
            new com.sun.imageio.plugins.common.LZWStringTable
            dup
            invokespecial com.sun.imageio.plugins.common.LZWStringTable.<init>:()V
            putfield com.sun.imageio.plugins.common.LZWCompressor.lzss:Lcom/sun/imageio/plugins/common/LZWStringTable;
        15: .line 87
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.lzss:Lcom/sun/imageio/plugins/common/LZWStringTable;
            iload 2 /* codeSize */
            invokevirtual com.sun.imageio.plugins.common.LZWStringTable.clearTable:(I)V
        16: .line 88
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.bf:Lcom/sun/imageio/plugins/common/BitFile;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.clearCode:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
            invokevirtual com.sun.imageio.plugins.common.BitFile.writeBits:(II)V
        17: .line 89
            return
        end local 3 // boolean TIFF
        end local 2 // int codeSize
        end local 1 // javax.imageio.stream.ImageOutputStream out
        end local 0 // com.sun.imageio.plugins.common.LZWCompressor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lcom/sun/imageio/plugins/common/LZWCompressor;
            0   18     1       out  Ljavax/imageio/stream/ImageOutputStream;
            0   18     2  codeSize  I
            0   18     3      TIFF  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      out       
      codeSize  
      TIFF      

  public void compress(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // com.sun.imageio.plugins.common.LZWCompressor this
        start local 1 // byte[] buf
        start local 2 // int offset
        start local 3 // int length
         0: .line 102
            iload 2 /* offset */
            iload 3 /* length */
            iadd
            istore 7 /* maxOffset */
        start local 7 // int maxOffset
         1: .line 103
            iload 2 /* offset */
            istore 4 /* idx */
        start local 4 // int idx
         2: goto 21
         3: .line 104
      StackMap locals: com.sun.imageio.plugins.common.LZWCompressor byte[] int int int top top int
      StackMap stack:
            aload 1 /* buf */
            iload 4 /* idx */
            baload
            istore 5 /* c */
        start local 5 // byte c
         4: .line 105
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.lzss:Lcom/sun/imageio/plugins/common/LZWStringTable;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.prefix:S
            iload 5 /* c */
            invokevirtual com.sun.imageio.plugins.common.LZWStringTable.findCharString:(SB)S
            dup
            istore 6 /* index */
        start local 6 // short index
         5: iconst_m1
            if_icmpeq 8
         6: .line 106
            aload 0 /* this */
            iload 6 /* index */
            putfield com.sun.imageio.plugins.common.LZWCompressor.prefix:S
         7: .line 107
            goto 20
         8: .line 108
      StackMap locals: com.sun.imageio.plugins.common.LZWCompressor byte[] int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.bf:Lcom/sun/imageio/plugins/common/BitFile;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.prefix:S
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
            invokevirtual com.sun.imageio.plugins.common.BitFile.writeBits:(II)V
         9: .line 109
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.lzss:Lcom/sun/imageio/plugins/common/LZWStringTable;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.prefix:S
            iload 5 /* c */
            invokevirtual com.sun.imageio.plugins.common.LZWStringTable.addCharString:(SB)I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.limit:I
            if_icmple 19
        10: .line 110
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
            bipush 12
            if_icmpne 15
        11: .line 111
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.bf:Lcom/sun/imageio/plugins/common/BitFile;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.clearCode:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
            invokevirtual com.sun.imageio.plugins.common.BitFile.writeBits:(II)V
        12: .line 112
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.lzss:Lcom/sun/imageio/plugins/common/LZWStringTable;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.codeSize:I
            invokevirtual com.sun.imageio.plugins.common.LZWStringTable.clearTable:(I)V
        13: .line 113
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.codeSize:I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
        14: .line 114
            goto 16
        15: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
        16: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
            ishl
            iconst_1
            isub
            putfield com.sun.imageio.plugins.common.LZWCompressor.limit:I
        17: .line 119
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.tiffFudge:Z
            ifeq 19
        18: .line 120
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.common.LZWCompressor.limit:I
            iconst_1
            isub
            putfield com.sun.imageio.plugins.common.LZWCompressor.limit:I
        19: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* c */
            i2s
            sipush 255
            iand
            i2s
            putfield com.sun.imageio.plugins.common.LZWCompressor.prefix:S
        20: .line 103
      StackMap locals:
      StackMap stack:
            iinc 4 /* idx */ 1
        end local 6 // short index
        end local 5 // byte c
      StackMap locals: com.sun.imageio.plugins.common.LZWCompressor byte[] int int int top top int
      StackMap stack:
        21: iload 4 /* idx */
            iload 7 /* maxOffset */
            if_icmplt 3
        22: .line 126
            return
        end local 7 // int maxOffset
        end local 4 // int idx
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] buf
        end local 0 // com.sun.imageio.plugins.common.LZWCompressor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lcom/sun/imageio/plugins/common/LZWCompressor;
            0   23     1        buf  [B
            0   23     2     offset  I
            0   23     3     length  I
            2   23     4        idx  I
            4   21     5          c  B
            5   21     6      index  S
            1   23     7  maxOffset  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buf     
      offset  
      length  

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.common.LZWCompressor this
         0: .line 135
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.prefix:S
            iconst_m1
            if_icmpeq 2
         1: .line 136
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.bf:Lcom/sun/imageio/plugins/common/BitFile;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.prefix:S
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
            invokevirtual com.sun.imageio.plugins.common.BitFile.writeBits:(II)V
         2: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.bf:Lcom/sun/imageio/plugins/common/BitFile;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.endOfInfo:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.numBits:I
            invokevirtual com.sun.imageio.plugins.common.BitFile.writeBits:(II)V
         3: .line 140
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.bf:Lcom/sun/imageio/plugins/common/BitFile;
            invokevirtual com.sun.imageio.plugins.common.BitFile.flush:()V
         4: .line 141
            return
        end local 0 // com.sun.imageio.plugins.common.LZWCompressor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/imageio/plugins/common/LZWCompressor;
    Exceptions:
      throws java.io.IOException

  public void dump(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.common.LZWCompressor this
        start local 1 // java.io.PrintStream out
         0: .line 144
            aload 0 /* this */
            getfield com.sun.imageio.plugins.common.LZWCompressor.lzss:Lcom/sun/imageio/plugins/common/LZWStringTable;
            aload 1 /* out */
            invokevirtual com.sun.imageio.plugins.common.LZWStringTable.dump:(Ljava/io/PrintStream;)V
         1: .line 145
            return
        end local 1 // java.io.PrintStream out
        end local 0 // com.sun.imageio.plugins.common.LZWCompressor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/imageio/plugins/common/LZWCompressor;
            0    2     1   out  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      out   
}
SourceFile: "LZWCompressor.java"