public abstract class sun.misc.CharacterDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.misc.CharacterDecoder
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.CharacterDecoder this
         0: .line 88
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/CharacterDecoder;

  protected abstract int bytesPerAtom();
    descriptor: ()I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract int bytesPerLine();
    descriptor: ()I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected void decodeBufferPrefix(java.io.PushbackInputStream, java.io.OutputStream);
    descriptor: (Ljava/io/PushbackInputStream;Ljava/io/OutputStream;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.misc.CharacterDecoder this
        start local 1 // java.io.PushbackInputStream aStream
        start local 2 // java.io.OutputStream bStream
         0: .line 97
            return
        end local 2 // java.io.OutputStream bStream
        end local 1 // java.io.PushbackInputStream aStream
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lsun/misc/CharacterDecoder;
            0    1     1  aStream  Ljava/io/PushbackInputStream;
            0    1     2  bStream  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      aStream  
      bStream  

  protected void decodeBufferSuffix(java.io.PushbackInputStream, java.io.OutputStream);
    descriptor: (Ljava/io/PushbackInputStream;Ljava/io/OutputStream;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.misc.CharacterDecoder this
        start local 1 // java.io.PushbackInputStream aStream
        start local 2 // java.io.OutputStream bStream
         0: .line 100
            return
        end local 2 // java.io.OutputStream bStream
        end local 1 // java.io.PushbackInputStream aStream
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lsun/misc/CharacterDecoder;
            0    1     1  aStream  Ljava/io/PushbackInputStream;
            0    1     2  bStream  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      aStream  
      bStream  

  protected int decodeLinePrefix(java.io.PushbackInputStream, java.io.OutputStream);
    descriptor: (Ljava/io/PushbackInputStream;Ljava/io/OutputStream;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // sun.misc.CharacterDecoder this
        start local 1 // java.io.PushbackInputStream aStream
        start local 2 // java.io.OutputStream bStream
         0: .line 109
            aload 0 /* this */
            invokevirtual sun.misc.CharacterDecoder.bytesPerLine:()I
            ireturn
        end local 2 // java.io.OutputStream bStream
        end local 1 // java.io.PushbackInputStream aStream
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lsun/misc/CharacterDecoder;
            0    1     1  aStream  Ljava/io/PushbackInputStream;
            0    1     2  bStream  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      aStream  
      bStream  

  protected void decodeLineSuffix(java.io.PushbackInputStream, java.io.OutputStream);
    descriptor: (Ljava/io/PushbackInputStream;Ljava/io/OutputStream;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.misc.CharacterDecoder this
        start local 1 // java.io.PushbackInputStream aStream
        start local 2 // java.io.OutputStream bStream
         0: .line 118
            return
        end local 2 // java.io.OutputStream bStream
        end local 1 // java.io.PushbackInputStream aStream
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lsun/misc/CharacterDecoder;
            0    1     1  aStream  Ljava/io/PushbackInputStream;
            0    1     2  bStream  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      aStream  
      bStream  

  protected void decodeAtom(java.io.PushbackInputStream, java.io.OutputStream, int);
    descriptor: (Ljava/io/PushbackInputStream;Ljava/io/OutputStream;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // sun.misc.CharacterDecoder this
        start local 1 // java.io.PushbackInputStream aStream
        start local 2 // java.io.OutputStream bStream
        start local 3 // int l
         0: .line 126
            new sun.misc.CEStreamExhausted
            dup
            invokespecial sun.misc.CEStreamExhausted.<init>:()V
            athrow
        end local 3 // int l
        end local 2 // java.io.OutputStream bStream
        end local 1 // java.io.PushbackInputStream aStream
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lsun/misc/CharacterDecoder;
            0    1     1  aStream  Ljava/io/PushbackInputStream;
            0    1     2  bStream  Ljava/io/OutputStream;
            0    1     3        l  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      aStream  
      bStream  
      l        

  protected int readFully(java.io.InputStream, byte[], int, int);
    descriptor: (Ljava/io/InputStream;[BII)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // sun.misc.CharacterDecoder this
        start local 1 // java.io.InputStream in
        start local 2 // byte[] buffer
        start local 3 // int offset
        start local 4 // int len
         0: .line 135
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         1: goto 9
         2: .line 136
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokevirtual java.io.InputStream.read:()I
            istore 6 /* q */
        start local 6 // int q
         3: .line 137
            iload 6 /* q */
            iconst_m1
            if_icmpne 7
         4: .line 138
            iload 5 /* i */
            ifne 5
            iconst_m1
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iload 5 /* i */
      StackMap locals:
      StackMap stack: int
         6: ireturn
         7: .line 139
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            iload 5 /* i */
            iload 3 /* offset */
            iadd
            iload 6 /* q */
            i2b
            bastore
        end local 6 // int q
         8: .line 135
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 4 /* len */
            if_icmplt 2
        end local 5 // int i
        10: .line 141
            iload 4 /* len */
            ireturn
        end local 4 // int len
        end local 3 // int offset
        end local 2 // byte[] buffer
        end local 1 // java.io.InputStream in
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lsun/misc/CharacterDecoder;
            0   11     1      in  Ljava/io/InputStream;
            0   11     2  buffer  [B
            0   11     3  offset  I
            0   11     4     len  I
            1   10     5       i  I
            3    8     6       q  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      in      
      buffer  
      offset  
      len     

  public void decodeBuffer(java.io.InputStream, java.io.OutputStream);
    descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // sun.misc.CharacterDecoder this
        start local 1 // java.io.InputStream aStream
        start local 2 // java.io.OutputStream bStream
         0: .line 155
            new java.io.PushbackInputStream
            dup
            aload 1 /* aStream */
            invokespecial java.io.PushbackInputStream.<init>:(Ljava/io/InputStream;)V
            astore 4 /* ps */
        start local 4 // java.io.PushbackInputStream ps
         1: .line 156
            aload 0 /* this */
            aload 4 /* ps */
            aload 2 /* bStream */
            invokevirtual sun.misc.CharacterDecoder.decodeBufferPrefix:(Ljava/io/PushbackInputStream;Ljava/io/OutputStream;)V
         2: .line 161
      StackMap locals: sun.misc.CharacterDecoder java.io.InputStream java.io.OutputStream top java.io.PushbackInputStream
      StackMap stack:
            aload 0 /* this */
            aload 4 /* ps */
            aload 2 /* bStream */
            invokevirtual sun.misc.CharacterDecoder.decodeLinePrefix:(Ljava/io/PushbackInputStream;Ljava/io/OutputStream;)I
            istore 5 /* length */
        start local 5 // int length
         3: .line 162
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 163
      StackMap locals: sun.misc.CharacterDecoder java.io.InputStream java.io.OutputStream int java.io.PushbackInputStream int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* ps */
            aload 2 /* bStream */
            aload 0 /* this */
            invokevirtual sun.misc.CharacterDecoder.bytesPerAtom:()I
            invokevirtual sun.misc.CharacterDecoder.decodeAtom:(Ljava/io/PushbackInputStream;Ljava/io/OutputStream;I)V
         6: .line 164
            aload 0 /* this */
            invokevirtual sun.misc.CharacterDecoder.bytesPerAtom:()I
            pop
         7: .line 162
            iload 3 /* i */
            aload 0 /* this */
            invokevirtual sun.misc.CharacterDecoder.bytesPerAtom:()I
            iadd
            istore 3 /* i */
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* this */
            invokevirtual sun.misc.CharacterDecoder.bytesPerAtom:()I
            iadd
            iload 5 /* length */
            if_icmplt 5
         9: .line 166
            iload 3 /* i */
            aload 0 /* this */
            invokevirtual sun.misc.CharacterDecoder.bytesPerAtom:()I
            iadd
            iload 5 /* length */
            if_icmpne 13
        10: .line 167
            aload 0 /* this */
            aload 4 /* ps */
            aload 2 /* bStream */
            aload 0 /* this */
            invokevirtual sun.misc.CharacterDecoder.bytesPerAtom:()I
            invokevirtual sun.misc.CharacterDecoder.decodeAtom:(Ljava/io/PushbackInputStream;Ljava/io/OutputStream;I)V
        11: .line 168
            aload 0 /* this */
            invokevirtual sun.misc.CharacterDecoder.bytesPerAtom:()I
            pop
        12: .line 169
            goto 14
        13: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* ps */
            aload 2 /* bStream */
            iload 5 /* length */
            iload 3 /* i */
            isub
            invokevirtual sun.misc.CharacterDecoder.decodeAtom:(Ljava/io/PushbackInputStream;Ljava/io/OutputStream;I)V
        14: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* ps */
            aload 2 /* bStream */
            invokevirtual sun.misc.CharacterDecoder.decodeLineSuffix:(Ljava/io/PushbackInputStream;Ljava/io/OutputStream;)V
        15: .line 174
            goto 2
        end local 5 // int length
        end local 3 // int i
      StackMap locals: sun.misc.CharacterDecoder java.io.InputStream java.io.OutputStream top java.io.PushbackInputStream
      StackMap stack: sun.misc.CEStreamExhausted
        16: pop
        17: .line 178
            aload 0 /* this */
            aload 4 /* ps */
            aload 2 /* bStream */
            invokevirtual sun.misc.CharacterDecoder.decodeBufferSuffix:(Ljava/io/PushbackInputStream;Ljava/io/OutputStream;)V
        18: .line 179
            return
        end local 4 // java.io.PushbackInputStream ps
        end local 2 // java.io.OutputStream bStream
        end local 1 // java.io.InputStream aStream
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lsun/misc/CharacterDecoder;
            0   19     1  aStream  Ljava/io/InputStream;
            0   19     2  bStream  Ljava/io/OutputStream;
            4   16     3        i  I
            1   19     4       ps  Ljava/io/PushbackInputStream;
            3   16     5   length  I
      Exception table:
        from    to  target  type
           2    15      16  Class sun.misc.CEStreamExhausted
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      aStream  
      bStream  

  public byte[] decodeBuffer(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.misc.CharacterDecoder this
        start local 1 // java.lang.String inputString
         0: .line 187
            aload 1 /* inputString */
            invokevirtual java.lang.String.length:()I
            newarray 8
            astore 2 /* inputBuffer */
        start local 2 // byte[] inputBuffer
         1: .line 191
            aload 1 /* inputString */
            iconst_0
            aload 1 /* inputString */
            invokevirtual java.lang.String.length:()I
            aload 2 /* inputBuffer */
            iconst_0
            invokevirtual java.lang.String.getBytes:(II[BI)V
         2: .line 192
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* inputBuffer */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 3 /* inStream */
        start local 3 // java.io.ByteArrayInputStream inStream
         3: .line 193
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 4 /* outStream */
        start local 4 // java.io.ByteArrayOutputStream outStream
         4: .line 194
            aload 0 /* this */
            aload 3 /* inStream */
            aload 4 /* outStream */
            invokevirtual sun.misc.CharacterDecoder.decodeBuffer:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
         5: .line 195
            aload 4 /* outStream */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 4 // java.io.ByteArrayOutputStream outStream
        end local 3 // java.io.ByteArrayInputStream inStream
        end local 2 // byte[] inputBuffer
        end local 1 // java.lang.String inputString
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lsun/misc/CharacterDecoder;
            0    6     1  inputString  Ljava/lang/String;
            1    6     2  inputBuffer  [B
            3    6     3     inStream  Ljava/io/ByteArrayInputStream;
            4    6     4    outStream  Ljava/io/ByteArrayOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      inputString  

  public byte[] decodeBuffer(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.misc.CharacterDecoder this
        start local 1 // java.io.InputStream in
         0: .line 202
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* outStream */
        start local 2 // java.io.ByteArrayOutputStream outStream
         1: .line 203
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* outStream */
            invokevirtual sun.misc.CharacterDecoder.decodeBuffer:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
         2: .line 204
            aload 2 /* outStream */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 2 // java.io.ByteArrayOutputStream outStream
        end local 1 // java.io.InputStream in
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lsun/misc/CharacterDecoder;
            0    3     1         in  Ljava/io/InputStream;
            1    3     2  outStream  Ljava/io/ByteArrayOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  public java.nio.ByteBuffer decodeBufferToByteBuffer(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.misc.CharacterDecoder this
        start local 1 // java.lang.String inputString
         0: .line 212
            aload 0 /* this */
            aload 1 /* inputString */
            invokevirtual sun.misc.CharacterDecoder.decodeBuffer:(Ljava/lang/String;)[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            areturn
        end local 1 // java.lang.String inputString
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/misc/CharacterDecoder;
            0    1     1  inputString  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      inputString  

  public java.nio.ByteBuffer decodeBufferToByteBuffer(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.misc.CharacterDecoder this
        start local 1 // java.io.InputStream in
         0: .line 220
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual sun.misc.CharacterDecoder.decodeBuffer:(Ljava/io/InputStream;)[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            areturn
        end local 1 // java.io.InputStream in
        end local 0 // sun.misc.CharacterDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/CharacterDecoder;
            0    1     1    in  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    
}
SourceFile: "CharacterDecoder.java"