public class sun.nio.cs.ext.ISO2022$Encoder extends java.nio.charset.CharsetEncoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.cs.ext.ISO2022$Encoder
  super_class: java.nio.charset.CharsetEncoder
{
  private final sun.nio.cs.Surrogate$Parser sgp;
    descriptor: Lsun/nio/cs/Surrogate$Parser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final byte SS2;
    descriptor: B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: -114

  private final byte P2;
    descriptor: B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: -94

  private final byte P3;
    descriptor: B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: -93

  private final byte MSB;
    descriptor: B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: -128

  protected final byte maximumDesignatorLength;
    descriptor: B
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    ConstantValue: 4

  protected java.lang.String SODesig;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String SS2Desig;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String SS3Desig;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.nio.charset.CharsetEncoder ISOEncoder;
    descriptor: Ljava/nio/charset/CharsetEncoder;
    flags: (0x0004) ACC_PROTECTED

  private boolean shiftout;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean SODesDefined;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean SS2DesDefined;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean SS3DesDefined;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean newshiftout;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean newSODesDefined;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean newSS2DesDefined;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean newSS3DesDefined;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  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 388
            ldc Lsun/nio/cs/ext/ISO2022;
            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.ext.ISO2022$Encoder.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.ISO2022$Encoder this
        start local 1 // java.nio.charset.Charset cs
         0: .line 414
            aload 0 /* this */
            aload 1 /* cs */
            ldc 4.0
            ldc 8.0
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 389
            aload 0 /* this */
            new sun.nio.cs.Surrogate$Parser
            dup
            invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
            putfield sun.nio.cs.ext.ISO2022$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
         2: .line 390
            aload 0 /* this */
            bipush -114
            putfield sun.nio.cs.ext.ISO2022$Encoder.SS2:B
         3: .line 391
            aload 0 /* this */
            bipush -94
            putfield sun.nio.cs.ext.ISO2022$Encoder.P2:B
         4: .line 392
            aload 0 /* this */
            bipush -93
            putfield sun.nio.cs.ext.ISO2022$Encoder.P3:B
         5: .line 393
            aload 0 /* this */
            bipush -128
            putfield sun.nio.cs.ext.ISO2022$Encoder.MSB:B
         6: .line 395
            aload 0 /* this */
            iconst_4
            putfield sun.nio.cs.ext.ISO2022$Encoder.maximumDesignatorLength:B
         7: .line 398
            aload 0 /* this */
            aconst_null
            putfield sun.nio.cs.ext.ISO2022$Encoder.SS2Desig:Ljava/lang/String;
         8: .line 399
            aload 0 /* this */
            aconst_null
            putfield sun.nio.cs.ext.ISO2022$Encoder.SS3Desig:Ljava/lang/String;
         9: .line 403
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.shiftout:Z
        10: .line 404
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.SODesDefined:Z
        11: .line 405
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.SS2DesDefined:Z
        12: .line 406
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.SS3DesDefined:Z
        13: .line 408
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newshiftout:Z
        14: .line 409
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSODesDefined:Z
        15: .line 410
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS2DesDefined:Z
        16: .line 411
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS3DesDefined:Z
        17: .line 415
            return
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.ISO2022$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lsun/nio/cs/ext/ISO2022$Encoder;
            0   18     1    cs  Ljava/nio/charset/Charset;
    MethodParameters:
      Name  Flags
      cs    

  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.ISO2022$Encoder this
        start local 1 // char c
         0: .line 418
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.ISOEncoder:Ljava/nio/charset/CharsetEncoder;
            iload 1 /* c */
            invokevirtual java.nio.charset.CharsetEncoder.canEncode:(C)Z
            ireturn
        end local 1 // char c
        end local 0 // sun.nio.cs.ext.ISO2022$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/ext/ISO2022$Encoder;
            0    1     1     c  C
    MethodParameters:
      Name  Flags
      c     

  protected void implReset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.nio.cs.ext.ISO2022$Encoder this
         0: .line 422
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.shiftout:Z
         1: .line 423
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.SODesDefined:Z
         2: .line 424
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.SS2DesDefined:Z
         3: .line 425
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.SS3DesDefined:Z
         4: .line 426
            return
        end local 0 // sun.nio.cs.ext.ISO2022$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/nio/cs/ext/ISO2022$Encoder;

  private int unicodeToNative(char, byte[]);
    descriptor: (C[B)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022$Encoder this
        start local 1 // char unicode
        start local 2 // byte[] ebyte
         0: .line 430
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         1: .line 432
            iconst_1
            newarray 5
            dup
            iconst_0
            iload 1 /* unicode */
            castore
            astore 5 /* convChar */
        start local 5 // char[] convChar
         2: .line 433
            iconst_4
            newarray 8
            astore 6 /* convByte */
        start local 6 // byte[] convByte
         3: .line 437
            aload 5 /* convChar */
            invokestatic java.nio.CharBuffer.wrap:([C)Ljava/nio/CharBuffer;
            astore 8 /* cc */
        start local 8 // java.nio.CharBuffer cc
         4: .line 438
            iconst_4
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 9 /* bb */
        start local 9 // java.nio.ByteBuffer bb
         5: .line 439
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.ISOEncoder:Ljava/nio/charset/CharsetEncoder;
            aload 8 /* cc */
            aload 9 /* bb */
            iconst_1
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
            pop
         6: .line 440
            aload 9 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         7: .line 441
            aload 9 /* bb */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 7 /* converted */
        start local 7 // int converted
         8: .line 442
            aload 9 /* bb */
            aload 6 /* convByte */
            iconst_0
            iload 7 /* converted */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        end local 9 // java.nio.ByteBuffer bb
        end local 8 // java.nio.CharBuffer cc
         9: .line 443
            goto 12
        end local 7 // int converted
      StackMap locals: sun.nio.cs.ext.ISO2022$Encoder int byte[] int top char[] byte[]
      StackMap stack: java.lang.Exception
        10: pop
        11: .line 444
            iconst_m1
            ireturn
        start local 7 // int converted
        12: .line 447
      StackMap locals: int
      StackMap stack:
            iload 7 /* converted */
            iconst_2
            if_icmpne 25
        13: .line 448
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SODesDefined:Z
            ifne 19
        14: .line 449
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSODesDefined:Z
        15: .line 450
            aload 2 /* ebyte */
            iconst_0
            bipush 27
            bastore
        16: .line 451
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SODesig:Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            astore 4 /* tmpByte */
        start local 4 // byte[] tmpByte
        17: .line 452
            aload 4 /* tmpByte */
            iconst_0
            aload 2 /* ebyte */
            iconst_1
            aload 4 /* tmpByte */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 453
            aload 4 /* tmpByte */
            arraylength
            iconst_1
            iadd
            istore 3 /* index */
        end local 4 // byte[] tmpByte
        19: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.shiftout:Z
            ifne 22
        20: .line 456
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022$Encoder.newshiftout:Z
        21: .line 457
            aload 2 /* ebyte */
            iload 3 /* index */
            iinc 3 /* index */ 1
            bipush 14
            bastore
        22: .line 459
      StackMap locals:
      StackMap stack:
            aload 2 /* ebyte */
            iload 3 /* index */
            iinc 3 /* index */ 1
            aload 6 /* convByte */
            iconst_0
            baload
            bipush 127
            iand
            i2b
            bastore
        23: .line 460
            aload 2 /* ebyte */
            iload 3 /* index */
            iinc 3 /* index */ 1
            aload 6 /* convByte */
            iconst_1
            baload
            bipush 127
            iand
            i2b
            bastore
        24: .line 461
            goto 47
        25: .line 462
      StackMap locals:
      StackMap stack:
            aload 6 /* convByte */
            iconst_0
            baload
            bipush -114
            if_icmpne 36
            aload 6 /* convByte */
            iconst_1
            baload
            bipush -94
            if_icmpne 36
        26: .line 463
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SS2DesDefined:Z
            ifne 32
        27: .line 464
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS2DesDefined:Z
        28: .line 465
            aload 2 /* ebyte */
            iconst_0
            bipush 27
            bastore
        29: .line 466
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SS2Desig:Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            astore 4 /* tmpByte */
        start local 4 // byte[] tmpByte
        30: .line 467
            aload 4 /* tmpByte */
            iconst_0
            aload 2 /* ebyte */
            iconst_1
            aload 4 /* tmpByte */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        31: .line 468
            aload 4 /* tmpByte */
            arraylength
            iconst_1
            iadd
            istore 3 /* index */
        end local 4 // byte[] tmpByte
        32: .line 470
      StackMap locals:
      StackMap stack:
            aload 2 /* ebyte */
            iload 3 /* index */
            iinc 3 /* index */ 1
            bipush 27
            bastore
        33: .line 471
            aload 2 /* ebyte */
            iload 3 /* index */
            iinc 3 /* index */ 1
            bipush 78
            bastore
        34: .line 472
            aload 2 /* ebyte */
            iload 3 /* index */
            iinc 3 /* index */ 1
            aload 6 /* convByte */
            iconst_2
            baload
            bipush 127
            iand
            i2b
            bastore
        35: .line 473
            aload 2 /* ebyte */
            iload 3 /* index */
            iinc 3 /* index */ 1
            aload 6 /* convByte */
            iconst_3
            baload
            bipush 127
            iand
            i2b
            bastore
        36: .line 475
      StackMap locals:
      StackMap stack:
            aload 6 /* convByte */
            iconst_0
            baload
            bipush -114
            if_icmpne 47
            aload 6 /* convByte */
            iconst_1
            baload
            sipush 163
            if_icmpne 47
        37: .line 477
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SS3DesDefined:Z
            ifne 43
        38: .line 478
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS3DesDefined:Z
        39: .line 479
            aload 2 /* ebyte */
            iconst_0
            bipush 27
            bastore
        40: .line 480
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SS3Desig:Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            astore 4 /* tmpByte */
        start local 4 // byte[] tmpByte
        41: .line 481
            aload 4 /* tmpByte */
            iconst_0
            aload 2 /* ebyte */
            iconst_1
            aload 4 /* tmpByte */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        42: .line 482
            aload 4 /* tmpByte */
            arraylength
            iconst_1
            iadd
            istore 3 /* index */
        end local 4 // byte[] tmpByte
        43: .line 484
      StackMap locals:
      StackMap stack:
            aload 2 /* ebyte */
            iload 3 /* index */
            iinc 3 /* index */ 1
            bipush 27
            bastore
        44: .line 485
            aload 2 /* ebyte */
            iload 3 /* index */
            iinc 3 /* index */ 1
            bipush 79
            bastore
        45: .line 486
            aload 2 /* ebyte */
            iload 3 /* index */
            iinc 3 /* index */ 1
            aload 6 /* convByte */
            iconst_2
            baload
            bipush 127
            iand
            i2b
            bastore
        46: .line 487
            aload 2 /* ebyte */
            iload 3 /* index */
            iinc 3 /* index */ 1
            aload 6 /* convByte */
            iconst_3
            baload
            bipush 127
            iand
            i2b
            bastore
        47: .line 490
      StackMap locals:
      StackMap stack:
            iload 3 /* index */
            ireturn
        end local 7 // int converted
        end local 6 // byte[] convByte
        end local 5 // char[] convChar
        end local 3 // int index
        end local 2 // byte[] ebyte
        end local 1 // char unicode
        end local 0 // sun.nio.cs.ext.ISO2022$Encoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   48     0       this  Lsun/nio/cs/ext/ISO2022$Encoder;
            0   48     1    unicode  C
            0   48     2      ebyte  [B
            1   48     3      index  I
           17   19     4    tmpByte  [B
           30   32     4    tmpByte  [B
           41   43     4    tmpByte  [B
            2   48     5   convChar  [C
            3   48     6   convByte  [B
            8   10     7  converted  I
           12   48     7  converted  I
            4    9     8         cc  Ljava/nio/CharBuffer;
            5    9     9         bb  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           3     9      10  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      unicode  
      ebyte    

  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=15, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 496
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 3 /* sa */
        start local 3 // char[] sa
         1: .line 497
            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 498
            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 499
            getstatic sun.nio.cs.ext.ISO2022$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 500
      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 501
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 6 /* da */
        start local 6 // byte[] da
         8: .line 502
            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 503
            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 504
            getstatic sun.nio.cs.ext.ISO2022$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 505
      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 507
            iconst_0
            istore 9 /* outputSize */
        start local 9 // int outputSize
        15: .line 508
            bipush 8
            newarray 8
            astore 10 /* outputByte */
        start local 10 // byte[] outputByte
        16: .line 509
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.shiftout:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.newshiftout:Z
        17: .line 510
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SODesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSODesDefined:Z
        18: .line 511
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SS2DesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS2DesDefined:Z
        19: .line 512
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SS3DesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS3DesDefined:Z
        20: .line 515
            goto 67
        21: .line 516
      StackMap locals: int byte[]
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            caload
            istore 11 /* c */
        start local 11 // char c
        22: .line 517
            iload 11 /* c */
            invokestatic sun.nio.cs.Surrogate.is:(I)Z
            ifeq 32
        23: .line 518
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            iload 11 /* c */
            aload 3 /* sa */
            iload 4 /* sp */
            iload 5 /* sl */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(C[CII)I
            ifge 28
        24: .line 519
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 14
        25: .line 557
            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
        26: .line 558
            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
        27: .line 519
            aload 14
            areturn
        28: .line 520
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
            astore 14
        29: .line 557
            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
        30: .line 558
            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
        31: .line 520
            aload 14
            areturn
        32: .line 523
      StackMap locals:
      StackMap stack:
            iload 11 /* c */
            sipush 128
            if_icmpge 46
        33: .line 524
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.shiftout:Z
            ifeq 39
        34: .line 525
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newshiftout:Z
        35: .line 526
            iconst_2
            istore 9 /* outputSize */
        36: .line 527
            aload 10 /* outputByte */
            iconst_0
            bipush 15
            bastore
        37: .line 528
            aload 10 /* outputByte */
            iconst_1
            iload 11 /* c */
            bipush 127
            iand
            i2b
            bastore
        38: .line 529
            goto 41
        39: .line 530
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* outputSize */
        40: .line 531
            aload 10 /* outputByte */
            iconst_0
            iload 11 /* c */
            bipush 127
            iand
            i2b
            bastore
        41: .line 533
      StackMap locals:
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            caload
            bipush 10
            if_icmpne 52
        42: .line 534
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSODesDefined:Z
        43: .line 535
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS2DesDefined:Z
        44: .line 536
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS3DesDefined:Z
        45: .line 538
            goto 52
        46: .line 539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 11 /* c */
            aload 10 /* outputByte */
            invokevirtual sun.nio.cs.ext.ISO2022$Encoder.unicodeToNative:(C[B)I
            istore 9 /* outputSize */
        47: .line 540
            iload 9 /* outputSize */
            ifne 52
        48: .line 541
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        49: .line 557
            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
        50: .line 558
            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
        51: .line 541
            aload 14
            areturn
        52: .line 544
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iload 9 /* outputSize */
            if_icmpge 57
        53: .line 545
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        54: .line 557
            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
        55: .line 558
            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
        56: .line 545
            aload 14
            areturn
        57: .line 547
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        58: goto 61
        59: .line 548
      StackMap locals: int
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 10 /* outputByte */
            iload 12 /* i */
            baload
            bastore
        60: .line 547
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 12 /* i */
            iload 9 /* outputSize */
            if_icmplt 59
        end local 12 // int i
        62: .line 549
            iinc 4 /* sp */ 1
        63: .line 550
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.newshiftout:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.shiftout:Z
        64: .line 551
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.newSODesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.SODesDefined:Z
        65: .line 552
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.newSS2DesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.SS2DesDefined:Z
        66: .line 553
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.newSS3DesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.SS3DesDefined:Z
        end local 11 // char c
        67: .line 515
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 21
        68: .line 555
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        69: .line 557
            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
        70: .line 558
            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
        71: .line 555
            aload 14
            areturn
        72: .line 556
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        73: .line 557
            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
        74: .line 558
            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
        75: .line 559
            aload 13
            athrow
        end local 10 // byte[] outputByte
        end local 9 // int outputSize
        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.ISO2022$Encoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   76     0        this  Lsun/nio/cs/ext/ISO2022$Encoder;
            0   76     1         src  Ljava/nio/CharBuffer;
            0   76     2         dst  Ljava/nio/ByteBuffer;
            1   76     3          sa  [C
            2   76     4          sp  I
            3   76     5          sl  I
            8   76     6          da  [B
            9   76     7          dp  I
           10   76     8          dl  I
           15   76     9  outputSize  I
           16   76    10  outputByte  [B
           22   67    11           c  C
           58   62    12           i  I
      Exception table:
        from    to  target  type
          20    25      72  any
          28    29      72  any
          32    49      72  any
          52    54      72  any
          57    69      72  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=10, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 566
            iconst_0
            istore 3 /* outputSize */
        start local 3 // int outputSize
         1: .line 567
            bipush 8
            newarray 8
            astore 4 /* outputByte */
        start local 4 // byte[] outputByte
         2: .line 569
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.shiftout:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.newshiftout:Z
         3: .line 570
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SODesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSODesDefined:Z
         4: .line 571
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SS2DesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS2DesDefined:Z
         5: .line 572
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.SS3DesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS3DesDefined:Z
         6: .line 573
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            istore 5 /* mark */
        start local 5 // int mark
         7: .line 576
            goto 50
         8: .line 577
      StackMap locals: int byte[] int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 6 /* inputChar */
        start local 6 // char inputChar
         9: .line 578
            iload 6 /* inputChar */
            invokestatic sun.nio.cs.Surrogate.is:(I)Z
            ifeq 17
        10: .line 579
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            iload 6 /* inputChar */
            aload 1 /* src */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
            ifge 14
        11: .line 580
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 9
        12: .line 617
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        13: .line 580
            aload 9
            areturn
        14: .line 581
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
            astore 9
        15: .line 617
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        16: .line 581
            aload 9
            areturn
        17: .line 583
      StackMap locals:
      StackMap stack:
            iload 6 /* inputChar */
            sipush 128
            if_icmpge 31
        18: .line 584
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.shiftout:Z
            ifeq 24
        19: .line 585
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newshiftout:Z
        20: .line 586
            iconst_2
            istore 3 /* outputSize */
        21: .line 587
            aload 4 /* outputByte */
            iconst_0
            bipush 15
            bastore
        22: .line 588
            aload 4 /* outputByte */
            iconst_1
            iload 6 /* inputChar */
            bipush 127
            iand
            i2b
            bastore
        23: .line 589
            goto 26
        24: .line 590
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* outputSize */
        25: .line 591
            aload 4 /* outputByte */
            iconst_0
            iload 6 /* inputChar */
            bipush 127
            iand
            i2b
            bastore
        26: .line 593
      StackMap locals:
      StackMap stack:
            iload 6 /* inputChar */
            bipush 10
            if_icmpne 36
        27: .line 594
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSODesDefined:Z
        28: .line 595
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS2DesDefined:Z
        29: .line 596
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022$Encoder.newSS3DesDefined:Z
        30: .line 598
            goto 36
        31: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* inputChar */
            aload 4 /* outputByte */
            invokevirtual sun.nio.cs.ext.ISO2022$Encoder.unicodeToNative:(C[B)I
            istore 3 /* outputSize */
        32: .line 600
            iload 3 /* outputSize */
            ifne 36
        33: .line 601
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        34: .line 617
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        35: .line 601
            aload 9
            areturn
        36: .line 605
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 3 /* outputSize */
            if_icmpge 40
        37: .line 606
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        38: .line 617
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        39: .line 606
            aload 9
            areturn
        40: .line 607
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        41: goto 44
        42: .line 608
      StackMap locals: int
      StackMap stack:
            aload 2 /* dst */
            aload 4 /* outputByte */
            iload 7 /* i */
            baload
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        43: .line 607
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 7 /* i */
            iload 3 /* outputSize */
            if_icmplt 42
        end local 7 // int i
        45: .line 609
            iinc 5 /* mark */ 1
        46: .line 610
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.newshiftout:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.shiftout:Z
        47: .line 611
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.newSODesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.SODesDefined:Z
        48: .line 612
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.newSS2DesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.SS2DesDefined:Z
        49: .line 613
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022$Encoder.newSS3DesDefined:Z
            putfield sun.nio.cs.ext.ISO2022$Encoder.SS3DesDefined:Z
        end local 6 // char inputChar
        50: .line 576
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 8
        51: .line 615
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        52: .line 617
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        53: .line 615
            aload 9
            areturn
        54: .line 616
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        55: .line 617
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        56: .line 618
            aload 8
            athrow
        end local 5 // int mark
        end local 4 // byte[] outputByte
        end local 3 // int outputSize
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.ISO2022$Encoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   57     0        this  Lsun/nio/cs/ext/ISO2022$Encoder;
            0   57     1         src  Ljava/nio/CharBuffer;
            0   57     2         dst  Ljava/nio/ByteBuffer;
            1   57     3  outputSize  I
            2   57     4  outputByte  [B
            7   57     5        mark  I
            9   50     6   inputChar  C
           41   45     7           i  I
      Exception table:
        from    to  target  type
           7    12      54  any
          14    15      54  any
          17    34      54  any
          36    38      54  any
          40    52      54  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.ISO2022$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 624
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
         1: .line 625
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.ISO2022$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 627
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.ISO2022$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.ISO2022$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/ISO2022$Encoder;
            0    3     1   src  Ljava/nio/CharBuffer;
            0    3     2   dst  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   
}
SourceFile: "ISO2022.java"
NestHost: sun.nio.cs.ext.ISO2022
InnerClasses:
  public Parser = sun.nio.cs.Surrogate$Parser of sun.nio.cs.Surrogate
  protected Encoder = sun.nio.cs.ext.ISO2022$Encoder of sun.nio.cs.ext.ISO2022