public class sun.nio.cs.ext.DoubleByte$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.DoubleByte$Encoder
  super_class: java.nio.charset.CharsetEncoder
{
  final int MAX_SINGLEBYTE;
    descriptor: I
    flags: (0x0010) ACC_FINAL
    ConstantValue: 255

  private final char[] c2b;
    descriptor: [C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final char[] c2bIndex;
    descriptor: [C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  sun.nio.cs.Surrogate$Parser sgp;
    descriptor: Lsun/nio/cs/Surrogate$Parser;
    flags: (0x0000) 

  protected void <init>(java.nio.charset.Charset, char[], char[]);
    descriptor: (Ljava/nio/charset/Charset;[C[C)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // char[] c2b
        start local 3 // char[] c2bIndex
         0: .line 421
            aload 0 /* this */
            aload 1 /* cs */
            fconst_2
            fconst_2
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 415
            aload 0 /* this */
            sipush 255
            putfield sun.nio.cs.ext.DoubleByte$Encoder.MAX_SINGLEBYTE:I
         2: .line 422
            aload 0 /* this */
            aload 2 /* c2b */
            putfield sun.nio.cs.ext.DoubleByte$Encoder.c2b:[C
         3: .line 423
            aload 0 /* this */
            aload 3 /* c2bIndex */
            putfield sun.nio.cs.ext.DoubleByte$Encoder.c2bIndex:[C
         4: .line 424
            return
        end local 3 // char[] c2bIndex
        end local 2 // char[] c2b
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0    5     1        cs  Ljava/nio/charset/Charset;
            0    5     2       c2b  [C
            0    5     3  c2bIndex  [C
    MethodParameters:
          Name  Flags
      cs        
      c2b       
      c2bIndex  

  void <init>(java.nio.charset.Charset, float, float, byte[], char[], char[]);
    descriptor: (Ljava/nio/charset/Charset;FF[B[C[C)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // float avg
        start local 3 // float max
        start local 4 // byte[] repl
        start local 5 // char[] c2b
        start local 6 // char[] c2bIndex
         0: .line 427
            aload 0 /* this */
            aload 1 /* cs */
            fload 2 /* avg */
            fload 3 /* max */
            aload 4 /* repl */
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF[B)V
         1: .line 415
            aload 0 /* this */
            sipush 255
            putfield sun.nio.cs.ext.DoubleByte$Encoder.MAX_SINGLEBYTE:I
         2: .line 428
            aload 0 /* this */
            aload 5 /* c2b */
            putfield sun.nio.cs.ext.DoubleByte$Encoder.c2b:[C
         3: .line 429
            aload 0 /* this */
            aload 6 /* c2bIndex */
            putfield sun.nio.cs.ext.DoubleByte$Encoder.c2bIndex:[C
         4: .line 430
            return
        end local 6 // char[] c2bIndex
        end local 5 // char[] c2b
        end local 4 // byte[] repl
        end local 3 // float max
        end local 2 // float avg
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0    5     1        cs  Ljava/nio/charset/Charset;
            0    5     2       avg  F
            0    5     3       max  F
            0    5     4      repl  [B
            0    5     5       c2b  [C
            0    5     6  c2bIndex  [C
    MethodParameters:
          Name  Flags
      cs        
      avg       
      max       
      repl      
      c2b       
      c2bIndex  

  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.DoubleByte$Encoder this
        start local 1 // char c
         0: .line 433
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByte$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.DoubleByte$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  sun.nio.cs.Surrogate$Parser sgp();
    descriptor: ()Lsun/nio/cs/Surrogate$Parser;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
         0: .line 437
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            ifnonnull 2
         1: .line 438
            aload 0 /* this */
            new sun.nio.cs.Surrogate$Parser
            dup
            invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
            putfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
         2: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            areturn
        end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/DoubleByte$Encoder;

  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=13, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 443
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 3 /* sa */
        start local 3 // char[] sa
         1: .line 444
            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 445
            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 447
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 6 /* da */
        start local 6 // byte[] da
         4: .line 448
            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 449
            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 452
            goto 40
         7: .line 453
      StackMap locals: sun.nio.cs.ext.DoubleByte$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 454
            aload 0 /* this */
            iload 9 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeChar:(C)I
            istore 10 /* bb */
        start local 10 // int bb
         9: .line 455
            iload 10 /* bb */
            ldc 65533
            if_icmpne 24
        10: .line 456
            iload 9 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 20
        11: .line 457
            aload 0 /* this */
            invokevirtual sun.nio.cs.ext.DoubleByte$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
            ifge 16
        12: .line 458
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 12
        13: .line 479
            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
        14: .line 480
            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
        15: .line 458
            aload 12
            areturn
        16: .line 459
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
            astore 12
        17: .line 479
            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
        18: .line 480
            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
        19: .line 459
            aload 12
            areturn
        20: .line 461
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 12
        21: .line 479
            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 480
            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 461
            aload 12
            areturn
        24: .line 464
      StackMap locals:
      StackMap stack:
            iload 10 /* bb */
            sipush 255
            if_icmple 33
        25: .line 465
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_2
            if_icmpge 30
        26: .line 466
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 12
        27: .line 479
            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 480
            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 466
            aload 12
            areturn
        30: .line 467
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 10 /* bb */
            bipush 8
            ishr
            i2b
            bastore
        31: .line 468
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 10 /* bb */
            i2b
            bastore
        32: .line 469
            goto 39
        33: .line 470
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 38
        34: .line 471
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 12
        35: .line 479
            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
        36: .line 480
            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
        37: .line 471
            aload 12
            areturn
        38: .line 472
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 10 /* bb */
            i2b
            bastore
        39: .line 475
      StackMap locals:
      StackMap stack:
            iinc 4 /* sp */ 1
        end local 10 // int bb
        end local 9 // char c
        40: .line 452
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 7
        41: .line 477
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 12
        42: .line 479
            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
        43: .line 480
            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
        44: .line 477
            aload 12
            areturn
        45: .line 478
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        46: .line 479
            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
        47: .line 480
            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
        48: .line 481
            aload 11
            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.DoubleByte$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   49     0  this  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0   49     1   src  Ljava/nio/CharBuffer;
            0   49     2   dst  Ljava/nio/ByteBuffer;
            1   49     3    sa  [C
            2   49     4    sp  I
            3   49     5    sl  I
            4   49     6    da  [B
            5   49     7    dp  I
            6   49     8    dl  I
            8   40     9     c  C
            9   40    10    bb  I
      Exception table:
        from    to  target  type
           6    13      45  any
          16    17      45  any
          20    21      45  any
          24    27      45  any
          30    35      45  any
          38    42      45  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=8, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 485
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 487
            goto 30
         2: .line 488
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 4 /* c */
        start local 4 // char c
         3: .line 489
            aload 0 /* this */
            iload 4 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeChar:(C)I
            istore 5 /* bb */
        start local 5 // int bb
         4: .line 490
            iload 5 /* bb */
            ldc 65533
            if_icmpne 16
         5: .line 491
            iload 4 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 13
         6: .line 492
            aload 0 /* this */
            invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.sgp:()Lsun/nio/cs/Surrogate$Parser;
            iload 4 /* c */
            aload 1 /* src */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
            ifge 10
         7: .line 493
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 7
         8: .line 512
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
         9: .line 493
            aload 7
            areturn
        10: .line 494
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
            astore 7
        11: .line 512
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        12: .line 494
            aload 7
            areturn
        13: .line 496
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 7
        14: .line 512
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        15: .line 496
            aload 7
            areturn
        16: .line 498
      StackMap locals:
      StackMap stack:
            iload 5 /* bb */
            sipush 255
            if_icmple 24
        17: .line 499
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 21
        18: .line 500
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 7
        19: .line 512
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        20: .line 500
            aload 7
            areturn
        21: .line 501
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 5 /* bb */
            bipush 8
            ishr
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        22: .line 502
            aload 2 /* dst */
            iload 5 /* bb */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        23: .line 503
            goto 29
        24: .line 504
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 28
        25: .line 505
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 7
        26: .line 512
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        27: .line 505
            aload 7
            areturn
        28: .line 506
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 5 /* bb */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        29: .line 508
      StackMap locals:
      StackMap stack:
            iinc 3 /* mark */ 1
        end local 5 // int bb
        end local 4 // char c
        30: .line 487
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 2
        31: .line 510
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 7
        32: .line 512
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        33: .line 510
            aload 7
            areturn
        34: .line 511
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        35: .line 512
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        36: .line 513
            aload 6
            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.DoubleByte$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   37     0  this  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0   37     1   src  Ljava/nio/CharBuffer;
            0   37     2   dst  Ljava/nio/ByteBuffer;
            1   37     3  mark  I
            3   30     4     c  C
            4   30     5    bb  I
      Exception table:
        from    to  target  type
           1     8      34  any
          10    11      34  any
          13    14      34  any
          16    19      34  any
          21    26      34  any
          28    32      34  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.DoubleByte$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 517
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
         1: .line 518
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.DoubleByte$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.DoubleByte$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0    3     1   src  Ljava/nio/CharBuffer;
            0    3     2   dst  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   

  public int encodeChar(char);
    descriptor: (C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
        start local 1 // char ch
         0: .line 524
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.c2b:[C
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.c2bIndex:[C
            iload 1 /* ch */
            bipush 8
            ishr
            caload
            iload 1 /* ch */
            sipush 255
            iand
            iadd
            caload
            ireturn
        end local 1 // char ch
        end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0    1     1    ch  C
    MethodParameters:
      Name  Flags
      ch    

  static void initC2B(java.lang.String[], java.lang.String, java.lang.String, java.lang.String, int, int, char[], char[]);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II[C[C)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=16, args_size=8
        start local 0 // java.lang.String[] b2c
        start local 1 // java.lang.String b2cSB
        start local 2 // java.lang.String b2cNR
        start local 3 // java.lang.String c2bNR
        start local 4 // int b2Min
        start local 5 // int b2Max
        start local 6 // char[] c2b
        start local 7 // char[] c2bIndex
         0: .line 532
            aload 6 /* c2b */
            ldc 65533
            invokestatic java.util.Arrays.fill:([CC)V
         1: .line 533
            sipush 256
            istore 8 /* off */
        start local 8 // int off
         2: .line 535
            aload 0 /* b2c */
            arraylength
            anewarray char[]
            astore 9 /* b2c_ca */
        start local 9 // char[][] b2c_ca
         3: .line 536
            aconst_null
            astore 10 /* b2cSB_ca */
        start local 10 // char[] b2cSB_ca
         4: .line 537
            aload 1 /* b2cSB */
            ifnull 6
         5: .line 538
            aload 1 /* b2cSB */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 10 /* b2cSB_ca */
         6: .line 540
      StackMap locals: int char[][] char[]
      StackMap stack:
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         7: goto 12
         8: .line 541
      StackMap locals: int
      StackMap stack:
            aload 0 /* b2c */
            iload 11 /* i */
            aaload
            ifnonnull 10
         9: .line 542
            goto 11
        10: .line 543
      StackMap locals:
      StackMap stack:
            aload 9 /* b2c_ca */
            iload 11 /* i */
            aload 0 /* b2c */
            iload 11 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
        11: .line 540
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 11 /* i */
            aload 0 /* b2c */
            arraylength
            if_icmplt 8
        end local 11 // int i
        13: .line 546
            aload 2 /* b2cNR */
            ifnull 25
        14: .line 547
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        15: .line 548
            goto 24
        16: .line 549
      StackMap locals:
      StackMap stack:
            aload 2 /* b2cNR */
            iload 11 /* j */
            iinc 11 /* j */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 12 /* b */
        start local 12 // char b
        17: .line 550
            aload 2 /* b2cNR */
            iload 11 /* j */
            iinc 11 /* j */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 13 /* c */
        start local 13 // char c
        18: .line 551
            iload 12 /* b */
            sipush 256
            if_icmpge 22
            aload 10 /* b2cSB_ca */
            ifnull 22
        19: .line 552
            aload 10 /* b2cSB_ca */
            iload 12 /* b */
            caload
            iload 13 /* c */
            if_icmpne 24
        20: .line 553
            aload 10 /* b2cSB_ca */
            iload 12 /* b */
            ldc 65533
            castore
        21: .line 554
            goto 24
        22: .line 555
      StackMap locals: int int
      StackMap stack:
            aload 9 /* b2c_ca */
            iload 12 /* b */
            bipush 8
            ishr
            aaload
            iload 12 /* b */
            sipush 255
            iand
            iload 4 /* b2Min */
            isub
            caload
            iload 13 /* c */
            if_icmpne 24
        23: .line 556
            aload 9 /* b2c_ca */
            iload 12 /* b */
            bipush 8
            ishr
            aaload
            iload 12 /* b */
            sipush 255
            iand
            iload 4 /* b2Min */
            isub
            ldc 65533
            castore
        end local 13 // char c
        end local 12 // char b
        24: .line 548
      StackMap locals:
      StackMap stack:
            iload 11 /* j */
            aload 2 /* b2cNR */
            invokevirtual java.lang.String.length:()I
            if_icmplt 16
        end local 11 // int j
        25: .line 561
      StackMap locals:
      StackMap stack:
            aload 10 /* b2cSB_ca */
            ifnull 39
        26: .line 562
            iconst_0
            istore 11 /* b */
        start local 11 // int b
        27: goto 38
        28: .line 563
      StackMap locals: int
      StackMap stack:
            aload 10 /* b2cSB_ca */
            iload 11 /* b */
            caload
            istore 12 /* c */
        start local 12 // char c
        29: .line 564
            iload 12 /* c */
            ldc 65533
            if_icmpne 31
        30: .line 565
            goto 37
        31: .line 566
      StackMap locals: int
      StackMap stack:
            aload 7 /* c2bIndex */
            iload 12 /* c */
            bipush 8
            ishr
            caload
            istore 13 /* index */
        start local 13 // int index
        32: .line 567
            iload 13 /* index */
            ifne 36
        33: .line 568
            iload 8 /* off */
            istore 13 /* index */
        34: .line 569
            iinc 8 /* off */ 256
        35: .line 570
            aload 7 /* c2bIndex */
            iload 12 /* c */
            bipush 8
            ishr
            iload 13 /* index */
            i2c
            castore
        36: .line 572
      StackMap locals: int
      StackMap stack:
            aload 6 /* c2b */
            iload 13 /* index */
            iload 12 /* c */
            sipush 255
            iand
            iadd
            iload 11 /* b */
            i2c
            castore
        end local 13 // int index
        end local 12 // char c
        37: .line 562
      StackMap locals:
      StackMap stack:
            iinc 11 /* b */ 1
      StackMap locals:
      StackMap stack:
        38: iload 11 /* b */
            aload 10 /* b2cSB_ca */
            arraylength
            if_icmplt 28
        end local 11 // int b
        39: .line 576
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* b1 */
        start local 11 // int b1
        40: goto 58
        41: .line 577
      StackMap locals: int
      StackMap stack:
            aload 9 /* b2c_ca */
            iload 11 /* b1 */
            aaload
            astore 12 /* db */
        start local 12 // char[] db
        42: .line 578
            aload 12 /* db */
            ifnonnull 44
        43: .line 579
            goto 57
        44: .line 580
      StackMap locals: char[]
      StackMap stack:
            iload 4 /* b2Min */
            istore 13 /* b2 */
        start local 13 // int b2
        45: goto 56
        46: .line 581
      StackMap locals: int
      StackMap stack:
            aload 12 /* db */
            iload 13 /* b2 */
            iload 4 /* b2Min */
            isub
            caload
            istore 14 /* c */
        start local 14 // char c
        47: .line 582
            iload 14 /* c */
            ldc 65533
            if_icmpne 49
        48: .line 583
            goto 55
        49: .line 584
      StackMap locals: int
      StackMap stack:
            aload 7 /* c2bIndex */
            iload 14 /* c */
            bipush 8
            ishr
            caload
            istore 15 /* index */
        start local 15 // int index
        50: .line 585
            iload 15 /* index */
            ifne 54
        51: .line 586
            iload 8 /* off */
            istore 15 /* index */
        52: .line 587
            iinc 8 /* off */ 256
        53: .line 588
            aload 7 /* c2bIndex */
            iload 14 /* c */
            bipush 8
            ishr
            iload 15 /* index */
            i2c
            castore
        54: .line 590
      StackMap locals: int
      StackMap stack:
            aload 6 /* c2b */
            iload 15 /* index */
            iload 14 /* c */
            sipush 255
            iand
            iadd
            iload 11 /* b1 */
            bipush 8
            ishl
            iload 13 /* b2 */
            ior
            i2c
            castore
        end local 15 // int index
        end local 14 // char c
        55: .line 580
      StackMap locals:
      StackMap stack:
            iinc 13 /* b2 */ 1
      StackMap locals:
      StackMap stack:
        56: iload 13 /* b2 */
            iload 5 /* b2Max */
            if_icmple 46
        end local 13 // int b2
        end local 12 // char[] db
        57: .line 576
      StackMap locals:
      StackMap stack:
            iinc 11 /* b1 */ 1
      StackMap locals:
      StackMap stack:
        58: iload 11 /* b1 */
            aload 0 /* b2c */
            arraylength
            if_icmplt 41
        end local 11 // int b1
        59: .line 594
            aload 3 /* c2bNR */
            ifnull 72
        60: .line 596
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        61: goto 71
        62: .line 597
      StackMap locals:
      StackMap stack:
            aload 3 /* c2bNR */
            iload 11 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 12 /* b */
        start local 12 // char b
        63: .line 598
            aload 3 /* c2bNR */
            iload 11 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 13 /* c */
        start local 13 // char c
        64: .line 599
            iload 13 /* c */
            bipush 8
            ishr
            istore 14 /* index */
        start local 14 // int index
        65: .line 600
            aload 7 /* c2bIndex */
            iload 14 /* index */
            caload
            ifne 68
        66: .line 601
            aload 7 /* c2bIndex */
            iload 14 /* index */
            iload 8 /* off */
            i2c
            castore
        67: .line 602
            iinc 8 /* off */ 256
        68: .line 604
      StackMap locals: int int int
      StackMap stack:
            aload 7 /* c2bIndex */
            iload 14 /* index */
            caload
            iload 13 /* c */
            sipush 255
            iand
            iadd
            istore 14 /* index */
        69: .line 605
            aload 6 /* c2b */
            iload 14 /* index */
            iload 12 /* b */
            castore
        end local 14 // int index
        end local 13 // char c
        end local 12 // char b
        70: .line 596
            iinc 11 /* i */ 2
      StackMap locals:
      StackMap stack:
        71: iload 11 /* i */
            aload 3 /* c2bNR */
            invokevirtual java.lang.String.length:()I
            if_icmplt 62
        end local 11 // int i
        72: .line 608
      StackMap locals:
      StackMap stack:
            return
        end local 10 // char[] b2cSB_ca
        end local 9 // char[][] b2c_ca
        end local 8 // int off
        end local 7 // char[] c2bIndex
        end local 6 // char[] c2b
        end local 5 // int b2Max
        end local 4 // int b2Min
        end local 3 // java.lang.String c2bNR
        end local 2 // java.lang.String b2cNR
        end local 1 // java.lang.String b2cSB
        end local 0 // java.lang.String[] b2c
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   73     0       b2c  [Ljava/lang/String;
            0   73     1     b2cSB  Ljava/lang/String;
            0   73     2     b2cNR  Ljava/lang/String;
            0   73     3     c2bNR  Ljava/lang/String;
            0   73     4     b2Min  I
            0   73     5     b2Max  I
            0   73     6       c2b  [C
            0   73     7  c2bIndex  [C
            2   73     8       off  I
            3   73     9    b2c_ca  [[C
            4   73    10  b2cSB_ca  [C
            7   13    11         i  I
           15   25    11         j  I
           17   24    12         b  C
           18   24    13         c  C
           27   39    11         b  I
           29   37    12         c  C
           32   37    13     index  I
           40   59    11        b1  I
           42   57    12        db  [C
           45   57    13        b2  I
           47   55    14         c  C
           50   55    15     index  I
           61   72    11         i  I
           63   70    12         b  C
           64   70    13         c  C
           65   70    14     index  I
    MethodParameters:
          Name  Flags
      b2c       
      b2cSB     
      b2cNR     
      c2bNR     
      b2Min     
      b2Max     
      c2b       
      c2bIndex  
}
SourceFile: "DoubleByte.java"
NestHost: sun.nio.cs.ext.DoubleByte
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