class sun.nio.cs.GB18030$Encoder extends java.nio.charset.CharsetEncoder
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.cs.GB18030$Encoder
  super_class: java.nio.charset.CharsetEncoder
{
  private int currentState;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final sun.nio.cs.Surrogate$Parser sgp;
    descriptor: Lsun/nio/cs/Surrogate$Parser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 12557
            ldc Lsun/nio/cs/GB18030;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.nio.cs.GB18030$Encoder.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.nio.cs.GB18030$Encoder this
        start local 1 // java.nio.charset.Charset cs
         0: .line 12562
            aload 0 /* this */
            aload 1 /* cs */
            ldc 4.0
            ldc 4.0
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 12559
            aload 0 /* this */
            iconst_2
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
         2: .line 12569
            aload 0 /* this */
            new sun.nio.cs.Surrogate$Parser
            dup
            invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
            putfield sun.nio.cs.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
         3: .line 12563
            return
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.GB18030$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/nio/cs/GB18030$Encoder;
            0    4     1    cs  Ljava/nio/charset/Charset;
    MethodParameters:
      Name  Flags
      cs    

  public boolean canEncode(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.nio.cs.GB18030$Encoder this
        start local 1 // char c
         0: .line 12566
            iload 1 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // char c
        end local 0 // sun.nio.cs.GB18030$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/GB18030$Encoder;
            0    3     1     c  C
    MethodParameters:
      Name  Flags
      c     

  private int getGB18030(short[], java.lang.String[], char);
    descriptor: ([S[Ljava/lang/String;C)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.nio.cs.GB18030$Encoder this
        start local 1 // short[] outerIndex
        start local 2 // java.lang.String[] innerEncoderIndex
        start local 3 // char ch
         0: .line 12573
            aload 1 /* outerIndex */
            iload 3 /* ch */
            ldc 65280
            iand
            bipush 8
            ishr
            saload
            bipush 8
            ishl
            istore 4 /* offset */
        start local 4 // int offset
         1: .line 12574
            aload 2 /* innerEncoderIndex */
            iload 4 /* offset */
            bipush 12
            ishr
            aaload
            iload 4 /* offset */
            sipush 4095
            iand
         2: .line 12575
            iload 3 /* ch */
            sipush 255
            iand
            iadd
         3: .line 12574
            invokevirtual java.lang.String.charAt:(I)C
            ireturn
        end local 4 // int offset
        end local 3 // char ch
        end local 2 // java.lang.String[] innerEncoderIndex
        end local 1 // short[] outerIndex
        end local 0 // sun.nio.cs.GB18030$Encoder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lsun/nio/cs/GB18030$Encoder;
            0    4     1         outerIndex  [S
            0    4     2  innerEncoderIndex  [Ljava/lang/String;
            0    4     3                 ch  C
            1    4     4             offset  I
    MethodParameters:
                   Name  Flags
      outerIndex         
      innerEncoderIndex  
      ch                 

  protected void implReset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.nio.cs.GB18030$Encoder this
         0: .line 12579
            aload 0 /* this */
            iconst_2
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
         1: .line 12580
            return
        end local 0 // sun.nio.cs.GB18030$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/cs/GB18030$Encoder;

  private java.nio.charset.CoderResult encodeArrayLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=20, args_size=3
        start local 0 // sun.nio.cs.GB18030$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 12585
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 3 /* sa */
        start local 3 // char[] sa
         1: .line 12586
            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 12587
            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 12588
            getstatic sun.nio.cs.GB18030$Encoder.$assertionsDisabled:Z
            ifne 4
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmple 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 12589
      StackMap locals: char[] int int
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmpgt 5
            iload 4 /* sp */
            goto 6
      StackMap locals:
      StackMap stack:
         5: iload 5 /* sl */
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* sp */
         7: .line 12590
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 6 /* da */
        start local 6 // byte[] da
         8: .line 12591
            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
         9: .line 12592
            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
        10: .line 12593
            getstatic sun.nio.cs.GB18030$Encoder.$assertionsDisabled:Z
            ifne 11
            iload 7 /* dp */
            iload 8 /* dl */
            if_icmple 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 12594
      StackMap locals: byte[] int int
      StackMap stack:
            iload 7 /* dp */
            iload 8 /* dl */
            if_icmpgt 12
            iload 7 /* dp */
            goto 13
      StackMap locals:
      StackMap stack:
        12: iload 8 /* dl */
      StackMap locals:
      StackMap stack: int
        13: istore 7 /* dp */
        14: .line 12596
            iconst_0
            istore 9 /* condensedKey */
        start local 9 // int condensedKey
        15: .line 12597
            iconst_0
            istore 10 /* hiByte */
        start local 10 // int hiByte
        16: iconst_0
            istore 11 /* loByte */
        start local 11 // int loByte
        17: .line 12598
            aload 0 /* this */
            iconst_2
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
        18: .line 12601
            goto 92
        19: .line 12602
      StackMap locals: int int int
      StackMap stack:
            iconst_1
            istore 12 /* inputSize */
        start local 12 // int inputSize
        20: .line 12603
            aload 3 /* sa */
            iload 4 /* sp */
            caload
            istore 13 /* c */
        start local 13 // char c
        21: .line 12605
            iload 13 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 31
        22: .line 12606
            aload 0 /* this */
            getfield sun.nio.cs.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            iload 13 /* c */
            aload 3 /* sa */
            iload 4 /* sp */
            iload 5 /* sl */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(C[CII)I
            dup
            istore 9 /* condensedKey */
            ifge 27
        23: .line 12607
            aload 0 /* this */
            getfield sun.nio.cs.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 19
        24: .line 12683
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        25: .line 12684
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        26: .line 12607
            aload 19
            areturn
        27: .line 12611
      StackMap locals: int int
      StackMap stack:
            iload 9 /* condensedKey */
            ldc 123464
            iadd
            istore 9 /* condensedKey */
        28: .line 12612
            aload 0 /* this */
            iconst_3
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
        29: .line 12613
            aload 0 /* this */
            getfield sun.nio.cs.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.increment:()I
            istore 12 /* inputSize */
        30: .line 12614
            goto 58
        31: .line 12615
      StackMap locals:
      StackMap stack:
            iload 13 /* c */
            iflt 34
            iload 13 /* c */
            bipush 127
            if_icmpgt 34
        32: .line 12616
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
        33: .line 12617
            goto 58
        34: .line 12618
      StackMap locals:
      StackMap stack:
            iload 13 /* c */
            ldc 42182
            if_icmple 35
            iload 13 /* c */
            ldc 57344
            if_icmplt 55
        35: .line 12619
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.nio.cs.GB18030.encoderIndex1:[S
        36: .line 12620
            getstatic sun.nio.cs.GB18030.encoderIndex2:[Ljava/lang/String;
        37: .line 12621
            iload 13 /* c */
        38: .line 12619
            invokevirtual sun.nio.cs.GB18030$Encoder.getGB18030:([S[Ljava/lang/String;C)I
            istore 14 /* outByteVal */
        start local 14 // int outByteVal
        39: .line 12622
            iload 14 /* outByteVal */
            ldc 65533
            if_icmpne 44
        40: .line 12623
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 19
        41: .line 12683
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        42: .line 12684
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        43: .line 12623
            aload 19
            areturn
        44: .line 12625
      StackMap locals: int
      StackMap stack:
            iload 14 /* outByteVal */
            ldc 65280
            iand
            bipush 8
            ishr
            istore 10 /* hiByte */
        45: .line 12626
            iload 14 /* outByteVal */
            sipush 255
            iand
            istore 11 /* loByte */
        46: .line 12628
            iload 10 /* hiByte */
            bipush 32
            isub
            sipush 256
            imul
            iload 11 /* loByte */
            iadd
            istore 9 /* condensedKey */
        47: .line 12630
            iload 13 /* c */
            ldc 57344
            if_icmplt 49
            iload 13 /* c */
            ldc 63744
            if_icmpge 49
        48: .line 12631
            iload 9 /* condensedKey */
            ldc 33469
            iadd
            istore 9 /* condensedKey */
            goto 51
        49: .line 12632
      StackMap locals:
      StackMap stack:
            iload 13 /* c */
            ldc 63744
            if_icmplt 51
        50: .line 12633
            iload 9 /* condensedKey */
            ldc 37801
            iadd
            istore 9 /* condensedKey */
        51: .line 12635
      StackMap locals:
      StackMap stack:
            iload 10 /* hiByte */
            sipush 128
            if_icmple 53
        52: .line 12636
            aload 0 /* this */
            iconst_2
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
            goto 58
        53: .line 12638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
        end local 14 // int outByteVal
        54: .line 12639
            goto 58
        55: .line 12640
      StackMap locals:
      StackMap stack:
            iload 13 /* c */
            ldc 42183
            if_icmplt 58
            iload 13 /* c */
            ldc 55295
            if_icmpgt 58
        56: .line 12641
            iload 13 /* c */
            sipush 21827
            isub
            istore 9 /* condensedKey */
        57: .line 12642
            aload 0 /* this */
            iconst_3
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
        58: .line 12645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.GB18030$Encoder.currentState:I
            tableswitch { // 1 - 3
                    1: 59
                    2: 66
                    3: 74
              default: 90
          }
        59: .line 12647
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 64
        60: .line 12648
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 19
        61: .line 12683
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        62: .line 12684
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        63: .line 12648
            aload 19
            areturn
        64: .line 12649
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 13 /* c */
            i2b
            bastore
        65: .line 12650
            goto 91
        66: .line 12653
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_2
            if_icmpge 71
        67: .line 12654
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 19
        68: .line 12683
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        69: .line 12684
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        70: .line 12654
            aload 19
            areturn
        71: .line 12655
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 10 /* hiByte */
            i2b
            bastore
        72: .line 12656
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* loByte */
            i2b
            bastore
        73: .line 12657
            goto 91
        74: .line 12662
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_4
            if_icmpge 79
        75: .line 12663
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 19
        76: .line 12683
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        77: .line 12684
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        78: .line 12663
            aload 19
            areturn
        79: .line 12665
      StackMap locals:
      StackMap stack:
            iload 9 /* condensedKey */
            bipush 10
            irem
            bipush 48
            iadd
            i2b
            istore 17 /* b4 */
        start local 17 // byte b4
        80: .line 12666
            iload 9 /* condensedKey */
            bipush 10
            idiv
            istore 9 /* condensedKey */
        81: .line 12667
            iload 9 /* condensedKey */
            bipush 126
            irem
            sipush 129
            iadd
            i2b
            istore 16 /* b3 */
        start local 16 // byte b3
        82: .line 12668
            iload 9 /* condensedKey */
            bipush 126
            idiv
            istore 9 /* condensedKey */
        83: .line 12669
            iload 9 /* condensedKey */
            bipush 10
            irem
            bipush 48
            iadd
            i2b
            istore 15 /* b2 */
        start local 15 // byte b2
        84: .line 12670
            iload 9 /* condensedKey */
            bipush 10
            idiv
            sipush 129
            iadd
            i2b
            istore 14 /* b1 */
        start local 14 // byte b1
        85: .line 12671
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 14 /* b1 */
            bastore
        86: .line 12672
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 15 /* b2 */
            bastore
        87: .line 12673
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 16 /* b3 */
            bastore
        88: .line 12674
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 17 /* b4 */
            bastore
        89: .line 12675
            goto 91
        end local 17 // byte b4
        end local 16 // byte b3
        end local 15 // byte b2
        end local 14 // byte b1
        90: .line 12677
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.cs.GB18030$Encoder.$assertionsDisabled:Z
            ifne 91
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        91: .line 12679
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 12 /* inputSize */
            iadd
            istore 4 /* sp */
        end local 13 // char c
        end local 12 // int inputSize
        92: .line 12601
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 19
        93: .line 12681
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 19
        94: .line 12683
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        95: .line 12684
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        96: .line 12681
            aload 19
            areturn
        97: .line 12682
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 18
        98: .line 12683
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        99: .line 12684
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       100: .line 12685
            aload 18
            athrow
        end local 11 // int loByte
        end local 10 // int hiByte
        end local 9 // int condensedKey
        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.GB18030$Encoder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  101     0          this  Lsun/nio/cs/GB18030$Encoder;
            0  101     1           src  Ljava/nio/CharBuffer;
            0  101     2           dst  Ljava/nio/ByteBuffer;
            1  101     3            sa  [C
            2  101     4            sp  I
            3  101     5            sl  I
            8  101     6            da  [B
            9  101     7            dp  I
           10  101     8            dl  I
           15  101     9  condensedKey  I
           16  101    10        hiByte  I
           17  101    11        loByte  I
           20   92    12     inputSize  I
           21   92    13             c  C
           39   54    14    outByteVal  I
           85   90    14            b1  B
           84   90    15            b2  B
           82   90    16            b3  B
           80   90    17            b4  B
      Exception table:
        from    to  target  type
          18    24      97  any
          27    41      97  any
          44    61      97  any
          64    68      97  any
          71    76      97  any
          79    94      97  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  private java.nio.charset.CoderResult encodeBufferLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=15, args_size=3
        start local 0 // sun.nio.cs.GB18030$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 12691
            iconst_0
            istore 3 /* condensedKey */
        start local 3 // int condensedKey
         1: .line 12692
            iconst_0
            istore 4 /* hiByte */
        start local 4 // int hiByte
         2: iconst_0
            istore 5 /* loByte */
        start local 5 // int loByte
         3: .line 12693
            aload 0 /* this */
            iconst_2
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
         4: .line 12694
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            istore 6 /* mark */
        start local 6 // int mark
         5: .line 12696
            goto 73
         6: .line 12697
      StackMap locals: sun.nio.cs.GB18030$Encoder java.nio.CharBuffer java.nio.ByteBuffer int int int int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 7 /* c */
        start local 7 // char c
         7: .line 12698
            iconst_1
            istore 8 /* inputSize */
        start local 8 // int inputSize
         8: .line 12699
            iload 7 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 17
         9: .line 12700
            aload 0 /* this */
            getfield sun.nio.cs.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            iload 7 /* c */
            aload 1 /* src */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
            dup
            istore 3 /* condensedKey */
            ifge 13
        10: .line 12701
            aload 0 /* this */
            getfield sun.nio.cs.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 14
        11: .line 12767
            aload 1 /* src */
            iload 6 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        12: .line 12701
            aload 14
            areturn
        13: .line 12702
      StackMap locals: int int
      StackMap stack:
            iload 3 /* condensedKey */
            ldc 123464
            iadd
            istore 3 /* condensedKey */
        14: .line 12703
            aload 0 /* this */
            iconst_3
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
        15: .line 12704
            iconst_2
            istore 8 /* inputSize */
        16: .line 12705
            goto 43
        17: .line 12706
      StackMap locals:
      StackMap stack:
            iload 7 /* c */
            iflt 20
            iload 7 /* c */
            bipush 127
            if_icmpgt 20
        18: .line 12707
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
        19: .line 12708
            goto 43
        20: .line 12709
      StackMap locals:
      StackMap stack:
            iload 7 /* c */
            ldc 42182
            if_icmple 21
            iload 7 /* c */
            ldc 57344
            if_icmplt 40
        21: .line 12710
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.nio.cs.GB18030.encoderIndex1:[S
        22: .line 12711
            getstatic sun.nio.cs.GB18030.encoderIndex2:[Ljava/lang/String;
        23: .line 12712
            iload 7 /* c */
        24: .line 12710
            invokevirtual sun.nio.cs.GB18030$Encoder.getGB18030:([S[Ljava/lang/String;C)I
            istore 9 /* outByteVal */
        start local 9 // int outByteVal
        25: .line 12713
            iload 9 /* outByteVal */
            ldc 65533
            if_icmpne 29
        26: .line 12714
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        27: .line 12767
            aload 1 /* src */
            iload 6 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        28: .line 12714
            aload 14
            areturn
        29: .line 12716
      StackMap locals: int
      StackMap stack:
            iload 9 /* outByteVal */
            ldc 65280
            iand
            bipush 8
            ishr
            istore 4 /* hiByte */
        30: .line 12717
            iload 9 /* outByteVal */
            sipush 255
            iand
            istore 5 /* loByte */
        31: .line 12719
            iload 4 /* hiByte */
            bipush 32
            isub
            sipush 256
            imul
            iload 5 /* loByte */
            iadd
            istore 3 /* condensedKey */
        32: .line 12721
            iload 7 /* c */
            ldc 57344
            if_icmplt 34
            iload 7 /* c */
            ldc 63744
            if_icmpge 34
        33: .line 12722
            iload 3 /* condensedKey */
            ldc 33469
            iadd
            istore 3 /* condensedKey */
            goto 36
        34: .line 12723
      StackMap locals:
      StackMap stack:
            iload 7 /* c */
            ldc 63744
            if_icmplt 36
        35: .line 12724
            iload 3 /* condensedKey */
            ldc 37801
            iadd
            istore 3 /* condensedKey */
        36: .line 12726
      StackMap locals:
      StackMap stack:
            iload 4 /* hiByte */
            sipush 128
            if_icmple 38
        37: .line 12727
            aload 0 /* this */
            iconst_2
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
            goto 43
        38: .line 12729
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
        end local 9 // int outByteVal
        39: .line 12730
            goto 43
        40: .line 12731
      StackMap locals:
      StackMap stack:
            iload 7 /* c */
            ldc 42183
            if_icmplt 43
            iload 7 /* c */
            ldc 55295
            if_icmpgt 43
        41: .line 12732
            iload 7 /* c */
            sipush 21827
            isub
            istore 3 /* condensedKey */
        42: .line 12733
            aload 0 /* this */
            iconst_3
            putfield sun.nio.cs.GB18030$Encoder.currentState:I
        43: .line 12736
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.GB18030$Encoder.currentState:I
            iconst_1
            if_icmpne 50
        44: .line 12737
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 48
        45: .line 12738
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        46: .line 12767
            aload 1 /* src */
            iload 6 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        47: .line 12738
            aload 14
            areturn
        48: .line 12739
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 7 /* c */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        49: .line 12740
            goto 72
      StackMap locals:
      StackMap stack:
        50: aload 0 /* this */
            getfield sun.nio.cs.GB18030$Encoder.currentState:I
            iconst_2
            if_icmpne 58
        51: .line 12741
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 55
        52: .line 12742
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        53: .line 12767
            aload 1 /* src */
            iload 6 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        54: .line 12742
            aload 14
            areturn
        55: .line 12743
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 4 /* hiByte */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        56: .line 12744
            aload 2 /* dst */
            iload 5 /* loByte */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        57: .line 12745
            goto 72
        58: .line 12749
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_4
            if_icmpge 62
        59: .line 12750
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        60: .line 12767
            aload 1 /* src */
            iload 6 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        61: .line 12750
            aload 14
            areturn
        62: .line 12752
      StackMap locals:
      StackMap stack:
            iload 3 /* condensedKey */
            bipush 10
            irem
            bipush 48
            iadd
            i2b
            istore 12 /* b4 */
        start local 12 // byte b4
        63: .line 12753
            iload 3 /* condensedKey */
            bipush 10
            idiv
            istore 3 /* condensedKey */
        64: .line 12754
            iload 3 /* condensedKey */
            bipush 126
            irem
            sipush 129
            iadd
            i2b
            istore 11 /* b3 */
        start local 11 // byte b3
        65: .line 12755
            iload 3 /* condensedKey */
            bipush 126
            idiv
            istore 3 /* condensedKey */
        66: .line 12756
            iload 3 /* condensedKey */
            bipush 10
            irem
            bipush 48
            iadd
            i2b
            istore 10 /* b2 */
        start local 10 // byte b2
        67: .line 12757
            iload 3 /* condensedKey */
            bipush 10
            idiv
            sipush 129
            iadd
            i2b
            istore 9 /* b1 */
        start local 9 // byte b1
        68: .line 12758
            aload 2 /* dst */
            iload 9 /* b1 */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        69: .line 12759
            aload 2 /* dst */
            iload 10 /* b2 */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        70: .line 12760
            aload 2 /* dst */
            iload 11 /* b3 */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        71: .line 12761
            aload 2 /* dst */
            iload 12 /* b4 */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        end local 12 // byte b4
        end local 11 // byte b3
        end local 10 // byte b2
        end local 9 // byte b1
        72: .line 12763
      StackMap locals:
      StackMap stack:
            iload 6 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 6 /* mark */
        end local 8 // int inputSize
        end local 7 // char c
        73: .line 12696
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 6
        74: .line 12765
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        75: .line 12767
            aload 1 /* src */
            iload 6 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        76: .line 12765
            aload 14
            areturn
        77: .line 12766
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        78: .line 12767
            aload 1 /* src */
            iload 6 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        79: .line 12768
            aload 13
            athrow
        end local 6 // int mark
        end local 5 // int loByte
        end local 4 // int hiByte
        end local 3 // int condensedKey
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.GB18030$Encoder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   80     0          this  Lsun/nio/cs/GB18030$Encoder;
            0   80     1           src  Ljava/nio/CharBuffer;
            0   80     2           dst  Ljava/nio/ByteBuffer;
            1   80     3  condensedKey  I
            2   80     4        hiByte  I
            3   80     5        loByte  I
            5   80     6          mark  I
            7   73     7             c  C
            8   73     8     inputSize  I
           25   39     9    outByteVal  I
           68   72     9            b1  B
           67   72    10            b2  B
           65   72    11            b3  B
           63   72    12            b4  B
      Exception table:
        from    to  target  type
           5    11      77  any
          13    27      77  any
          29    46      77  any
          48    53      77  any
          55    60      77  any
          62    75      77  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.GB18030$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 12773
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
         1: .line 12774
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.GB18030$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 12776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.GB18030$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.GB18030$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/GB18030$Encoder;
            0    3     1   src  Ljava/nio/CharBuffer;
            0    3     2   dst  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   
}
SourceFile: "GB18030.java"
NestHost: sun.nio.cs.GB18030
InnerClasses:
  private Encoder = sun.nio.cs.GB18030$Encoder of sun.nio.cs.GB18030
  public Parser = sun.nio.cs.Surrogate$Parser of sun.nio.cs.Surrogate