public class sun.nio.cs.ext.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.ext.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.ext.EUC_TWMapping.b2c:[Ljava/lang/String;
            putstatic sun.nio.cs.ext.EUC_TW$Decoder.b2c:[Ljava/lang/String;
         1: .line 122
            sipush 256
            newarray 8
            putstatic sun.nio.cs.ext.EUC_TW$Decoder.cnspToIndex:[B
         2: .line 124
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.cnspToIndex:[B
            iconst_m1
            invokestatic java.util.Arrays.fill:([BB)V
         3: .line 125
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.cnspToIndex:[B
            sipush 162
            iconst_1
            bastore
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.cnspToIndex:[B
            sipush 163
            iconst_2
            bastore
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.cnspToIndex:[B
            sipush 164
            iconst_3
            bastore
         4: .line 126
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.cnspToIndex:[B
            sipush 165
            iconst_4
            bastore
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.cnspToIndex:[B
            sipush 166
            iconst_5
            bastore
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.cnspToIndex:[B
            sipush 167
            bipush 6
            bastore
         5: .line 127
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.cnspToIndex:[B
            sipush 175
            bipush 7
            bastore
         6: .line 132
            getstatic sun.nio.cs.ext.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.ext.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.ext.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.ext.EUC_TW$Decoder.c1:[C
         2: .line 108
            aload 0 /* this */
            iconst_2
            newarray 5
            putfield sun.nio.cs.ext.EUC_TW$Decoder.c2:[C
         3: .line 105
            return
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.EUC_TW$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/nio/cs/ext/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.ext.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.ext.EUC_TW$Decoder.c1:[C
            aload 0 /* this */
            getfield sun.nio.cs.ext.EUC_TW$Decoder.c2:[C
            invokestatic sun.nio.cs.ext.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.ext.EUC_TW$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/ext/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     

  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 151
            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 152
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 153
      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 154
            getstatic sun.nio.cs.ext.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 155
            iload 6 /* c */
            ldc 65533
            if_icmpne 6
         5: .line 156
            aconst_null
            areturn
         6: .line 157
      StackMap locals: int int
      StackMap stack:
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.b2cIsSupp:[B
            iload 5 /* index */
            baload
            iconst_1
            iload 2 /* p */
            ishl
            iand
            ifne 9
         7: .line 158
            aload 3 /* c1 */
            iconst_0
            iload 6 /* c */
            castore
         8: .line 159
            aload 3 /* c1 */
            areturn
         9: .line 161
      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 162
            aload 4 /* c2 */
            iconst_1
            ldc 131072
            iload 6 /* c */
            iadd
            invokestatic java.lang.Character.lowSurrogate:(I)C
            castore
        11: .line 163
            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.ext.EUC_TW$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 170
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 3 /* sa */
        start local 3 // byte[] sa
         1: .line 171
            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 172
            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 174
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 6 /* da */
        start local 6 // char[] da
         4: .line 175
            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 176
            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 178
            goto 78
         7: .line 179
      StackMap locals: sun.nio.cs.ext.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 180
            iload 9 /* byte1 */
            sipush 142
            if_icmpne 45
         9: .line 181
            iload 5 /* sl */
            iload 4 /* sp */
            isub
            iconst_4
            if_icmpge 14
        10: .line 182
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        11: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        12: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        13: .line 182
            aload 14
            areturn
        14: .line 183
      StackMap locals: int
      StackMap stack:
            getstatic sun.nio.cs.ext.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 184
            iload 10 /* cnsPlane */
            ifge 20
        16: .line 185
            iconst_2
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        17: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        18: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        19: .line 185
            aload 14
            areturn
        20: .line 186
      StackMap locals: int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            istore 9 /* byte1 */
        21: .line 187
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_3
            iadd
            baload
            sipush 255
            iand
            istore 11 /* byte2 */
        start local 11 // int byte2
        22: .line 188
            aload 0 /* this */
            iload 9 /* byte1 */
            iload 11 /* byte2 */
            iload 10 /* cnsPlane */
            invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.toUnicode:(III)[C
            astore 12 /* cc */
        start local 12 // char[] cc
        23: .line 189
            aload 12 /* cc */
            ifnonnull 33
        24: .line 190
            iload 9 /* byte1 */
            invokestatic sun.nio.cs.ext.EUC_TW$Decoder.isLegalDB:(I)Z
            ifeq 25
            iload 11 /* byte2 */
            invokestatic sun.nio.cs.ext.EUC_TW$Decoder.isLegalDB:(I)Z
            ifne 29
        25: .line 191
      StackMap locals: int char[]
      StackMap stack:
            iconst_4
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        26: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        27: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        28: .line 191
            aload 14
            areturn
        29: .line 192
      StackMap locals:
      StackMap stack:
            iconst_4
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        30: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        31: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        32: .line 192
            aload 14
            areturn
        33: .line 194
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            aload 12 /* cc */
            arraylength
            if_icmpge 38
        34: .line 195
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        35: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        36: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        37: .line 195
            aload 14
            areturn
        38: .line 196
      StackMap locals:
      StackMap stack:
            aload 12 /* cc */
            arraylength
            iconst_1
            if_icmpne 41
        39: .line 197
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 12 /* cc */
            iconst_0
            caload
            castore
        40: .line 198
            goto 43
        41: .line 199
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 12 /* cc */
            iconst_0
            caload
            castore
        42: .line 200
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 12 /* cc */
            iconst_1
            caload
            castore
        43: .line 202
      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 203
            goto 78
      StackMap locals:
      StackMap stack:
        45: iload 9 /* byte1 */
            sipush 128
            if_icmpge 54
        46: .line 204
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 51
        47: .line 205
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        48: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        49: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        50: .line 205
            aload 14
            areturn
        51: .line 206
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 9 /* byte1 */
            i2c
            castore
        52: .line 207
            iinc 4 /* sp */ 1
        53: .line 208
            goto 78
        54: .line 209
      StackMap locals:
      StackMap stack:
            iload 5 /* sl */
            iload 4 /* sp */
            isub
            iconst_2
            if_icmpge 59
        55: .line 210
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        56: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        57: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        58: .line 210
            aload 14
            areturn
        59: .line 211
      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 212
            aload 0 /* this */
            iload 9 /* byte1 */
            iload 10 /* byte2 */
            iconst_0
            invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.toUnicode:(III)[C
            astore 11 /* cc */
        start local 11 // char[] cc
        61: .line 213
            aload 11 /* cc */
            ifnonnull 71
        62: .line 214
            iload 9 /* byte1 */
            invokestatic sun.nio.cs.ext.EUC_TW$Decoder.isLegalDB:(I)Z
            ifeq 63
            iload 10 /* byte2 */
            invokestatic sun.nio.cs.ext.EUC_TW$Decoder.isLegalDB:(I)Z
            ifne 67
        63: .line 215
      StackMap locals: int char[]
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        64: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        65: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        66: .line 215
            aload 14
            areturn
        67: .line 216
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        68: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        69: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        70: .line 216
            aload 14
            areturn
        71: .line 218
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 76
        72: .line 219
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        73: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        74: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        75: .line 219
            aload 14
            areturn
        76: .line 220
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 11 /* cc */
            iconst_0
            caload
            castore
        77: .line 221
            iinc 4 /* sp */ 2
        end local 11 // char[] cc
        end local 10 // int byte2
        end local 9 // int byte1
        78: .line 178
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 7
        79: .line 224
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        80: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        81: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        82: .line 224
            aload 14
            areturn
        83: .line 225
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        84: .line 226
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        85: .line 227
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        86: .line 228
            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.ext.EUC_TW$Decoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   87     0      this  Lsun/nio/cs/ext/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.ext.EUC_TW$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 234
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 236
            goto 63
         2: .line 237
      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 238
            iload 4 /* byte1 */
            sipush 142
            if_icmpne 35
         4: .line 239
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_3
            if_icmpge 8
         5: .line 240
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
         6: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         7: .line 240
            aload 9
            areturn
         8: .line 241
      StackMap locals: int
      StackMap stack:
            getstatic sun.nio.cs.ext.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 242
            iload 5 /* cnsPlane */
            ifge 13
        10: .line 243
            iconst_2
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        11: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        12: .line 243
            aload 9
            areturn
        13: .line 244
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 4 /* byte1 */
        14: .line 245
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 6 /* byte2 */
        start local 6 // int byte2
        15: .line 246
            aload 0 /* this */
            iload 4 /* byte1 */
            iload 6 /* byte2 */
            iload 5 /* cnsPlane */
            invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.toUnicode:(III)[C
            astore 7 /* cc */
        start local 7 // char[] cc
        16: .line 247
            aload 7 /* cc */
            ifnonnull 24
        17: .line 248
            iload 4 /* byte1 */
            invokestatic sun.nio.cs.ext.EUC_TW$Decoder.isLegalDB:(I)Z
            ifeq 18
            iload 6 /* byte2 */
            invokestatic sun.nio.cs.ext.EUC_TW$Decoder.isLegalDB:(I)Z
            ifne 21
        18: .line 249
      StackMap locals: int char[]
      StackMap stack:
            iconst_4
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        19: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        20: .line 249
            aload 9
            areturn
        21: .line 250
      StackMap locals:
      StackMap stack:
            iconst_4
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        22: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        23: .line 250
            aload 9
            areturn
        24: .line 252
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            aload 7 /* cc */
            arraylength
            if_icmpge 28
        25: .line 253
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        26: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        27: .line 253
            aload 9
            areturn
        28: .line 254
      StackMap locals:
      StackMap stack:
            aload 7 /* cc */
            arraylength
            iconst_1
            if_icmpne 31
        29: .line 255
            aload 2 /* dst */
            aload 7 /* cc */
            iconst_0
            caload
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        30: .line 256
            goto 33
        31: .line 257
      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 258
            aload 2 /* dst */
            aload 7 /* cc */
            iconst_1
            caload
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        33: .line 260
      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 261
            goto 63
      StackMap locals:
      StackMap stack:
        35: iload 4 /* byte1 */
            sipush 128
            if_icmpge 43
        36: .line 262
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 40
        37: .line 263
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        38: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        39: .line 263
            aload 9
            areturn
        40: .line 264
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 4 /* byte1 */
            i2c
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        41: .line 265
            iinc 3 /* mark */ 1
        42: .line 266
            goto 63
        43: .line 267
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 47
        44: .line 268
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        45: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        46: .line 268
            aload 9
            areturn
        47: .line 269
      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 270
            aload 0 /* this */
            iload 4 /* byte1 */
            iload 5 /* byte2 */
            iconst_0
            invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.toUnicode:(III)[C
            astore 6 /* cc */
        start local 6 // char[] cc
        49: .line 271
            aload 6 /* cc */
            ifnonnull 57
        50: .line 272
            iload 4 /* byte1 */
            invokestatic sun.nio.cs.ext.EUC_TW$Decoder.isLegalDB:(I)Z
            ifeq 51
            iload 5 /* byte2 */
            invokestatic sun.nio.cs.ext.EUC_TW$Decoder.isLegalDB:(I)Z
            ifne 54
        51: .line 273
      StackMap locals: int char[]
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        52: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        53: .line 273
            aload 9
            areturn
        54: .line 274
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        55: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        56: .line 274
            aload 9
            areturn
        57: .line 276
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 61
        58: .line 277
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        59: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        60: .line 277
            aload 9
            areturn
        61: .line 278
      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 279
            iinc 3 /* mark */ 2
        end local 6 // char[] cc
        end local 5 // int byte2
        end local 4 // int byte1
        63: .line 236
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 2
        64: .line 282
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        65: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        66: .line 282
            aload 9
            areturn
        67: .line 283
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        68: .line 284
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        69: .line 285
            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.ext.EUC_TW$Decoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   70     0      this  Lsun/nio/cs/ext/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.ext.EUC_TW$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 290
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
         1: .line 291
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.decodeArrayLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.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.ext.EUC_TW$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/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.ext.EUC_TW
InnerClasses:
  public Decoder = sun.nio.cs.ext.EUC_TW$Decoder of sun.nio.cs.ext.EUC_TW