public class sun.nio.cs.ext.HKSCS$Encoder extends sun.nio.cs.ext.DoubleByte$Encoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.cs.ext.HKSCS$Encoder
  super_class: sun.nio.cs.ext.DoubleByte$Encoder
{
  private sun.nio.cs.ext.DoubleByte$Encoder big5Enc;
    descriptor: Lsun/nio/cs/ext/DoubleByte$Encoder;
    flags: (0x0002) ACC_PRIVATE

  private char[][] c2bBmp;
    descriptor: [[C
    flags: (0x0002) ACC_PRIVATE

  private char[][] c2bSupp;
    descriptor: [[C
    flags: (0x0002) ACC_PRIVATE

  static char[] C2B_UNMAPPABLE;
    descriptor: [C
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 325
            sipush 256
            newarray 5
            putstatic sun.nio.cs.ext.HKSCS$Encoder.C2B_UNMAPPABLE:[C
         1: .line 327
            getstatic sun.nio.cs.ext.HKSCS$Encoder.C2B_UNMAPPABLE:[C
            ldc 65533
            invokestatic java.util.Arrays.fill:([CC)V
         2: .line 328
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.nio.charset.Charset, sun.nio.cs.ext.DoubleByte$Encoder, char[][], char[][]);
    descriptor: (Ljava/nio/charset/Charset;Lsun/nio/cs/ext/DoubleByte$Encoder;[[C[[C)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // sun.nio.cs.ext.DoubleByte$Encoder big5Enc
        start local 3 // char[][] c2bBmp
        start local 4 // char[][] c2bSupp
         0: .line 207
            aload 0 /* this */
            aload 1 /* cs */
            aconst_null
            aconst_null
            invokespecial sun.nio.cs.ext.DoubleByte$Encoder.<init>:(Ljava/nio/charset/Charset;[C[C)V
         1: .line 208
            aload 0 /* this */
            aload 2 /* big5Enc */
            putfield sun.nio.cs.ext.HKSCS$Encoder.big5Enc:Lsun/nio/cs/ext/DoubleByte$Encoder;
         2: .line 209
            aload 0 /* this */
            aload 3 /* c2bBmp */
            putfield sun.nio.cs.ext.HKSCS$Encoder.c2bBmp:[[C
         3: .line 210
            aload 0 /* this */
            aload 4 /* c2bSupp */
            putfield sun.nio.cs.ext.HKSCS$Encoder.c2bSupp:[[C
         4: .line 211
            return
        end local 4 // char[][] c2bSupp
        end local 3 // char[][] c2bBmp
        end local 2 // sun.nio.cs.ext.DoubleByte$Encoder big5Enc
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    5     1       cs  Ljava/nio/charset/Charset;
            0    5     2  big5Enc  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0    5     3   c2bBmp  [[C
            0    5     4  c2bSupp  [[C
    MethodParameters:
         Name  Flags
      cs       
      big5Enc  
      c2bBmp   
      c2bSupp  

  public int encodeBig5(char);
    descriptor: (C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // char ch
         0: .line 214
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.big5Enc:Lsun/nio/cs/ext/DoubleByte$Encoder;
            iload 1 /* ch */
            invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeChar:(C)I
            ireturn
        end local 1 // char ch
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    1     1    ch  C
    MethodParameters:
      Name  Flags
      ch    

  public int encodeChar(char);
    descriptor: (C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // char ch
         0: .line 218
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.c2bBmp:[[C
            iload 1 /* ch */
            bipush 8
            ishr
            aaload
            iload 1 /* ch */
            sipush 255
            iand
            caload
            istore 2 /* bb */
        start local 2 // int bb
         1: .line 219
            iload 2 /* bb */
            ldc 65533
            if_icmpne 3
         2: .line 220
            aload 0 /* this */
            iload 1 /* ch */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeBig5:(C)I
            ireturn
         3: .line 221
      StackMap locals: int
      StackMap stack:
            iload 2 /* bb */
            ireturn
        end local 2 // int bb
        end local 1 // char ch
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    4     1    ch  C
            1    4     2    bb  I
    MethodParameters:
      Name  Flags
      ch    

  public int encodeSupp(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // int cp
         0: .line 225
            iload 1 /* cp */
            ldc 983040
            iand
            ldc 131072
            if_icmpeq 2
         1: .line 226
            ldc 65533
            ireturn
         2: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.c2bSupp:[[C
            iload 1 /* cp */
            bipush 8
            ishr
            sipush 255
            iand
            aaload
            iload 1 /* cp */
            sipush 255
            iand
            caload
            ireturn
        end local 1 // int cp
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    3     1    cp  I
    MethodParameters:
      Name  Flags
      cp    

  public boolean canEncode(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // char c
         0: .line 231
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeChar:(C)I
            ldc 65533
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  protected java.nio.charset.CoderResult encodeArrayLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 235
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 3 /* sa */
        start local 3 // char[] sa
         1: .line 236
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            iadd
            istore 4 /* sp */
        start local 4 // int sp
         2: .line 237
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.limit:()I
            iadd
            istore 5 /* sl */
        start local 5 // int sl
         3: .line 239
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 6 /* da */
        start local 6 // byte[] da
         4: .line 240
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 7 /* dp */
        start local 7 // int dp
         5: .line 241
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iadd
            istore 8 /* dl */
        start local 8 // int dl
         6: .line 244
            goto 46
         7: .line 245
      StackMap locals: sun.nio.cs.ext.HKSCS$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            caload
            istore 9 /* c */
        start local 9 // char c
         8: .line 246
            iconst_1
            istore 10 /* inSize */
        start local 10 // int inSize
         9: .line 247
            aload 0 /* this */
            iload 9 /* c */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeChar:(C)I
            istore 11 /* bb */
        start local 11 // int bb
        10: .line 248
            iload 11 /* bb */
            ldc 65533
            if_icmpne 30
        11: .line 249
            iload 9 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 26
        12: .line 251
            aload 0 /* this */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.sgp:()Lsun/nio/cs/Surrogate$Parser;
            iload 9 /* c */
            aload 3 /* sa */
            iload 4 /* sp */
            iload 5 /* sl */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(C[CII)I
            dup
            istore 12 /* cp */
        start local 12 // int cp
        13: ifge 18
        14: .line 252
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 14
        15: .line 275
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        16: .line 276
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        17: .line 252
            aload 14
            areturn
        18: .line 253
      StackMap locals: sun.nio.cs.ext.HKSCS$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 12 /* cp */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeSupp:(I)I
            istore 11 /* bb */
        19: .line 254
            iload 11 /* bb */
            ldc 65533
            if_icmpne 24
        20: .line 255
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        21: .line 275
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        22: .line 276
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        23: .line 255
            aload 14
            areturn
        24: .line 256
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 10 /* inSize */
        end local 12 // int cp
        25: .line 257
            goto 30
        26: .line 258
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        27: .line 275
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        28: .line 276
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        29: .line 258
            aload 14
            areturn
        30: .line 261
      StackMap locals:
      StackMap stack:
            iload 11 /* bb */
            sipush 255
            if_icmple 39
        31: .line 262
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_2
            if_icmpge 36
        32: .line 263
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        33: .line 275
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        34: .line 276
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        35: .line 263
            aload 14
            areturn
        36: .line 264
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* bb */
            bipush 8
            ishr
            i2b
            bastore
        37: .line 265
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* bb */
            i2b
            bastore
        38: .line 266
            goto 45
        39: .line 267
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 44
        40: .line 268
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        41: .line 275
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        42: .line 276
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        43: .line 268
            aload 14
            areturn
        44: .line 269
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* bb */
            i2b
            bastore
        45: .line 271
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 10 /* inSize */
            iadd
            istore 4 /* sp */
        end local 11 // int bb
        end local 10 // int inSize
        end local 9 // char c
        46: .line 244
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 7
        47: .line 273
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        48: .line 275
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        49: .line 276
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        50: .line 273
            aload 14
            areturn
        51: .line 274
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        52: .line 275
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        53: .line 276
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        54: .line 277
            aload 13
            athrow
        end local 8 // int dl
        end local 7 // int dp
        end local 6 // byte[] da
        end local 5 // int sl
        end local 4 // int sp
        end local 3 // char[] sa
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   55     0    this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0   55     1     src  Ljava/nio/CharBuffer;
            0   55     2     dst  Ljava/nio/ByteBuffer;
            1   55     3      sa  [C
            2   55     4      sp  I
            3   55     5      sl  I
            4   55     6      da  [B
            5   55     7      dp  I
            6   55     8      dl  I
            8   46     9       c  C
            9   46    10  inSize  I
           10   46    11      bb  I
           13   25    12      cp  I
      Exception table:
        from    to  target  type
           6    15      51  any
          18    21      51  any
          24    27      51  any
          30    33      51  any
          36    41      51  any
          44    48      51  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult encodeBufferLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 281
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 283
            goto 36
         2: .line 284
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 4 /* inSize */
        start local 4 // int inSize
         3: .line 285
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 5 /* c */
        start local 5 // char c
         4: .line 286
            aload 0 /* this */
            iload 5 /* c */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeChar:(C)I
            istore 6 /* bb */
        start local 6 // int bb
         5: .line 287
            iload 6 /* bb */
            ldc 65533
            if_icmpne 22
         6: .line 288
            iload 5 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 19
         7: .line 290
            aload 0 /* this */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.sgp:()Lsun/nio/cs/Surrogate$Parser;
            iload 5 /* c */
            aload 1 /* src */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
            dup
            istore 7 /* cp */
        start local 7 // int cp
         8: ifge 12
         9: .line 291
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 9
        10: .line 314
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        11: .line 291
            aload 9
            areturn
        12: .line 292
      StackMap locals: sun.nio.cs.ext.HKSCS$Encoder java.nio.CharBuffer java.nio.ByteBuffer int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* cp */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeSupp:(I)I
            istore 6 /* bb */
        13: .line 293
            iload 6 /* bb */
            ldc 65533
            if_icmpne 17
        14: .line 294
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        15: .line 314
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        16: .line 294
            aload 9
            areturn
        17: .line 295
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 4 /* inSize */
        end local 7 // int cp
        18: .line 296
            goto 22
        19: .line 297
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        20: .line 314
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        21: .line 297
            aload 9
            areturn
        22: .line 300
      StackMap locals:
      StackMap stack:
            iload 6 /* bb */
            sipush 255
            if_icmple 30
        23: .line 301
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 27
        24: .line 302
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        25: .line 314
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        26: .line 302
            aload 9
            areturn
        27: .line 303
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 6 /* bb */
            bipush 8
            ishr
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        28: .line 304
            aload 2 /* dst */
            iload 6 /* bb */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        29: .line 305
            goto 35
        30: .line 306
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 34
        31: .line 307
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        32: .line 314
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        33: .line 307
            aload 9
            areturn
        34: .line 308
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 6 /* bb */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        35: .line 310
      StackMap locals:
      StackMap stack:
            iload 3 /* mark */
            iload 4 /* inSize */
            iadd
            istore 3 /* mark */
        end local 6 // int bb
        end local 5 // char c
        end local 4 // int inSize
        36: .line 283
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 2
        37: .line 312
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        38: .line 314
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        39: .line 312
            aload 9
            areturn
        40: .line 313
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        41: .line 314
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        42: .line 315
            aload 8
            athrow
        end local 3 // int mark
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   43     0    this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0   43     1     src  Ljava/nio/CharBuffer;
            0   43     2     dst  Ljava/nio/ByteBuffer;
            1   43     3    mark  I
            3   36     4  inSize  I
            4   36     5       c  C
            5   36     6      bb  I
            8   18     7      cp  I
      Exception table:
        from    to  target  type
           1    10      40  any
          12    15      40  any
          17    20      40  any
          22    25      40  any
          27    32      40  any
          34    38      40  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 319
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
         1: .line 320
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeBufferLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    3     1   src  Ljava/nio/CharBuffer;
            0    3     2   dst  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   

  static void initc2b(char[][], java.lang.String[], java.lang.String);
    descriptor: ([[C[Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // char[][] c2b
        start local 1 // java.lang.String[] b2cStr
        start local 2 // java.lang.String pua
         0: .line 332
            bipush 64
            istore 3 /* b2Min */
        start local 3 // int b2Min
         1: .line 333
            aload 0 /* c2b */
            getstatic sun.nio.cs.ext.HKSCS$Encoder.C2B_UNMAPPABLE:[C
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 334
            iconst_0
            istore 4 /* b1 */
        start local 4 // int b1
         3: goto 18
         4: .line 335
      StackMap locals: int int
      StackMap stack:
            aload 1 /* b2cStr */
            iload 4 /* b1 */
            aaload
            astore 5 /* s */
        start local 5 // java.lang.String s
         5: .line 336
            aload 5 /* s */
            ifnonnull 7
         6: .line 337
            goto 17
         7: .line 338
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 16
         9: .line 339
      StackMap locals: int
      StackMap stack:
            aload 5 /* s */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* c */
        start local 7 // char c
        10: .line 340
            iload 7 /* c */
            bipush 8
            ishr
            istore 8 /* hi */
        start local 8 // int hi
        11: .line 341
            aload 0 /* c2b */
            iload 8 /* hi */
            aaload
            getstatic sun.nio.cs.ext.HKSCS$Encoder.C2B_UNMAPPABLE:[C
            if_acmpne 14
        12: .line 342
            aload 0 /* c2b */
            iload 8 /* hi */
            sipush 256
            newarray 5
            aastore
        13: .line 343
            aload 0 /* c2b */
            iload 8 /* hi */
            aaload
            ldc 65533
            invokestatic java.util.Arrays.fill:([CC)V
        14: .line 345
      StackMap locals: int int
      StackMap stack:
            aload 0 /* c2b */
            iload 8 /* hi */
            aaload
            iload 7 /* c */
            sipush 255
            iand
            iload 4 /* b1 */
            bipush 8
            ishl
            iload 6 /* i */
            iload 3 /* b2Min */
            iadd
            ior
            i2c
            castore
        end local 8 // int hi
        end local 7 // char c
        15: .line 338
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            aload 5 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 9
        end local 6 // int i
        end local 5 // java.lang.String s
        17: .line 334
      StackMap locals:
      StackMap stack:
            iinc 4 /* b1 */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* b1 */
            sipush 256
            if_icmplt 4
        end local 4 // int b1
        19: .line 348
            aload 2 /* pua */
            ifnull 33
        20: .line 349
            ldc 57344
            istore 4 /* c */
        start local 4 // char c
        21: .line 350
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        22: goto 32
        23: .line 351
      StackMap locals: char[][] java.lang.String[] java.lang.String int int int
      StackMap stack:
            aload 2 /* pua */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* bb */
        start local 6 // char bb
        24: .line 352
            iload 6 /* bb */
            ldc 65533
            if_icmpeq 30
        25: .line 353
            iload 4 /* c */
            bipush 8
            ishr
            istore 7 /* hi */
        start local 7 // int hi
        26: .line 354
            aload 0 /* c2b */
            iload 7 /* hi */
            aaload
            getstatic sun.nio.cs.ext.HKSCS$Encoder.C2B_UNMAPPABLE:[C
            if_acmpne 29
        27: .line 355
            aload 0 /* c2b */
            iload 7 /* hi */
            sipush 256
            newarray 5
            aastore
        28: .line 356
            aload 0 /* c2b */
            iload 7 /* hi */
            aaload
            ldc 65533
            invokestatic java.util.Arrays.fill:([CC)V
        29: .line 358
      StackMap locals: int int
      StackMap stack:
            aload 0 /* c2b */
            iload 7 /* hi */
            aaload
            iload 4 /* c */
            sipush 255
            iand
            iload 6 /* bb */
            castore
        end local 7 // int hi
        30: .line 360
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            iconst_1
            iadd
            i2c
            istore 4 /* c */
        end local 6 // char bb
        31: .line 350
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 5 /* i */
            aload 2 /* pua */
            invokevirtual java.lang.String.length:()I
            if_icmplt 23
        end local 5 // int i
        end local 4 // char c
        33: .line 363
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int b2Min
        end local 2 // java.lang.String pua
        end local 1 // java.lang.String[] b2cStr
        end local 0 // char[][] c2b
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   34     0     c2b  [[C
            0   34     1  b2cStr  [Ljava/lang/String;
            0   34     2     pua  Ljava/lang/String;
            1   34     3   b2Min  I
            3   19     4      b1  I
            5   17     5       s  Ljava/lang/String;
            8   17     6       i  I
           10   15     7       c  C
           11   15     8      hi  I
           21   33     4       c  C
           22   33     5       i  I
           24   31     6      bb  C
           26   30     7      hi  I
    MethodParameters:
        Name  Flags
      c2b     
      b2cStr  
      pua     
}
SourceFile: "HKSCS.java"
NestHost: sun.nio.cs.ext.HKSCS
InnerClasses:
  public Parser = sun.nio.cs.Surrogate$Parser of sun.nio.cs.Surrogate
  public Encoder = sun.nio.cs.ext.DoubleByte$Encoder of sun.nio.cs.ext.DoubleByte
  public Encoder = sun.nio.cs.ext.HKSCS$Encoder of sun.nio.cs.ext.HKSCS