public class sun.nio.cs.UTF_32Coder$Decoder extends java.nio.charset.CharsetDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.cs.UTF_32Coder$Decoder
  super_class: java.nio.charset.CharsetDecoder
{
  private int currentBO;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int expectedBO;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  protected void <init>(java.nio.charset.Charset, int);
    descriptor: (Ljava/nio/charset/Charset;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.nio.cs.UTF_32Coder$Decoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // int bo
         0: .line 47
            aload 0 /* this */
            aload 1 /* cs */
            ldc 0.25
            fconst_1
            invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 48
            aload 0 /* this */
            iload 2 /* bo */
            putfield sun.nio.cs.UTF_32Coder$Decoder.expectedBO:I
         2: .line 49
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.UTF_32Coder$Decoder.currentBO:I
         3: .line 50
            return
        end local 2 // int bo
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.UTF_32Coder$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/nio/cs/UTF_32Coder$Decoder;
            0    4     1    cs  Ljava/nio/charset/Charset;
            0    4     2    bo  I
    MethodParameters:
      Name  Flags
      cs    
      bo    

  private int getCP(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.nio.cs.UTF_32Coder$Decoder this
        start local 1 // java.nio.ByteBuffer src
         0: .line 53
            aload 0 /* this */
            getfield sun.nio.cs.UTF_32Coder$Decoder.currentBO:I
            iconst_1
            if_icmpne 9
         1: .line 54
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 24
            ishl
         2: .line 55
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 16
            ishl
         3: .line 54
            ior
         4: .line 56
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 8
            ishl
         5: .line 54
            ior
         6: .line 57
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
         7: .line 54
            ior
         8: .line 57
            goto 16
         9: .line 58
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
        10: .line 59
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 8
            ishl
        11: .line 58
            ior
        12: .line 60
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 16
            ishl
        13: .line 58
            ior
        14: .line 61
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 24
            ishl
        15: .line 58
            ior
        16: .line 53
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.UTF_32Coder$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lsun/nio/cs/UTF_32Coder$Decoder;
            0   17     1   src  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      src   

  protected java.nio.charset.CoderResult decodeLoop(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=7, args_size=3
        start local 0 // sun.nio.cs.UTF_32Coder$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 65
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_4
            if_icmpge 2
         1: .line 66
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            areturn
         2: .line 67
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         3: .line 70
            aload 0 /* this */
            getfield sun.nio.cs.UTF_32Coder$Decoder.currentBO:I
            ifne 45
         4: .line 71
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 24
            ishl
         5: .line 72
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 16
            ishl
         6: .line 71
            ior
         7: .line 73
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 8
            ishl
         8: .line 71
            ior
         9: .line 74
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
        10: .line 71
            ior
            istore 4 /* cp */
        start local 4 // int cp
        11: .line 75
            iload 4 /* cp */
            ldc 65279
            if_icmpne 15
            aload 0 /* this */
            getfield sun.nio.cs.UTF_32Coder$Decoder.expectedBO:I
            iconst_2
            if_icmpeq 15
        12: .line 76
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.UTF_32Coder$Decoder.currentBO:I
        13: .line 77
            iinc 3 /* mark */ 4
        14: .line 78
            goto 45
      StackMap locals: int int
      StackMap stack:
        15: iload 4 /* cp */
            ldc -131072
            if_icmpne 19
            aload 0 /* this */
            getfield sun.nio.cs.UTF_32Coder$Decoder.expectedBO:I
            iconst_1
            if_icmpeq 19
        16: .line 79
            aload 0 /* this */
            iconst_2
            putfield sun.nio.cs.UTF_32Coder$Decoder.currentBO:I
        17: .line 80
            iinc 3 /* mark */ 4
        18: .line 81
            goto 45
        19: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.UTF_32Coder$Decoder.expectedBO:I
            ifne 21
        20: .line 83
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.UTF_32Coder$Decoder.currentBO:I
            goto 22
        21: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.cs.UTF_32Coder$Decoder.expectedBO:I
            putfield sun.nio.cs.UTF_32Coder$Decoder.currentBO:I
        22: .line 86
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        end local 4 // int cp
        23: .line 89
            goto 45
        24: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            invokevirtual sun.nio.cs.UTF_32Coder$Decoder.getCP:(Ljava/nio/ByteBuffer;)I
            istore 4 /* cp */
        start local 4 // int cp
        25: .line 91
            iload 4 /* cp */
            invokestatic java.lang.Character.isBmpCodePoint:(I)Z
            ifeq 33
        26: .line 92
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 30
        27: .line 93
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 6
        28: .line 108
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        29: .line 93
            aload 6
            areturn
        30: .line 94
      StackMap locals: int
      StackMap stack:
            iinc 3 /* mark */ 4
        31: .line 95
            aload 2 /* dst */
            iload 4 /* cp */
            i2c
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        32: .line 96
            goto 45
      StackMap locals:
      StackMap stack:
        33: iload 4 /* cp */
            invokestatic java.lang.Character.isValidCodePoint:(I)Z
            ifeq 42
        34: .line 97
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            iconst_2
            if_icmpge 38
        35: .line 98
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 6
        36: .line 108
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        37: .line 98
            aload 6
            areturn
        38: .line 99
      StackMap locals:
      StackMap stack:
            iinc 3 /* mark */ 4
        39: .line 100
            aload 2 /* dst */
            iload 4 /* cp */
            invokestatic java.lang.Character.highSurrogate:(I)C
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        40: .line 101
            aload 2 /* dst */
            iload 4 /* cp */
            invokestatic java.lang.Character.lowSurrogate:(I)C
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        41: .line 102
            goto 45
        42: .line 103
      StackMap locals:
      StackMap stack:
            iconst_4
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 6
        43: .line 108
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        44: .line 103
            aload 6
            areturn
        end local 4 // int cp
        45: .line 89
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_4
            if_icmpge 24
        46: .line 106
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 6
        47: .line 108
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        48: .line 106
            aload 6
            areturn
        49: .line 107
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        50: .line 108
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        51: .line 109
            aload 5
            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.UTF_32Coder$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   52     0  this  Lsun/nio/cs/UTF_32Coder$Decoder;
            0   52     1   src  Ljava/nio/ByteBuffer;
            0   52     2   dst  Ljava/nio/CharBuffer;
            3   52     3  mark  I
           11   23     4    cp  I
           25   45     4    cp  I
      Exception table:
        from    to  target  type
           3    28      49  any
          30    36      49  any
          38    43      49  any
          45    47      49  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected void implReset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.nio.cs.UTF_32Coder$Decoder this
         0: .line 112
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.UTF_32Coder$Decoder.currentBO:I
         1: .line 113
            return
        end local 0 // sun.nio.cs.UTF_32Coder$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/cs/UTF_32Coder$Decoder;
}
SourceFile: "UTF_32Coder.java"
NestHost: sun.nio.cs.UTF_32Coder
InnerClasses:
  protected Decoder = sun.nio.cs.UTF_32Coder$Decoder of sun.nio.cs.UTF_32Coder