public final class sun.nio.cs.SingleByte$Decoder extends java.nio.charset.CharsetDecoder implements sun.nio.cs.ArrayDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.nio.cs.SingleByte$Decoder
  super_class: java.nio.charset.CharsetDecoder
{
  private final char[] b2c;
    descriptor: [C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isASCIICompatible;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private char repl;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.nio.charset.Charset, char[]);
    descriptor: (Ljava/nio/charset/Charset;[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.nio.cs.SingleByte$Decoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // char[] b2c
         0: .line 55
            aload 0 /* this */
            aload 1 /* cs */
            fconst_1
            fconst_1
            invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 122
            aload 0 /* this */
            ldc 65533
            putfield sun.nio.cs.SingleByte$Decoder.repl:C
         2: .line 56
            aload 0 /* this */
            aload 2 /* b2c */
            putfield sun.nio.cs.SingleByte$Decoder.b2c:[C
         3: .line 57
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.SingleByte$Decoder.isASCIICompatible:Z
         4: .line 58
            return
        end local 2 // char[] b2c
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.SingleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/nio/cs/SingleByte$Decoder;
            0    5     1    cs  Ljava/nio/charset/Charset;
            0    5     2   b2c  [C
    MethodParameters:
      Name  Flags
      cs    
      b2c   

  public void <init>(java.nio.charset.Charset, char[], boolean);
    descriptor: (Ljava/nio/charset/Charset;[CZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.nio.cs.SingleByte$Decoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // char[] b2c
        start local 3 // boolean isASCIICompatible
         0: .line 61
            aload 0 /* this */
            aload 1 /* cs */
            fconst_1
            fconst_1
            invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 122
            aload 0 /* this */
            ldc 65533
            putfield sun.nio.cs.SingleByte$Decoder.repl:C
         2: .line 62
            aload 0 /* this */
            aload 2 /* b2c */
            putfield sun.nio.cs.SingleByte$Decoder.b2c:[C
         3: .line 63
            aload 0 /* this */
            iload 3 /* isASCIICompatible */
            putfield sun.nio.cs.SingleByte$Decoder.isASCIICompatible:Z
         4: .line 64
            return
        end local 3 // boolean isASCIICompatible
        end local 2 // char[] b2c
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.SingleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lsun/nio/cs/SingleByte$Decoder;
            0    5     1                 cs  Ljava/nio/charset/Charset;
            0    5     2                b2c  [C
            0    5     3  isASCIICompatible  Z
    MethodParameters:
                   Name  Flags
      cs                 
      b2c                
      isASCIICompatible  

  private java.nio.charset.CoderResult decodeArrayLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // sun.nio.cs.SingleByte$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 67
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 3 /* sa */
        start local 3 // byte[] sa
         1: .line 68
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 4 /* sp */
        start local 4 // int sp
         2: .line 69
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iadd
            istore 5 /* sl */
        start local 5 // int sl
         3: .line 71
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 6 /* da */
        start local 6 // char[] da
         4: .line 72
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.position:()I
            iadd
            istore 7 /* dp */
        start local 7 // int dp
         5: .line 73
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.limit:()I
            iadd
            istore 8 /* dl */
        start local 8 // int dl
         6: .line 75
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9 /* cr */
        start local 9 // java.nio.charset.CoderResult cr
         7: .line 76
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iload 5 /* sl */
            iload 4 /* sp */
            isub
            if_icmpge 18
         8: .line 77
            iload 4 /* sp */
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iadd
            istore 5 /* sl */
         9: .line 78
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9 /* cr */
        10: .line 81
            goto 18
        11: .line 82
      StackMap locals: sun.nio.cs.SingleByte$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int char[] int int java.nio.charset.CoderResult
      StackMap stack:
            aload 0 /* this */
            aload 3 /* sa */
            iload 4 /* sp */
            baload
            invokevirtual sun.nio.cs.SingleByte$Decoder.decode:(I)C
            istore 10 /* c */
        start local 10 // char c
        12: .line 83
            iload 10 /* c */
            ldc 65533
            if_icmpne 16
        13: .line 84
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
        14: .line 85
            aload 1 /* src */
            iload 4 /* sp */
            aload 2 /* dst */
            iload 7 /* dp */
        15: .line 84
            invokestatic sun.nio.cs.SingleByte.withResult:(Ljava/nio/charset/CoderResult;Ljava/nio/Buffer;ILjava/nio/Buffer;I)Ljava/nio/charset/CoderResult;
            areturn
        16: .line 87
      StackMap locals: int
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 10 /* c */
            castore
        17: .line 88
            iinc 4 /* sp */ 1
        end local 10 // char c
        18: .line 81
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 11
        19: .line 90
            aload 9 /* cr */
            aload 1 /* src */
            iload 4 /* sp */
            aload 2 /* dst */
            iload 7 /* dp */
            invokestatic sun.nio.cs.SingleByte.withResult:(Ljava/nio/charset/CoderResult;Ljava/nio/Buffer;ILjava/nio/Buffer;I)Ljava/nio/charset/CoderResult;
            areturn
        end local 9 // java.nio.charset.CoderResult cr
        end local 8 // int dl
        end local 7 // int dp
        end local 6 // char[] da
        end local 5 // int sl
        end local 4 // int sp
        end local 3 // byte[] sa
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.SingleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lsun/nio/cs/SingleByte$Decoder;
            0   20     1   src  Ljava/nio/ByteBuffer;
            0   20     2   dst  Ljava/nio/CharBuffer;
            1   20     3    sa  [B
            2   20     4    sp  I
            3   20     5    sl  I
            4   20     6    da  [C
            5   20     7    dp  I
            6   20     8    dl  I
            7   20     9    cr  Ljava/nio/charset/CoderResult;
           12   18    10     c  C
    MethodParameters:
      Name  Flags
      src   
      dst   

  private java.nio.charset.CoderResult decodeBufferLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // sun.nio.cs.SingleByte$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 94
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 96
            goto 13
         2: .line 97
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            invokevirtual sun.nio.cs.SingleByte$Decoder.decode:(I)C
            istore 4 /* c */
        start local 4 // char c
         3: .line 98
            iload 4 /* c */
            ldc 65533
            if_icmpne 7
         4: .line 99
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 6
         5: .line 107
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
         6: .line 99
            aload 6
            areturn
         7: .line 100
      StackMap locals: int
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 11
         8: .line 101
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 6
         9: .line 107
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        10: .line 101
            aload 6
            areturn
        11: .line 102
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 4 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        12: .line 103
            iinc 3 /* mark */ 1
        end local 4 // char c
        13: .line 96
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 2
        14: .line 105
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 6
        15: .line 107
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        16: .line 105
            aload 6
            areturn
        17: .line 106
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        18: .line 107
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        19: .line 108
            aload 5
            athrow
        end local 3 // int mark
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.SingleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lsun/nio/cs/SingleByte$Decoder;
            0   20     1   src  Ljava/nio/ByteBuffer;
            0   20     2   dst  Ljava/nio/CharBuffer;
            1   20     3  mark  I
            3   13     4     c  C
      Exception table:
        from    to  target  type
           1     5      17  any
           7     9      17  any
          11    15      17  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.SingleByte$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 112
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
         1: .line 113
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.SingleByte$Decoder.decodeArrayLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.SingleByte$Decoder.decodeBufferLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.SingleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/SingleByte$Decoder;
            0    3     1   src  Ljava/nio/ByteBuffer;
            0    3     2   dst  Ljava/nio/CharBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   

  public final char decode(int);
    descriptor: (I)C
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.nio.cs.SingleByte$Decoder this
        start local 1 // int b
         0: .line 119
            aload 0 /* this */
            getfield sun.nio.cs.SingleByte$Decoder.b2c:[C
            iload 1 /* b */
            sipush 128
            iadd
            caload
            ireturn
        end local 1 // int b
        end local 0 // sun.nio.cs.SingleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/SingleByte$Decoder;
            0    1     1     b  I
    MethodParameters:
      Name  Flags
      b     

  protected void implReplaceWith(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.nio.cs.SingleByte$Decoder this
        start local 1 // java.lang.String newReplacement
         0: .line 124
            aload 0 /* this */
            aload 1 /* newReplacement */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            putfield sun.nio.cs.SingleByte$Decoder.repl:C
         1: .line 125
            return
        end local 1 // java.lang.String newReplacement
        end local 0 // sun.nio.cs.SingleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lsun/nio/cs/SingleByte$Decoder;
            0    2     1  newReplacement  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      newReplacement  

  public int decode(byte[], int, int, char[]);
    descriptor: ([BII[C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // sun.nio.cs.SingleByte$Decoder this
        start local 1 // byte[] src
        start local 2 // int sp
        start local 3 // int len
        start local 4 // char[] dst
         0: .line 129
            iload 3 /* len */
            aload 4 /* dst */
            arraylength
            if_icmple 2
         1: .line 130
            aload 4 /* dst */
            arraylength
            istore 3 /* len */
         2: .line 131
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* dp */
        start local 5 // int dp
         3: .line 132
            goto 8
         4: .line 133
      StackMap locals: int
      StackMap stack:
            aload 4 /* dst */
            iload 5 /* dp */
            aload 0 /* this */
            aload 1 /* src */
            iload 2 /* sp */
            iinc 2 /* sp */ 1
            baload
            invokevirtual sun.nio.cs.SingleByte$Decoder.decode:(I)C
            castore
         5: .line 134
            aload 4 /* dst */
            iload 5 /* dp */
            caload
            ldc 65533
            if_icmpne 7
         6: .line 135
            aload 4 /* dst */
            iload 5 /* dp */
            aload 0 /* this */
            getfield sun.nio.cs.SingleByte$Decoder.repl:C
            castore
         7: .line 137
      StackMap locals:
      StackMap stack:
            iinc 5 /* dp */ 1
         8: .line 132
      StackMap locals:
      StackMap stack:
            iload 5 /* dp */
            iload 3 /* len */
            if_icmplt 4
         9: .line 139
            iload 5 /* dp */
            ireturn
        end local 5 // int dp
        end local 4 // char[] dst
        end local 3 // int len
        end local 2 // int sp
        end local 1 // byte[] src
        end local 0 // sun.nio.cs.SingleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/nio/cs/SingleByte$Decoder;
            0   10     1   src  [B
            0   10     2    sp  I
            0   10     3   len  I
            0   10     4   dst  [C
            3   10     5    dp  I
    MethodParameters:
      Name  Flags
      src   
      sp    
      len   
      dst   

  public boolean isASCIICompatible();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.cs.SingleByte$Decoder this
         0: .line 144
            aload 0 /* this */
            getfield sun.nio.cs.SingleByte$Decoder.isASCIICompatible:Z
            ireturn
        end local 0 // sun.nio.cs.SingleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/SingleByte$Decoder;
}
SourceFile: "SingleByte.java"
NestHost: sun.nio.cs.SingleByte
InnerClasses:
  public final Decoder = sun.nio.cs.SingleByte$Decoder of sun.nio.cs.SingleByte