public class sun.nio.cs.EUC_TW$Decoder extends java.nio.charset.CharsetDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.cs.EUC_TW$Decoder
  super_class: java.nio.charset.CharsetDecoder
{
  char[] c1;
    descriptor: [C
    flags: (0x0000) 

  char[] c2;
    descriptor: [C
    flags: (0x0000) 

  static final java.lang.String[] b2c;
    descriptor: [Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int b1Min;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 161

  static final int b1Max;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 254

  static final int b2Min;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 161

  static final int b2Max;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 254

  static final int dbSegSize;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 94

  static final byte[] b2cIsSupp;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final byte[] cnspToIndex;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=0
         0: .line 113
            getstatic sun.nio.cs.EUC_TWMapping.b2c:[Ljava/lang/String;
            putstatic sun.nio.cs.EUC_TW$Decoder.b2c:[Ljava/lang/String;
         1: .line 122
            sipush 256
            newarray 8
            putstatic sun.nio.cs.EUC_TW$Decoder.cnspToIndex:[B
         2: .line 124
            getstatic sun.nio.cs.EUC_TW$Decoder.cnspToIndex:[B
            iconst_m1
            invokestatic java.util.Arrays.fill:([BB)V
         3: .line 125
            getstatic sun.nio.cs.EUC_TW$Decoder.cnspToIndex:[B
            sipush 162
            iconst_1
            bastore
            getstatic sun.nio.cs.EUC_TW$Decoder.cnspToIndex:[B
            sipush 163
            iconst_2
            bastore
            getstatic sun.nio.cs.EUC_TW$Decoder.cnspToIndex:[B
            sipush 164
            iconst_3
            bastore
         4: .line 126
            getstatic sun.nio.cs.EUC_TW$Decoder.cnspToIndex:[B
            sipush 165
            iconst_4
            bastore
            getstatic sun.nio.cs.EUC_TW$Decoder.cnspToIndex:[B
            sipush 166
            iconst_5
            bastore
            getstatic sun.nio.cs.EUC_TW$Decoder.cnspToIndex:[B
            sipush 167
            bipush 6
            bastore
         5: .line 127
            getstatic sun.nio.cs.EUC_TW$Decoder.cnspToIndex:[B
            sipush 175
            bipush 7
            bastore
         6: .line 132
            getstatic sun.nio.cs.EUC_TWMapping.b2cIsSuppStr:Ljava/lang/String;
            astore 0 /* b2cIsSuppStr */
        start local 0 // java.lang.String b2cIsSuppStr
         7: .line 135
            aload 0 /* b2cIsSuppStr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            ishl
            newarray 8
            astore 1 /* flag */
        start local 1 // byte[] flag
         8: .line 136
            iconst_0
            istore 2 /* off */
        start local 2 // int off
         9: .line 137
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: goto 15
        11: .line 138
      StackMap locals: java.lang.String byte[] int int
      StackMap stack:
            aload 0 /* b2cIsSuppStr */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
        12: .line 139
            aload 1 /* flag */
            iload 2 /* off */
            iinc 2 /* off */ 1
            iload 4 /* c */
            bipush 8
            ishr
            i2b
            bastore
        13: .line 140
            aload 1 /* flag */
            iload 2 /* off */
            iinc 2 /* off */ 1
            iload 4 /* c */
            sipush 255
            iand
            i2b
            bastore
        end local 4 // char c
        14: .line 137
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 0 /* b2cIsSuppStr */
            invokevirtual java.lang.String.length:()I
            if_icmplt 11
        end local 3 // int i
        16: .line 142
            aload 1 /* flag */
            putstatic sun.nio.cs.EUC_TW$Decoder.b2cIsSupp:[B
        end local 2 // int off
        end local 1 // byte[] flag
        end local 0 // java.lang.String b2cIsSuppStr
        17: .line 143
            return
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            7   17     0  b2cIsSuppStr  Ljava/lang/String;
            8   17     1          flag  [B
            9   17     2           off  I
           10   16     3             i  I
           12   14     4             c  C

  public void <init>(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.nio.cs.EUC_TW$Decoder this
        start local 1 // java.nio.charset.Charset cs
         0: .line 104
            aload 0 /* this */
            aload 1 /* cs */
            fconst_2
            fconst_2
            invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 107
            aload 0 /* this */
            iconst_1
            newarray 5
            putfield sun.nio.cs.EUC_TW$Decoder.c1:[C
         2: .line 108
            aload 0 /* this */
            iconst_2
            newarray 5
            putfield sun.nio.cs.EUC_TW$Decoder.c2:[C
         3: .line 105
            return
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.EUC_TW$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/nio/cs/EUC_TW$Decoder;
            0    4     1    cs  Ljava/nio/charset/Charset;
    MethodParameters:
      Name  Flags
      cs    

  public char[] toUnicode(int, int, int);
    descriptor: (III)[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // sun.nio.cs.EUC_TW$Decoder this
        start local 1 // int b1
        start local 2 // int b2
        start local 3 // int p
         0: .line 110
            iload 1 /* b1 */
            iload 2 /* b2 */
            iload 3 /* p */
            aload 0 /* this */
            getfield sun.nio.cs.EUC_TW$Decoder.c1:[C
            aload 0 /* this */
            getfield sun.nio.cs.EUC_TW$Decoder.c2:[C
            invokestatic sun.nio.cs.EUC_TW$Decoder.decode:(III[C[C)[C
            areturn
        end local 3 // int p
        end local 2 // int b2
        end local 1 // int b1
        end local 0 // sun.nio.cs.EUC_TW$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/EUC_TW$Decoder;
            0    1     1    b1  I
            0    1     2    b2  I
            0    1     3     p  I
    MethodParameters:
      Name  Flags
      b1    
      b2    
      p     

  static boolean isLegalDB(int);
    descriptor: (I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int b
         0: .line 146
            iload 0 /* b */
            sipush 161
            if_icmplt 1
            iload 0 /* b */
            sipush 254
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     b  I
    MethodParameters:
      Name  Flags
      b     

  public static char decodeSingleOrReplace(int, int, int, char);
    descriptor: (IIIC)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // int b1
        start local 1 // int b2
        start local 2 // int p
        start local 3 // char replace
         0: .line 150
            iload 0 /* b1 */
            sipush 161
            if_icmplt 1
            iload 0 /* b1 */
            sipush 254
            if_icmpgt 1
            iload 1 /* b2 */
            sipush 161
            if_icmplt 1
            iload 1 /* b2 */
            sipush 254
            if_icmple 2
         1: .line 151
      StackMap locals:
      StackMap stack:
            iload 3 /* replace */
            ireturn
         2: .line 152
      StackMap locals:
      StackMap stack:
            iload 0 /* b1 */
            sipush 161
            isub
            bipush 94
            imul
            iload 1 /* b2 */
            iadd
            sipush 161
            isub
            istore 4 /* index */
        start local 4 // int index
         3: .line 153
            getstatic sun.nio.cs.EUC_TW$Decoder.b2c:[Ljava/lang/String;
            iload 2 /* p */
            aaload
            iload 4 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         4: .line 154
            iload 5 /* c */
            ldc 65533
            if_icmpne 6
         5: .line 155
            iload 3 /* replace */
            ireturn
         6: .line 156
      StackMap locals: int int
      StackMap stack:
            getstatic sun.nio.cs.EUC_TW$Decoder.b2cIsSupp:[B
            iload 4 /* index */
            baload
            iconst_1
            iload 2 /* p */
            ishl
            iand
            ifne 8
         7: .line 157
            iload 5 /* c */
            ireturn
         8: .line 159
      StackMap locals:
      StackMap stack:
            iload 3 /* replace */
            ireturn
        end local 5 // char c
        end local 4 // int index
        end local 3 // char replace
        end local 2 // int p
        end local 1 // int b2
        end local 0 // int b1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0       b1  I
            0    9     1       b2  I
            0    9     2        p  I
            0    9     3  replace  C
            3    9     4    index  I
            4    9     5        c  C
    MethodParameters:
         Name  Flags
      b1       
      b2       
      p        
      replace  

  static char[] decode(int, int, int, char[], char[]);
    descriptor: (III[C[C)[C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // int b1
        start local 1 // int b2
        start local 2 // int p
        start local 3 // char[] c1
        start local 4 // char[] c2
         0: .line 164
            iload 0 /* b1 */
            sipush 161
            if_icmplt 1
            iload 0 /* b1 */
            sipush 254
            if_icmpgt 1
            iload 1 /* b2 */
            sipush 161
            if_icmplt 1
            iload 1 /* b2 */
            sipush 254
            if_icmple 2
         1: .line 165
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 166
      StackMap locals:
      StackMap stack:
            iload 0 /* b1 */
            sipush 161
            isub
            bipush 94
            imul
            iload 1 /* b2 */
            iadd
            sipush 161
            isub
            istore 5 /* index */
        start local 5 // int index
         3: .line 167
            getstatic sun.nio.cs.EUC_TW$Decoder.b2c:[Ljava/lang/String;
            iload 2 /* p */
            aaload
            iload 5 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         4: .line 168
            iload 6 /* c */
            ldc 65533
            if_icmpne 6
         5: .line 169
            aconst_null
            areturn
         6: .line 170
      StackMap locals: int int
      StackMap stack:
            getstatic sun.nio.cs.EUC_TW$Decoder.b2cIsSupp:[B
            iload 5 /* index */
            baload
            iconst_1
            iload 2 /* p */
            ishl
            iand
            ifne 9
         7: .line 171
            aload 3 /* c1 */
            iconst_0
            iload 6 /* c */
            castore
         8: .line 172
            aload 3 /* c1 */
            areturn
         9: .line 174
      StackMap locals:
      StackMap stack:
            aload 4 /* c2 */
            iconst_0
            ldc 131072
            iload 6 /* c */
            iadd
            invokestatic java.lang.Character.highSurrogate:(I)C
            castore
        10: .line 175
            aload 4 /* c2 */
            iconst_1
            ldc 131072
            iload 6 /* c */
            iadd
            invokestatic java.lang.Character.lowSurrogate:(I)C
            castore
        11: .line 176
            aload 4 /* c2 */
            areturn
        end local 6 // char c
        end local 5 // int index
        end local 4 // char[] c2
        end local 3 // char[] c1
        end local 2 // int p
        end local 1 // int b2
        end local 0 // int b1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0     b1  I
            0   12     1     b2  I
            0   12     2      p  I
            0   12     3     c1  [C
            0   12     4     c2  [C
            3   12     5  index  I
            4   12     6      c  C
    MethodParameters:
      Name  Flags
      b1    
      b2    
      p     
      c1    
      c2    

  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=4, locals=15, args_size=3
        start local 0 // sun.nio.cs.EUC_TW$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 183
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 3 /* sa */
        start local 3 // byte[] sa
         1: .line 184
            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 185
            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 187
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 6 /* da */
        start local 6 // char[] da
         4: .line 188
            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 189
            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 191
            goto 78
         7: .line 192
      StackMap locals: sun.nio.cs.EUC_TW$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int char[] int int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            baload
            sipush 255
            iand
            istore 9 /* byte1 */
        start local 9 // int byte1
         8: .line 193
            iload 9 /* byte1 */
            sipush 142
            if_icmpne 45
         9: .line 194
            iload 5 /* sl */
            iload 4 /* sp */
            isub
            iconst_4
            if_icmpge 14
        10: .line 195
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        11: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        12: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        13: .line 195
            aload 14
            areturn
        14: .line 196
      StackMap locals: int
      StackMap stack:
            getstatic sun.nio.cs.EUC_TW$Decoder.cnspToIndex:[B
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            baload
            istore 10 /* cnsPlane */
        start local 10 // int cnsPlane
        15: .line 197
            iload 10 /* cnsPlane */
            ifge 20
        16: .line 198
            iconst_2
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        17: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        18: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        19: .line 198
            aload 14
            areturn
        20: .line 199
      StackMap locals: int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            istore 9 /* byte1 */
        21: .line 200
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_3
            iadd
            baload
            sipush 255
            iand
            istore 11 /* byte2 */
        start local 11 // int byte2
        22: .line 201
            aload 0 /* this */
            iload 9 /* byte1 */
            iload 11 /* byte2 */
            iload 10 /* cnsPlane */
            invokevirtual sun.nio.cs.EUC_TW$Decoder.toUnicode:(III)[C
            astore 12 /* cc */
        start local 12 // char[] cc
        23: .line 202
            aload 12 /* cc */
            ifnonnull 33
        24: .line 203
            iload 9 /* byte1 */
            invokestatic sun.nio.cs.EUC_TW$Decoder.isLegalDB:(I)Z
            ifeq 25
            iload 11 /* byte2 */
            invokestatic sun.nio.cs.EUC_TW$Decoder.isLegalDB:(I)Z
            ifne 29
        25: .line 204
      StackMap locals: int char[]
      StackMap stack:
            iconst_4
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        26: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        27: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        28: .line 204
            aload 14
            areturn
        29: .line 205
      StackMap locals:
      StackMap stack:
            iconst_4
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        30: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        31: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        32: .line 205
            aload 14
            areturn
        33: .line 207
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            aload 12 /* cc */
            arraylength
            if_icmpge 38
        34: .line 208
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        35: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        36: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        37: .line 208
            aload 14
            areturn
        38: .line 209
      StackMap locals:
      StackMap stack:
            aload 12 /* cc */
            arraylength
            iconst_1
            if_icmpne 41
        39: .line 210
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 12 /* cc */
            iconst_0
            caload
            castore
        40: .line 211
            goto 43
        41: .line 212
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 12 /* cc */
            iconst_0
            caload
            castore
        42: .line 213
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 12 /* cc */
            iconst_1
            caload
            castore
        43: .line 215
      StackMap locals:
      StackMap stack:
            iinc 4 /* sp */ 4
        end local 12 // char[] cc
        end local 11 // int byte2
        end local 10 // int cnsPlane
        44: .line 216
            goto 78
      StackMap locals:
      StackMap stack:
        45: iload 9 /* byte1 */
            sipush 128
            if_icmpge 54
        46: .line 217
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 51
        47: .line 218
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        48: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        49: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        50: .line 218
            aload 14
            areturn
        51: .line 219
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 9 /* byte1 */
            i2c
            castore
        52: .line 220
            iinc 4 /* sp */ 1
        53: .line 221
            goto 78
        54: .line 222
      StackMap locals:
      StackMap stack:
            iload 5 /* sl */
            iload 4 /* sp */
            isub
            iconst_2
            if_icmpge 59
        55: .line 223
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        56: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        57: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        58: .line 223
            aload 14
            areturn
        59: .line 224
      StackMap locals:
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            istore 10 /* byte2 */
        start local 10 // int byte2
        60: .line 225
            aload 0 /* this */
            iload 9 /* byte1 */
            iload 10 /* byte2 */
            iconst_0
            invokevirtual sun.nio.cs.EUC_TW$Decoder.toUnicode:(III)[C
            astore 11 /* cc */
        start local 11 // char[] cc
        61: .line 226
            aload 11 /* cc */
            ifnonnull 71
        62: .line 227
            iload 9 /* byte1 */
            invokestatic sun.nio.cs.EUC_TW$Decoder.isLegalDB:(I)Z
            ifeq 63
            iload 10 /* byte2 */
            invokestatic sun.nio.cs.EUC_TW$Decoder.isLegalDB:(I)Z
            ifne 67
        63: .line 228
      StackMap locals: int char[]
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        64: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        65: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        66: .line 228
            aload 14
            areturn
        67: .line 229
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        68: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        69: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        70: .line 229
            aload 14
            areturn
        71: .line 231
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 76
        72: .line 232
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        73: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        74: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        75: .line 232
            aload 14
            areturn
        76: .line 233
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 11 /* cc */
            iconst_0
            caload
            castore
        77: .line 234
            iinc 4 /* sp */ 2
        end local 11 // char[] cc
        end local 10 // int byte2
        end local 9 // int byte1
        78: .line 191
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 7
        79: .line 237
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        80: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        81: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        82: .line 237
            aload 14
            areturn
        83: .line 238
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        84: .line 239
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        85: .line 240
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        86: .line 241
            aload 13
            athrow
        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.EUC_TW$Decoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   87     0      this  Lsun/nio/cs/EUC_TW$Decoder;
            0   87     1       src  Ljava/nio/ByteBuffer;
            0   87     2       dst  Ljava/nio/CharBuffer;
            1   87     3        sa  [B
            2   87     4        sp  I
            3   87     5        sl  I
            4   87     6        da  [C
            5   87     7        dp  I
            6   87     8        dl  I
            8   78     9     byte1  I
           15   44    10  cnsPlane  I
           22   44    11     byte2  I
           23   44    12        cc  [C
           60   78    10     byte2  I
           61   78    11        cc  [C
      Exception table:
        from    to  target  type
           6    11      83  any
          14    17      83  any
          20    26      83  any
          29    30      83  any
          33    35      83  any
          38    48      83  any
          51    56      83  any
          59    64      83  any
          67    68      83  any
          71    73      83  any
          76    80      83  any
    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=4, locals=10, args_size=3
        start local 0 // sun.nio.cs.EUC_TW$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 247
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 249
            goto 63
         2: .line 250
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 4 /* byte1 */
        start local 4 // int byte1
         3: .line 251
            iload 4 /* byte1 */
            sipush 142
            if_icmpne 35
         4: .line 252
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_3
            if_icmpge 8
         5: .line 253
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
         6: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
         7: .line 253
            aload 9
            areturn
         8: .line 254
      StackMap locals: int
      StackMap stack:
            getstatic sun.nio.cs.EUC_TW$Decoder.cnspToIndex:[B
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            baload
            istore 5 /* cnsPlane */
        start local 5 // int cnsPlane
         9: .line 255
            iload 5 /* cnsPlane */
            ifge 13
        10: .line 256
            iconst_2
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        11: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        12: .line 256
            aload 9
            areturn
        13: .line 257
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 4 /* byte1 */
        14: .line 258
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 6 /* byte2 */
        start local 6 // int byte2
        15: .line 259
            aload 0 /* this */
            iload 4 /* byte1 */
            iload 6 /* byte2 */
            iload 5 /* cnsPlane */
            invokevirtual sun.nio.cs.EUC_TW$Decoder.toUnicode:(III)[C
            astore 7 /* cc */
        start local 7 // char[] cc
        16: .line 260
            aload 7 /* cc */
            ifnonnull 24
        17: .line 261
            iload 4 /* byte1 */
            invokestatic sun.nio.cs.EUC_TW$Decoder.isLegalDB:(I)Z
            ifeq 18
            iload 6 /* byte2 */
            invokestatic sun.nio.cs.EUC_TW$Decoder.isLegalDB:(I)Z
            ifne 21
        18: .line 262
      StackMap locals: int char[]
      StackMap stack:
            iconst_4
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        19: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        20: .line 262
            aload 9
            areturn
        21: .line 263
      StackMap locals:
      StackMap stack:
            iconst_4
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        22: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        23: .line 263
            aload 9
            areturn
        24: .line 265
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            aload 7 /* cc */
            arraylength
            if_icmpge 28
        25: .line 266
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        26: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        27: .line 266
            aload 9
            areturn
        28: .line 267
      StackMap locals:
      StackMap stack:
            aload 7 /* cc */
            arraylength
            iconst_1
            if_icmpne 31
        29: .line 268
            aload 2 /* dst */
            aload 7 /* cc */
            iconst_0
            caload
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        30: .line 269
            goto 33
        31: .line 270
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            aload 7 /* cc */
            iconst_0
            caload
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        32: .line 271
            aload 2 /* dst */
            aload 7 /* cc */
            iconst_1
            caload
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        33: .line 273
      StackMap locals:
      StackMap stack:
            iinc 3 /* mark */ 4
        end local 7 // char[] cc
        end local 6 // int byte2
        end local 5 // int cnsPlane
        34: .line 274
            goto 63
      StackMap locals:
      StackMap stack:
        35: iload 4 /* byte1 */
            sipush 128
            if_icmpge 43
        36: .line 275
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 40
        37: .line 276
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        38: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        39: .line 276
            aload 9
            areturn
        40: .line 277
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 4 /* byte1 */
            i2c
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        41: .line 278
            iinc 3 /* mark */ 1
        42: .line 279
            goto 63
        43: .line 280
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 47
        44: .line 281
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        45: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        46: .line 281
            aload 9
            areturn
        47: .line 282
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 5 /* byte2 */
        start local 5 // int byte2
        48: .line 283
            aload 0 /* this */
            iload 4 /* byte1 */
            iload 5 /* byte2 */
            iconst_0
            invokevirtual sun.nio.cs.EUC_TW$Decoder.toUnicode:(III)[C
            astore 6 /* cc */
        start local 6 // char[] cc
        49: .line 284
            aload 6 /* cc */
            ifnonnull 57
        50: .line 285
            iload 4 /* byte1 */
            invokestatic sun.nio.cs.EUC_TW$Decoder.isLegalDB:(I)Z
            ifeq 51
            iload 5 /* byte2 */
            invokestatic sun.nio.cs.EUC_TW$Decoder.isLegalDB:(I)Z
            ifne 54
        51: .line 286
      StackMap locals: int char[]
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        52: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        53: .line 286
            aload 9
            areturn
        54: .line 287
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        55: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        56: .line 287
            aload 9
            areturn
        57: .line 289
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 61
        58: .line 290
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        59: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        60: .line 290
            aload 9
            areturn
        61: .line 291
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            aload 6 /* cc */
            iconst_0
            caload
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        62: .line 292
            iinc 3 /* mark */ 2
        end local 6 // char[] cc
        end local 5 // int byte2
        end local 4 // int byte1
        63: .line 249
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 2
        64: .line 295
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        65: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        66: .line 295
            aload 9
            areturn
        67: .line 296
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        68: .line 297
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        69: .line 298
            aload 8
            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.EUC_TW$Decoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   70     0      this  Lsun/nio/cs/EUC_TW$Decoder;
            0   70     1       src  Ljava/nio/ByteBuffer;
            0   70     2       dst  Ljava/nio/CharBuffer;
            1   70     3      mark  I
            3   63     4     byte1  I
            9   34     5  cnsPlane  I
           15   34     6     byte2  I
           16   34     7        cc  [C
           48   63     5     byte2  I
           49   63     6        cc  [C
      Exception table:
        from    to  target  type
           1     6      67  any
           8    11      67  any
          13    19      67  any
          21    22      67  any
          24    26      67  any
          28    38      67  any
          40    45      67  any
          47    52      67  any
          54    55      67  any
          57    59      67  any
          61    65      67  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.EUC_TW$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 303
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
         1: .line 304
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.EUC_TW$Decoder.decodeArrayLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.EUC_TW$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.EUC_TW$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/EUC_TW$Decoder;
            0    3     1   src  Ljava/nio/ByteBuffer;
            0    3     2   dst  Ljava/nio/CharBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   
}
SourceFile: "EUC_TW.java"
NestHost: sun.nio.cs.EUC_TW
InnerClasses:
  public Decoder = sun.nio.cs.EUC_TW$Decoder of sun.nio.cs.EUC_TW