public abstract class sun.nio.cs.ext.DoubleByteEncoder extends java.nio.charset.CharsetEncoder
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.nio.cs.ext.DoubleByteEncoder
  super_class: java.nio.charset.CharsetEncoder
{
  private short[] index1;
    descriptor: [S
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] index2;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  protected void <init>(java.nio.charset.Charset, short[], java.lang.String[]);
    descriptor: (Ljava/nio/charset/Charset;[S[Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // short[] index1
        start local 3 // java.lang.String[] index2
         0: .line 50
            aload 0 /* this */
            aload 1 /* cs */
            fconst_2
            fconst_2
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 45
            aload 0 /* this */
            new sun.nio.cs.Surrogate$Parser
            dup
            invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
            putfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
         2: .line 51
            aload 0 /* this */
            aload 2 /* index1 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index1:[S
         3: .line 52
            aload 0 /* this */
            aload 3 /* index2 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index2:[Ljava/lang/String;
         4: .line 53
            return
        end local 3 // java.lang.String[] index2
        end local 2 // short[] index1
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    5     1      cs  Ljava/nio/charset/Charset;
            0    5     2  index1  [S
            0    5     3  index2  [Ljava/lang/String;
    MethodParameters:
        Name  Flags
      cs      
      index1  
      index2  

  protected void <init>(java.nio.charset.Charset, short[], java.lang.String[], float, float);
    descriptor: (Ljava/nio/charset/Charset;[S[Ljava/lang/String;FF)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // short[] index1
        start local 3 // java.lang.String[] index2
        start local 4 // float avg
        start local 5 // float max
         0: .line 59
            aload 0 /* this */
            aload 1 /* cs */
            fload 4 /* avg */
            fload 5 /* max */
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 45
            aload 0 /* this */
            new sun.nio.cs.Surrogate$Parser
            dup
            invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
            putfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
         2: .line 60
            aload 0 /* this */
            aload 2 /* index1 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index1:[S
         3: .line 61
            aload 0 /* this */
            aload 3 /* index2 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index2:[Ljava/lang/String;
         4: .line 62
            return
        end local 5 // float max
        end local 4 // float avg
        end local 3 // java.lang.String[] index2
        end local 2 // short[] index1
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    5     1      cs  Ljava/nio/charset/Charset;
            0    5     2  index1  [S
            0    5     3  index2  [Ljava/lang/String;
            0    5     4     avg  F
            0    5     5     max  F
    MethodParameters:
        Name  Flags
      cs      
      index1  
      index2  
      avg     
      max     

  protected void <init>(java.nio.charset.Charset, short[], java.lang.String[], byte[]);
    descriptor: (Ljava/nio/charset/Charset;[S[Ljava/lang/String;[B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // short[] index1
        start local 3 // java.lang.String[] index2
        start local 4 // byte[] repl
         0: .line 67
            aload 0 /* this */
            aload 1 /* cs */
            fconst_2
            fconst_2
            aload 4 /* repl */
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF[B)V
         1: .line 45
            aload 0 /* this */
            new sun.nio.cs.Surrogate$Parser
            dup
            invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
            putfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
         2: .line 68
            aload 0 /* this */
            aload 2 /* index1 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index1:[S
         3: .line 69
            aload 0 /* this */
            aload 3 /* index2 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index2:[Ljava/lang/String;
         4: .line 70
            return
        end local 4 // byte[] repl
        end local 3 // java.lang.String[] index2
        end local 2 // short[] index1
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    5     1      cs  Ljava/nio/charset/Charset;
            0    5     2  index1  [S
            0    5     3  index2  [Ljava/lang/String;
            0    5     4    repl  [B
    MethodParameters:
        Name  Flags
      cs      
      index1  
      index2  
      repl    

  protected void <init>(java.nio.charset.Charset, short[], java.lang.String[], byte[], float, float);
    descriptor: (Ljava/nio/charset/Charset;[S[Ljava/lang/String;[BFF)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // short[] index1
        start local 3 // java.lang.String[] index2
        start local 4 // byte[] repl
        start local 5 // float avg
        start local 6 // float max
         0: .line 77
            aload 0 /* this */
            aload 1 /* cs */
            fload 5 /* avg */
            fload 6 /* max */
            aload 4 /* repl */
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF[B)V
         1: .line 45
            aload 0 /* this */
            new sun.nio.cs.Surrogate$Parser
            dup
            invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
            putfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
         2: .line 78
            aload 0 /* this */
            aload 2 /* index1 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index1:[S
         3: .line 79
            aload 0 /* this */
            aload 3 /* index2 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index2:[Ljava/lang/String;
         4: .line 80
            return
        end local 6 // float max
        end local 5 // float avg
        end local 4 // byte[] repl
        end local 3 // java.lang.String[] index2
        end local 2 // short[] index1
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    5     1      cs  Ljava/nio/charset/Charset;
            0    5     2  index1  [S
            0    5     3  index2  [Ljava/lang/String;
            0    5     4    repl  [B
            0    5     5     avg  F
            0    5     6     max  F
    MethodParameters:
        Name  Flags
      cs      
      index1  
      index2  
      repl    
      avg     
      max     

  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.DoubleByteEncoder this
        start local 1 // char c
         0: .line 83
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeSingle:(C)I
            iconst_m1
            if_icmpne 3
         1: .line 84
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeDouble:(C)I
            ifne 3
         2: .line 83
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // char c
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    4     1     c  C
    MethodParameters:
      Name  Flags
      c     

  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=14, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 88
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 3 /* sa */
        start local 3 // char[] sa
         1: .line 89
            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 90
            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 91
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 6 /* da */
        start local 6 // byte[] da
         4: .line 92
            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 93
            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 96
            goto 66
         7: .line 97
      StackMap locals: sun.nio.cs.ext.DoubleByteEncoder 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 98
            iload 9 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 36
         9: .line 99
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.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 14
        10: .line 100
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 13
        11: .line 145
            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
        12: .line 146
            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
        13: .line 100
            aload 13
            areturn
        14: .line 101
      StackMap locals: int
      StackMap stack:
            iload 5 /* sl */
            iload 4 /* sp */
            isub
            iconst_2
            if_icmpge 19
        15: .line 102
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 13
        16: .line 145
            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
        17: .line 146
            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
        18: .line 102
            aload 13
            areturn
        19: .line 103
      StackMap locals:
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_1
            iadd
            caload
            istore 10 /* c2 */
        start local 10 // char c2
        20: .line 105
            iconst_2
            newarray 8
            astore 11 /* outputBytes */
        start local 11 // byte[] outputBytes
        21: .line 106
            aload 0 /* this */
            iload 9 /* c */
            iload 10 /* c2 */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeSurrogate:(CC)[B
            astore 11 /* outputBytes */
        22: .line 108
            aload 11 /* outputBytes */
            ifnonnull 27
        23: .line 109
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
            astore 13
        24: .line 145
            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
        25: .line 146
            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
        26: .line 109
            aload 13
            areturn
        27: .line 112
      StackMap locals: int byte[]
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_2
            if_icmpge 32
        28: .line 113
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 13
        29: .line 145
            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 146
            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 113
            aload 13
            areturn
        32: .line 114
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 11 /* outputBytes */
            iconst_0
            baload
            bastore
        33: .line 115
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 11 /* outputBytes */
            iconst_1
            baload
            bastore
        34: .line 116
            iinc 4 /* sp */ 2
        35: .line 117
            goto 66
        end local 11 // byte[] outputBytes
        end local 10 // char c2
        36: .line 120
      StackMap locals:
      StackMap stack:
            iload 9 /* c */
            ldc 65534
            if_icmplt 41
        37: .line 121
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 13
        38: .line 145
            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
        39: .line 146
            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
        40: .line 121
            aload 13
            areturn
        41: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeSingle:(C)I
            istore 10 /* b */
        start local 10 // int b
        42: .line 124
            iload 10 /* b */
            iconst_m1
            if_icmpeq 51
        43: .line 125
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 48
        44: .line 126
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 13
        45: .line 145
            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
        46: .line 146
            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
        47: .line 126
            aload 13
            areturn
        48: .line 127
      StackMap locals: int
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 10 /* b */
            i2b
            bastore
        49: .line 128
            iinc 4 /* sp */ 1
        50: .line 129
            goto 66
        51: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeDouble:(C)I
            istore 11 /* ncode */
        start local 11 // int ncode
        52: .line 133
            iload 11 /* ncode */
            ifeq 62
            iload 9 /* c */
            ifeq 62
        53: .line 134
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_2
            if_icmpge 58
        54: .line 135
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 13
        55: .line 145
            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
        56: .line 146
            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
        57: .line 135
            aload 13
            areturn
        58: .line 136
      StackMap locals: int
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* ncode */
            ldc 65280
            iand
            bipush 8
            ishr
            i2b
            bastore
        59: .line 137
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* ncode */
            sipush 255
            iand
            i2b
            bastore
        60: .line 138
            iinc 4 /* sp */ 1
        61: .line 139
            goto 66
        62: .line 141
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 13
        63: .line 145
            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
        64: .line 146
            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
        65: .line 141
            aload 13
            areturn
        end local 11 // int ncode
        end local 10 // int b
        end local 9 // char c
        66: .line 96
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 7
        67: .line 143
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 13
        68: .line 145
            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
        69: .line 146
            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
        70: .line 143
            aload 13
            areturn
        71: .line 144
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        72: .line 145
            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
        73: .line 146
            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
        74: .line 147
            aload 12
            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.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   75     0         this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0   75     1          src  Ljava/nio/CharBuffer;
            0   75     2          dst  Ljava/nio/ByteBuffer;
            1   75     3           sa  [C
            2   75     4           sp  I
            3   75     5           sl  I
            4   75     6           da  [B
            5   75     7           dp  I
            6   75     8           dl  I
            8   66     9            c  C
           20   36    10           c2  C
           21   36    11  outputBytes  [B
           42   66    10            b  I
           52   66    11        ncode  I
      Exception table:
        from    to  target  type
           6    11      71  any
          14    16      71  any
          19    24      71  any
          27    29      71  any
          32    38      71  any
          41    45      71  any
          48    55      71  any
          58    63      71  any
          66    68      71  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=3, locals=10, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 151
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 154
            goto 50
         2: .line 155
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 4 /* c */
        start local 4 // char c
         3: .line 156
            iload 4 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 24
         4: .line 158
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            iload 4 /* c */
            aload 1 /* src */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
            dup
            istore 5 /* surr */
        start local 5 // int surr
         5: ifge 9
         6: .line 159
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 9
         7: .line 202
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
         8: .line 159
            aload 9
            areturn
         9: .line 160
      StackMap locals: int int
      StackMap stack:
            iload 5 /* surr */
            invokestatic sun.nio.cs.Surrogate.low:(I)C
            istore 6 /* c2 */
        start local 6 // char c2
        10: .line 161
            iconst_2
            newarray 8
            astore 7 /* outputBytes */
        start local 7 // byte[] outputBytes
        11: .line 162
            aload 0 /* this */
            iload 4 /* c */
            iload 6 /* c2 */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeSurrogate:(CC)[B
            astore 7 /* outputBytes */
        12: .line 164
            aload 7 /* outputBytes */
            ifnonnull 16
        13: .line 165
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
            astore 9
        14: .line 202
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        15: .line 165
            aload 9
            areturn
        16: .line 167
      StackMap locals: int byte[]
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 20
        17: .line 168
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        18: .line 202
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        19: .line 168
            aload 9
            areturn
        20: .line 169
      StackMap locals:
      StackMap stack:
            iinc 3 /* mark */ 2
        21: .line 170
            aload 2 /* dst */
            aload 7 /* outputBytes */
            iconst_0
            baload
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        22: .line 171
            aload 2 /* dst */
            aload 7 /* outputBytes */
            iconst_1
            baload
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        23: .line 172
            goto 50
        end local 7 // byte[] outputBytes
        end local 6 // char c2
        end local 5 // int surr
        24: .line 175
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            ldc 65534
            if_icmplt 28
        25: .line 176
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        26: .line 202
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        27: .line 176
            aload 9
            areturn
        28: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeSingle:(C)I
            istore 5 /* b */
        start local 5 // int b
        29: .line 179
            iload 5 /* b */
            iconst_m1
            if_icmpeq 37
        30: .line 180
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 34
        31: .line 181
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        32: .line 202
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        33: .line 181
            aload 9
            areturn
        34: .line 182
      StackMap locals: int
      StackMap stack:
            iinc 3 /* mark */ 1
        35: .line 183
            aload 2 /* dst */
            iload 5 /* b */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        36: .line 184
            goto 50
        37: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeDouble:(C)I
            istore 6 /* ncode */
        start local 6 // int ncode
        38: .line 189
            iload 6 /* ncode */
            ifeq 47
            iload 4 /* c */
            ifeq 47
        39: .line 190
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 43
        40: .line 191
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        41: .line 202
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        42: .line 191
            aload 9
            areturn
        43: .line 192
      StackMap locals: int
      StackMap stack:
            iinc 3 /* mark */ 1
        44: .line 193
            aload 2 /* dst */
            iload 6 /* ncode */
            ldc 65280
            iand
            bipush 8
            ishr
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        45: .line 194
            aload 2 /* dst */
            iload 6 /* ncode */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        46: .line 195
            goto 50
        47: .line 197
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        48: .line 202
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        49: .line 197
            aload 9
            areturn
        end local 6 // int ncode
        end local 5 // int b
        end local 4 // char c
        50: .line 154
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 2
        51: .line 200
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        52: .line 202
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        53: .line 200
            aload 9
            areturn
        54: .line 201
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        55: .line 202
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        56: .line 203
            aload 8
            athrow
        end local 3 // int mark
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   57     0         this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0   57     1          src  Ljava/nio/CharBuffer;
            0   57     2          dst  Ljava/nio/ByteBuffer;
            1   57     3         mark  I
            3   50     4            c  C
            5   24     5         surr  I
           10   24     6           c2  C
           11   24     7  outputBytes  [B
           29   50     5            b  I
           38   50     6        ncode  I
      Exception table:
        from    to  target  type
           1     7      54  any
           9    14      54  any
          16    18      54  any
          20    26      54  any
          28    32      54  any
          34    41      54  any
          43    48      54  any
          50    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.DoubleByteEncoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 207
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
         1: .line 208
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.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.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    3     1   src  Ljava/nio/CharBuffer;
            0    3     2   dst  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected int encodeDouble(char);
    descriptor: (C)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // char ch
         0: .line 217
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.index1:[S
            iload 1 /* ch */
            ldc 65280
            iand
            bipush 8
            ishr
            saload
            bipush 8
            ishl
            istore 2 /* offset */
        start local 2 // int offset
         1: .line 218
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.index2:[Ljava/lang/String;
            iload 2 /* offset */
            bipush 12
            ishr
            aaload
            iload 2 /* offset */
            sipush 4095
            iand
            iload 1 /* ch */
            sipush 255
            iand
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            ireturn
        end local 2 // int offset
        end local 1 // char ch
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    2     1      ch  C
            1    2     2  offset  I
    MethodParameters:
      Name  Flags
      ch    

  protected int encodeSingle(char);
    descriptor: (C)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // char inputChar
         0: .line 225
            iload 1 /* inputChar */
            sipush 128
            if_icmpge 2
         1: .line 226
            iload 1 /* inputChar */
            i2b
            ireturn
         2: .line 228
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // char inputChar
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    3     1  inputChar  C
    MethodParameters:
           Name  Flags
      inputChar  

  protected byte[] encodeSurrogate(char, char);
    descriptor: (CC)[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // char highSurrogate
        start local 2 // char lowSurrogate
         0: .line 239
            aconst_null
            areturn
        end local 2 // char lowSurrogate
        end local 1 // char highSurrogate
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    1     1  highSurrogate  C
            0    1     2   lowSurrogate  C
    MethodParameters:
               Name  Flags
      highSurrogate  
      lowSurrogate   
}
SourceFile: "DoubleByteEncoder.java"
InnerClasses:
  public Parser = sun.nio.cs.Surrogate$Parser of sun.nio.cs.Surrogate