public class sun.nio.cs.ext.DoubleByte$Decoder extends java.nio.charset.CharsetDecoder implements sun.nio.cs.ext.DelegatableDecoder, sun.nio.cs.ArrayDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.cs.ext.DoubleByte$Decoder
  super_class: java.nio.charset.CharsetDecoder
{
  final char[][] b2c;
    descriptor: [[C
    flags: (0x0010) ACC_FINAL

  final char[] b2cSB;
    descriptor: [C
    flags: (0x0010) ACC_FINAL

  final int b2Min;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final int b2Max;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  protected java.nio.charset.CoderResult crMalformedOrUnderFlow(int);
    descriptor: (I)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
        start local 1 // int b
         0: .line 121
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            areturn
        end local 1 // int b
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/ext/DoubleByte$Decoder;
            0    1     1     b  I
    MethodParameters:
      Name  Flags
      b     

  protected java.nio.charset.CoderResult crMalformedOrUnmappable(int, int);
    descriptor: (II)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
        start local 1 // int b1
        start local 2 // int b2
         0: .line 125
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2c:[[C
            iload 1 /* b1 */
            aaload
            getstatic sun.nio.cs.ext.DoubleByte.B2C_UNMAPPABLE:[C
            if_acmpeq 3
         1: .line 126
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2c:[[C
            iload 2 /* b2 */
            aaload
            getstatic sun.nio.cs.ext.DoubleByte.B2C_UNMAPPABLE:[C
            if_acmpne 3
         2: .line 127
            aload 0 /* this */
            iload 2 /* b2 */
            invokevirtual sun.nio.cs.ext.DoubleByte$Decoder.decodeSingle:(I)C
            ldc 65533
            if_icmpeq 4
         3: .line 128
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            areturn
         4: .line 130
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            areturn
        end local 2 // int b2
        end local 1 // int b1
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/nio/cs/ext/DoubleByte$Decoder;
            0    5     1    b1  I
            0    5     2    b2  I
    MethodParameters:
      Name  Flags
      b1    
      b2    

  void <init>(java.nio.charset.Charset, float, float, char[][], char[], int, int);
    descriptor: (Ljava/nio/charset/Charset;FF[[C[CII)V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=8
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // float avgcpb
        start local 3 // float maxcpb
        start local 4 // char[][] b2c
        start local 5 // char[] b2cSB
        start local 6 // int b2Min
        start local 7 // int b2Max
         0: .line 136
            aload 0 /* this */
            aload 1 /* cs */
            fload 2 /* avgcpb */
            fload 3 /* maxcpb */
            invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 137
            aload 0 /* this */
            aload 4 /* b2c */
            putfield sun.nio.cs.ext.DoubleByte$Decoder.b2c:[[C
         2: .line 138
            aload 0 /* this */
            aload 5 /* b2cSB */
            putfield sun.nio.cs.ext.DoubleByte$Decoder.b2cSB:[C
         3: .line 139
            aload 0 /* this */
            iload 6 /* b2Min */
            putfield sun.nio.cs.ext.DoubleByte$Decoder.b2Min:I
         4: .line 140
            aload 0 /* this */
            iload 7 /* b2Max */
            putfield sun.nio.cs.ext.DoubleByte$Decoder.b2Max:I
         5: .line 141
            return
        end local 7 // int b2Max
        end local 6 // int b2Min
        end local 5 // char[] b2cSB
        end local 4 // char[][] b2c
        end local 3 // float maxcpb
        end local 2 // float avgcpb
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/nio/cs/ext/DoubleByte$Decoder;
            0    6     1      cs  Ljava/nio/charset/Charset;
            0    6     2  avgcpb  F
            0    6     3  maxcpb  F
            0    6     4     b2c  [[C
            0    6     5   b2cSB  [C
            0    6     6   b2Min  I
            0    6     7   b2Max  I
    MethodParameters:
        Name  Flags
      cs      
      avgcpb  
      maxcpb  
      b2c     
      b2cSB   
      b2Min   
      b2Max   

  void <init>(java.nio.charset.Charset, char[][], char[], int, int);
    descriptor: (Ljava/nio/charset/Charset;[[C[CII)V
    flags: (0x0000) 
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // char[][] b2c
        start local 3 // char[] b2cSB
        start local 4 // int b2Min
        start local 5 // int b2Max
         0: .line 144
            aload 0 /* this */
            aload 1 /* cs */
            ldc 0.5
            fconst_1
            aload 2 /* b2c */
            aload 3 /* b2cSB */
            iload 4 /* b2Min */
            iload 5 /* b2Max */
            invokespecial sun.nio.cs.ext.DoubleByte$Decoder.<init>:(Ljava/nio/charset/Charset;FF[[C[CII)V
         1: .line 145
            return
        end local 5 // int b2Max
        end local 4 // int b2Min
        end local 3 // char[] b2cSB
        end local 2 // char[][] b2c
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/nio/cs/ext/DoubleByte$Decoder;
            0    2     1     cs  Ljava/nio/charset/Charset;
            0    2     2    b2c  [[C
            0    2     3  b2cSB  [C
            0    2     4  b2Min  I
            0    2     5  b2Max  I
    MethodParameters:
       Name  Flags
      cs     
      b2c    
      b2cSB  
      b2Min  
      b2Max  

  protected java.nio.charset.CoderResult decodeArrayLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=15, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 148
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 3 /* sa */
        start local 3 // byte[] sa
         1: .line 149
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 4 /* sp */
        start local 4 // int sp
         2: .line 150
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iadd
            istore 5 /* sl */
        start local 5 // int sl
         3: .line 152
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 6 /* da */
        start local 6 // char[] da
         4: .line 153
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.position:()I
            iadd
            istore 7 /* dp */
        start local 7 // int dp
         5: .line 154
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.limit:()I
            iadd
            istore 8 /* dl */
        start local 8 // int dl
         6: .line 157
            goto 26
         7: .line 159
      StackMap locals: sun.nio.cs.ext.DoubleByte$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int char[] int int
      StackMap stack:
            iconst_1
            istore 9 /* inSize */
        start local 9 // int inSize
         8: .line 160
            aload 3 /* sa */
            iload 4 /* sp */
            baload
            sipush 255
            iand
            istore 10 /* b1 */
        start local 10 // int b1
         9: .line 161
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2cSB:[C
            iload 10 /* b1 */
            caload
            istore 11 /* c */
        start local 11 // char c
        10: .line 162
            iload 11 /* c */
            ldc 65533
            if_icmpne 24
        11: .line 163
            iload 5 /* sl */
            iload 4 /* sp */
            isub
            iconst_2
            if_icmpge 16
        12: .line 164
            aload 0 /* this */
            iload 10 /* b1 */
            invokevirtual sun.nio.cs.ext.DoubleByte$Decoder.crMalformedOrUnderFlow:(I)Ljava/nio/charset/CoderResult;
            astore 14
        13: .line 178
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        14: .line 179
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        15: .line 164
            aload 14
            areturn
        16: .line 165
      StackMap locals: int int int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            istore 12 /* b2 */
        start local 12 // int b2
        17: .line 166
            iload 12 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Min:I
            if_icmplt 19
            iload 12 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Max:I
            if_icmpgt 19
        18: .line 167
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2c:[[C
            iload 10 /* b1 */
            aaload
            iload 12 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Min:I
            isub
            caload
            dup
            istore 11 /* c */
            ldc 65533
            if_icmpne 23
        19: .line 168
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 10 /* b1 */
            iload 12 /* b2 */
            invokevirtual sun.nio.cs.ext.DoubleByte$Decoder.crMalformedOrUnmappable:(II)Ljava/nio/charset/CoderResult;
            astore 14
        20: .line 178
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        21: .line 179
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        22: .line 168
            aload 14
            areturn
        23: .line 170
      StackMap locals:
      StackMap stack:
            iinc 9 /* inSize */ 1
        end local 12 // int b2
        24: .line 172
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* c */
            castore
        25: .line 173
            iload 4 /* sp */
            iload 9 /* inSize */
            iadd
            istore 4 /* sp */
        end local 11 // char c
        end local 10 // int b1
        end local 9 // int inSize
        26: .line 157
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmpge 27
            iload 7 /* dp */
            iload 8 /* dl */
            if_icmplt 7
        27: .line 175
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 28
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            goto 29
        28: .line 176
      StackMap locals:
      StackMap stack:
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
      StackMap locals:
      StackMap stack: java.nio.charset.CoderResult
        29: astore 14
        30: .line 178
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        31: .line 179
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        32: .line 175
            aload 14
            areturn
        33: .line 177
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        34: .line 178
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        35: .line 179
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        36: .line 180
            aload 13
            athrow
        end local 8 // int dl
        end local 7 // int dp
        end local 6 // char[] da
        end local 5 // int sl
        end local 4 // int sp
        end local 3 // byte[] sa
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   37     0    this  Lsun/nio/cs/ext/DoubleByte$Decoder;
            0   37     1     src  Ljava/nio/ByteBuffer;
            0   37     2     dst  Ljava/nio/CharBuffer;
            1   37     3      sa  [B
            2   37     4      sp  I
            3   37     5      sl  I
            4   37     6      da  [C
            5   37     7      dp  I
            6   37     8      dl  I
            8   26     9  inSize  I
            9   26    10      b1  I
           10   26    11       c  C
           17   24    12      b2  I
      Exception table:
        from    to  target  type
           6    13      33  any
          16    20      33  any
          23    30      33  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult decodeBufferLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 184
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 187
            goto 19
         2: .line 188
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 4 /* b1 */
        start local 4 // int b1
         3: .line 189
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2cSB:[C
            iload 4 /* b1 */
            caload
            istore 5 /* c */
        start local 5 // char c
         4: .line 190
            iconst_1
            istore 6 /* inSize */
        start local 6 // int inSize
         5: .line 191
            iload 5 /* c */
            ldc 65533
            if_icmpne 17
         6: .line 192
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 10
         7: .line 193
            aload 0 /* this */
            iload 4 /* b1 */
            invokevirtual sun.nio.cs.ext.DoubleByte$Decoder.crMalformedOrUnderFlow:(I)Ljava/nio/charset/CoderResult;
            astore 9
         8: .line 206
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         9: .line 193
            aload 9
            areturn
        10: .line 194
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 7 /* b2 */
        start local 7 // int b2
        11: .line 195
            iload 7 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Min:I
            if_icmplt 13
            iload 7 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Max:I
            if_icmpgt 13
        12: .line 196
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2c:[[C
            iload 4 /* b1 */
            aaload
            iload 7 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Min:I
            isub
            caload
            dup
            istore 5 /* c */
            ldc 65533
            if_icmpne 16
        13: .line 197
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* b1 */
            iload 7 /* b2 */
            invokevirtual sun.nio.cs.ext.DoubleByte$Decoder.crMalformedOrUnmappable:(II)Ljava/nio/charset/CoderResult;
            astore 9
        14: .line 206
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        15: .line 197
            aload 9
            areturn
        16: .line 198
      StackMap locals:
      StackMap stack:
            iinc 6 /* inSize */ 1
        end local 7 // int b2
        17: .line 200
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 5 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        18: .line 201
            iload 3 /* mark */
            iload 6 /* inSize */
            iadd
            istore 3 /* mark */
        end local 6 // int inSize
        end local 5 // char c
        end local 4 // int b1
        19: .line 187
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 20
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 2
        20: .line 203
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 21
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            goto 22
        21: .line 204
      StackMap locals:
      StackMap stack:
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
      StackMap locals:
      StackMap stack: java.nio.charset.CoderResult
        22: astore 9
        23: .line 206
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        24: .line 203
            aload 9
            areturn
        25: .line 205
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        26: .line 206
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        27: .line 207
            aload 8
            athrow
        end local 3 // int mark
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   28     0    this  Lsun/nio/cs/ext/DoubleByte$Decoder;
            0   28     1     src  Ljava/nio/ByteBuffer;
            0   28     2     dst  Ljava/nio/CharBuffer;
            1   28     3    mark  I
            3   19     4      b1  I
            4   19     5       c  C
            5   19     6  inSize  I
           11   17     7      b2  I
      Exception table:
        from    to  target  type
           1     8      25  any
          10    14      25  any
          16    23      25  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  public java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 212
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
         1: .line 213
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.DoubleByte$Decoder.decodeArrayLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.DoubleByte$Decoder.decodeBufferLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/DoubleByte$Decoder;
            0    3     1   src  Ljava/nio/ByteBuffer;
            0    3     2   dst  Ljava/nio/CharBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   

  public int decode(byte[], int, int, char[]);
    descriptor: ([BII[C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=5
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
        start local 1 // byte[] src
        start local 2 // int sp
        start local 3 // int len
        start local 4 // char[] dst
         0: .line 219
            iconst_0
            istore 5 /* dp */
        start local 5 // int dp
         1: .line 220
            iload 2 /* sp */
            iload 3 /* len */
            iadd
            istore 6 /* sl */
        start local 6 // int sl
         2: .line 221
            aload 0 /* this */
            invokevirtual sun.nio.cs.ext.DoubleByte$Decoder.replacement:()Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* repl */
        start local 7 // char repl
         3: .line 222
            goto 18
         4: .line 223
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* src */
            iload 2 /* sp */
            iinc 2 /* sp */ 1
            baload
            sipush 255
            iand
            istore 8 /* b1 */
        start local 8 // int b1
         5: .line 224
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2cSB:[C
            iload 8 /* b1 */
            caload
            istore 9 /* c */
        start local 9 // char c
         6: .line 225
            iload 9 /* c */
            ldc 65533
            if_icmpne 17
         7: .line 226
            iload 2 /* sp */
            iload 6 /* sl */
            if_icmpge 15
         8: .line 227
            aload 1 /* src */
            iload 2 /* sp */
            iinc 2 /* sp */ 1
            baload
            sipush 255
            iand
            istore 10 /* b2 */
        start local 10 // int b2
         9: .line 228
            iload 10 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Min:I
            if_icmplt 11
            iload 10 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Max:I
            if_icmpgt 11
        10: .line 229
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2c:[[C
            iload 8 /* b1 */
            aaload
            iload 10 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Min:I
            isub
            caload
            dup
            istore 9 /* c */
            ldc 65533
            if_icmpne 15
        11: .line 230
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2c:[[C
            iload 8 /* b1 */
            aaload
            getstatic sun.nio.cs.ext.DoubleByte.B2C_UNMAPPABLE:[C
            if_acmpeq 14
        12: .line 231
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2c:[[C
            iload 10 /* b2 */
            aaload
            getstatic sun.nio.cs.ext.DoubleByte.B2C_UNMAPPABLE:[C
            if_acmpne 14
        13: .line 232
            aload 0 /* this */
            iload 10 /* b2 */
            invokevirtual sun.nio.cs.ext.DoubleByte$Decoder.decodeSingle:(I)C
            ldc 65533
            if_icmpeq 15
        14: .line 233
      StackMap locals:
      StackMap stack:
            iinc 2 /* sp */ -1
        end local 10 // int b2
        15: .line 237
      StackMap locals:
      StackMap stack:
            iload 9 /* c */
            ldc 65533
            if_icmpne 17
        16: .line 238
            iload 7 /* repl */
            istore 9 /* c */
        17: .line 241
      StackMap locals:
      StackMap stack:
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            iload 9 /* c */
            castore
        end local 9 // char c
        end local 8 // int b1
        18: .line 222
      StackMap locals:
      StackMap stack:
            iload 2 /* sp */
            iload 6 /* sl */
            if_icmplt 4
        19: .line 243
            iload 5 /* dp */
            ireturn
        end local 7 // char repl
        end local 6 // int sl
        end local 5 // int dp
        end local 4 // char[] dst
        end local 3 // int len
        end local 2 // int sp
        end local 1 // byte[] src
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lsun/nio/cs/ext/DoubleByte$Decoder;
            0   20     1   src  [B
            0   20     2    sp  I
            0   20     3   len  I
            0   20     4   dst  [C
            1   20     5    dp  I
            2   20     6    sl  I
            3   20     7  repl  C
            5   18     8    b1  I
            6   18     9     c  C
            9   15    10    b2  I
    MethodParameters:
      Name  Flags
      src   
      sp    
      len   
      dst   

  public void implReset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
         0: .line 247
            aload 0 /* this */
            invokespecial java.nio.charset.CharsetDecoder.implReset:()V
         1: .line 248
            return
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/cs/ext/DoubleByte$Decoder;

  public java.nio.charset.CoderResult implFlush(java.nio.CharBuffer);
    descriptor: (Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
        start local 1 // java.nio.CharBuffer out
         0: .line 251
            aload 0 /* this */
            aload 1 /* out */
            invokespecial java.nio.charset.CharsetDecoder.implFlush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
        end local 1 // java.nio.CharBuffer out
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/ext/DoubleByte$Decoder;
            0    1     1   out  Ljava/nio/CharBuffer;
    MethodParameters:
      Name  Flags
      out   

  public char decodeSingle(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
        start local 1 // int b
         0: .line 257
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2cSB:[C
            iload 1 /* b */
            caload
            ireturn
        end local 1 // int b
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/ext/DoubleByte$Decoder;
            0    1     1     b  I
    MethodParameters:
      Name  Flags
      b     

  public char decodeDouble(int, int);
    descriptor: (II)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
        start local 1 // int b1
        start local 2 // int b2
         0: .line 261
            iload 1 /* b1 */
            iflt 2
            iload 1 /* b1 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2c:[[C
            arraylength
            if_icmpgt 2
         1: .line 262
            iload 2 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Min:I
            if_icmplt 2
            iload 2 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Max:I
            if_icmple 3
         2: .line 263
      StackMap locals:
      StackMap stack:
            ldc 65533
            ireturn
         3: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2c:[[C
            iload 1 /* b1 */
            aaload
            iload 2 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByte$Decoder.b2Min:I
            isub
            caload
            ireturn
        end local 2 // int b2
        end local 1 // int b1
        end local 0 // sun.nio.cs.ext.DoubleByte$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/nio/cs/ext/DoubleByte$Decoder;
            0    4     1    b1  I
            0    4     2    b2  I
    MethodParameters:
      Name  Flags
      b1    
      b2    
}
SourceFile: "DoubleByte.java"
NestHost: sun.nio.cs.ext.DoubleByte
InnerClasses:
  public Decoder = sun.nio.cs.ext.DoubleByte$Decoder of sun.nio.cs.ext.DoubleByte