public class sun.nio.cs.ext.DoubleByte$Encoder extends java.nio.charset.CharsetEncoder implements sun.nio.cs.ArrayEncoder
  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 byte[] repl;
    descriptor: [B
    flags: (0x0004) ACC_PROTECTED

  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 520
            aload 0 /* this */
            aload 1 /* cs */
            fconst_2
            fconst_2
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 514
            aload 0 /* this */
            sipush 255
            putfield sun.nio.cs.ext.DoubleByte$Encoder.MAX_SINGLEBYTE:I
         2: .line 622
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.replacement:()[B
            putfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
         3: .line 521
            aload 0 /* this */
            aload 2 /* c2b */
            putfield sun.nio.cs.ext.DoubleByte$Encoder.c2b:[C
         4: .line 522
            aload 0 /* this */
            aload 3 /* c2bIndex */
            putfield sun.nio.cs.ext.DoubleByte$Encoder.c2bIndex:[C
         5: .line 523
            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    6     0      this  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0    6     1        cs  Ljava/nio/charset/Charset;
            0    6     2       c2b  [C
            0    6     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 526
            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 514
            aload 0 /* this */
            sipush 255
            putfield sun.nio.cs.ext.DoubleByte$Encoder.MAX_SINGLEBYTE:I
         2: .line 622
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.replacement:()[B
            putfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
         3: .line 527
            aload 0 /* this */
            aload 5 /* c2b */
            putfield sun.nio.cs.ext.DoubleByte$Encoder.c2b:[C
         4: .line 528
            aload 0 /* this */
            aload 6 /* c2bIndex */
            putfield sun.nio.cs.ext.DoubleByte$Encoder.c2bIndex:[C
         5: .line 529
            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    6     0      this  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0    6     1        cs  Ljava/nio/charset/Charset;
            0    6     2       avg  F
            0    6     3       max  F
            0    6     4      repl  [B
            0    6     5       c2b  [C
            0    6     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 532
            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 536
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            ifnonnull 2
         1: .line 537
            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 538
      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 542
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 3 /* sa */
        start local 3 // char[] sa
         1: .line 543
            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 544
            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 546
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 6 /* da */
        start local 6 // byte[] da
         4: .line 547
            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 548
            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 551
            goto 40
         7: .line 552
      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 553
            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 554
            iload 10 /* bb */
            ldc 65533
            if_icmpne 24
        10: .line 555
            iload 9 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 20
        11: .line 556
            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 557
            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 578
            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 579
            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 557
            aload 12
            areturn
        16: .line 558
      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 578
            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 579
            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 558
            aload 12
            areturn
        20: .line 560
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 12
        21: .line 578
            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 579
            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 560
            aload 12
            areturn
        24: .line 563
      StackMap locals:
      StackMap stack:
            iload 10 /* bb */
            sipush 255
            if_icmple 33
        25: .line 564
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_2
            if_icmpge 30
        26: .line 565
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 12
        27: .line 578
            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 579
            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 565
            aload 12
            areturn
        30: .line 566
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 10 /* bb */
            bipush 8
            ishr
            i2b
            bastore
        31: .line 567
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 10 /* bb */
            i2b
            bastore
        32: .line 568
            goto 39
        33: .line 569
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 38
        34: .line 570
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 12
        35: .line 578
            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 579
            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 570
            aload 12
            areturn
        38: .line 571
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 10 /* bb */
            i2b
            bastore
        39: .line 574
      StackMap locals:
      StackMap stack:
            iinc 4 /* sp */ 1
        end local 10 // int bb
        end local 9 // char c
        40: .line 551
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 7
        41: .line 576
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 12
        42: .line 578
            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 579
            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 576
            aload 12
            areturn
        45: .line 577
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        46: .line 578
            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 579
            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 580
            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 584
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 586
            goto 30
         2: .line 587
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 4 /* c */
        start local 4 // char c
         3: .line 588
            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 589
            iload 5 /* bb */
            ldc 65533
            if_icmpne 16
         5: .line 590
            iload 4 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 13
         6: .line 591
            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 592
            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 611
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
         9: .line 592
            aload 7
            areturn
        10: .line 593
      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 611
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        12: .line 593
            aload 7
            areturn
        13: .line 595
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 7
        14: .line 611
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        15: .line 595
            aload 7
            areturn
        16: .line 597
      StackMap locals:
      StackMap stack:
            iload 5 /* bb */
            sipush 255
            if_icmple 24
        17: .line 598
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 21
        18: .line 599
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 7
        19: .line 611
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        20: .line 599
            aload 7
            areturn
        21: .line 600
      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 601
            aload 2 /* dst */
            iload 5 /* bb */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        23: .line 602
            goto 29
        24: .line 603
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 28
        25: .line 604
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 7
        26: .line 611
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        27: .line 604
            aload 7
            areturn
        28: .line 605
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 5 /* bb */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        29: .line 607
      StackMap locals:
      StackMap stack:
            iinc 3 /* mark */ 1
        end local 5 // int bb
        end local 4 // char c
        30: .line 586
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 2
        31: .line 609
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 7
        32: .line 611
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        33: .line 609
            aload 7
            areturn
        34: .line 610
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        35: .line 611
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        36: .line 612
            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 616
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
         1: .line 617
            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 619
      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   

  protected void implReplaceWith(byte[]);
    descriptor: ([B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
        start local 1 // byte[] newReplacement
         0: .line 624
            aload 0 /* this */
            aload 1 /* newReplacement */
            putfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
         1: .line 625
            return
        end local 1 // byte[] newReplacement
        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  newReplacement  [B
    MethodParameters:
                Name  Flags
      newReplacement  

  public int encode(char[], int, int, byte[]);
    descriptor: ([CII[B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
        start local 1 // char[] src
        start local 2 // int sp
        start local 3 // int len
        start local 4 // byte[] dst
         0: .line 628
            iconst_0
            istore 5 /* dp */
        start local 5 // int dp
         1: .line 629
            iload 2 /* sp */
            iload 3 /* len */
            iadd
            istore 6 /* sl */
        start local 6 // int sl
         2: .line 630
            aload 4 /* dst */
            arraylength
            pop
         3: .line 631
            goto 19
         4: .line 632
      StackMap locals: int int
      StackMap stack:
            aload 1 /* src */
            iload 2 /* sp */
            iinc 2 /* sp */ 1
            caload
            istore 7 /* c */
        start local 7 // char c
         5: .line 633
            aload 0 /* this */
            iload 7 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeChar:(C)I
            istore 8 /* bb */
        start local 8 // int bb
         6: .line 634
            iload 8 /* bb */
            ldc 65533
            if_icmpne 14
         7: .line 635
            iload 7 /* c */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifeq 10
            iload 2 /* sp */
            iload 6 /* sl */
            if_icmpge 10
         8: .line 636
            aload 1 /* src */
            iload 2 /* sp */
            caload
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifeq 10
         9: .line 637
            iinc 2 /* sp */ 1
        10: .line 639
      StackMap locals: int int
      StackMap stack:
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
            iconst_0
            baload
            bastore
        11: .line 640
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
            arraylength
            iconst_1
            if_icmple 19
        12: .line 641
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
            iconst_1
            baload
            bastore
        13: .line 642
            goto 19
        14: .line 644
      StackMap locals:
      StackMap stack:
            iload 8 /* bb */
            sipush 255
            if_icmple 18
        15: .line 645
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            iload 8 /* bb */
            bipush 8
            ishr
            i2b
            bastore
        16: .line 646
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            iload 8 /* bb */
            i2b
            bastore
        17: .line 647
            goto 19
        18: .line 648
      StackMap locals:
      StackMap stack:
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            iload 8 /* bb */
            i2b
            bastore
        end local 8 // int bb
        end local 7 // char c
        19: .line 631
      StackMap locals:
      StackMap stack:
            iload 2 /* sp */
            iload 6 /* sl */
            if_icmplt 4
        20: .line 652
            iload 5 /* dp */
            ireturn
        end local 6 // int sl
        end local 5 // int dp
        end local 4 // byte[] dst
        end local 3 // int len
        end local 2 // int sp
        end local 1 // char[] src
        end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0   21     1   src  [C
            0   21     2    sp  I
            0   21     3   len  I
            0   21     4   dst  [B
            1   21     5    dp  I
            2   21     6    sl  I
            5   19     7     c  C
            6   19     8    bb  I
    MethodParameters:
      Name  Flags
      src   
      sp    
      len   
      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 656
            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 664
            aload 6 /* c2b */
            ldc 65533
            invokestatic java.util.Arrays.fill:([CC)V
         1: .line 665
            sipush 256
            istore 8 /* off */
        start local 8 // int off
         2: .line 667
            aload 0 /* b2c */
            arraylength
            anewarray char[]
            astore 9 /* b2c_ca */
        start local 9 // char[][] b2c_ca
         3: .line 668
            aconst_null
            astore 10 /* b2cSB_ca */
        start local 10 // char[] b2cSB_ca
         4: .line 669
            aload 1 /* b2cSB */
            ifnull 6
         5: .line 670
            aload 1 /* b2cSB */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 10 /* b2cSB_ca */
         6: .line 672
      StackMap locals: int char[][] char[]
      StackMap stack:
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         7: goto 12
         8: .line 673
      StackMap locals: int
      StackMap stack:
            aload 0 /* b2c */
            iload 11 /* i */
            aaload
            ifnonnull 10
         9: .line 674
            goto 11
        10: .line 675
      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 672
      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 678
            aload 2 /* b2cNR */
            ifnull 25
        14: .line 679
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        15: .line 680
            goto 24
        16: .line 681
      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 682
            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 683
            iload 12 /* b */
            sipush 256
            if_icmpge 22
            aload 10 /* b2cSB_ca */
            ifnull 22
        19: .line 684
            aload 10 /* b2cSB_ca */
            iload 12 /* b */
            caload
            iload 13 /* c */
            if_icmpne 24
        20: .line 685
            aload 10 /* b2cSB_ca */
            iload 12 /* b */
            ldc 65533
            castore
        21: .line 686
            goto 24
        22: .line 687
      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 688
            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 680
      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 693
      StackMap locals:
      StackMap stack:
            aload 10 /* b2cSB_ca */
            ifnull 39
        26: .line 694
            iconst_0
            istore 11 /* b */
        start local 11 // int b
        27: goto 38
        28: .line 695
      StackMap locals: int
      StackMap stack:
            aload 10 /* b2cSB_ca */
            iload 11 /* b */
            caload
            istore 12 /* c */
        start local 12 // char c
        29: .line 696
            iload 12 /* c */
            ldc 65533
            if_icmpne 31
        30: .line 697
            goto 37
        31: .line 698
      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 699
            iload 13 /* index */
            ifne 36
        33: .line 700
            iload 8 /* off */
            istore 13 /* index */
        34: .line 701
            iinc 8 /* off */ 256
        35: .line 702
            aload 7 /* c2bIndex */
            iload 12 /* c */
            bipush 8
            ishr
            iload 13 /* index */
            i2c
            castore
        36: .line 704
      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 694
      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 708
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* b1 */
        start local 11 // int b1
        40: goto 58
        41: .line 709
      StackMap locals: int
      StackMap stack:
            aload 9 /* b2c_ca */
            iload 11 /* b1 */
            aaload
            astore 12 /* db */
        start local 12 // char[] db
        42: .line 710
            aload 12 /* db */
            ifnonnull 44
        43: .line 711
            goto 57
        44: .line 712
      StackMap locals: char[]
      StackMap stack:
            iload 4 /* b2Min */
            istore 13 /* b2 */
        start local 13 // int b2
        45: goto 56
        46: .line 713
      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 714
            iload 14 /* c */
            ldc 65533
            if_icmpne 49
        48: .line 715
            goto 55
        49: .line 716
      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 717
            iload 15 /* index */
            ifne 54
        51: .line 718
            iload 8 /* off */
            istore 15 /* index */
        52: .line 719
            iinc 8 /* off */ 256
        53: .line 720
            aload 7 /* c2bIndex */
            iload 14 /* c */
            bipush 8
            ishr
            iload 15 /* index */
            i2c
            castore
        54: .line 722
      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 712
      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 708
      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 726
            aload 3 /* c2bNR */
            ifnull 72
        60: .line 728
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        61: goto 71
        62: .line 729
      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 730
            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 731
            iload 13 /* c */
            bipush 8
            ishr
            istore 14 /* index */
        start local 14 // int index
        65: .line 732
            aload 7 /* c2bIndex */
            iload 14 /* index */
            caload
            ifne 68
        66: .line 733
            aload 7 /* c2bIndex */
            iload 14 /* index */
            iload 8 /* off */
            i2c
            castore
        67: .line 734
            iinc 8 /* off */ 256
        68: .line 736
      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 737
            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 728
            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 740
      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