abstract class sun.nio.cs.UnicodeDecoder extends java.nio.charset.CharsetDecoder
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: sun.nio.cs.UnicodeDecoder
super_class: java.nio.charset.CharsetDecoder
{
protected static final char BYTE_ORDER_MARK;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 65279
protected static final char REVERSED_MARK;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 65534
protected static final int NONE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 0
protected static final int BIG;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 1
protected static final int LITTLE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private final int expectedByteOrder;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int currentByteOrder;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int defaultByteOrder;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(java.nio.charset.Charset, int);
descriptor: (Ljava/nio/charset/Charset;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
ldc 0.5
fconst_1
invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
1: aload 0
iconst_1
putfield sun.nio.cs.UnicodeDecoder.defaultByteOrder:I
2: aload 0
aload 0
iload 2
dup_x1
putfield sun.nio.cs.UnicodeDecoder.currentByteOrder:I
putfield sun.nio.cs.UnicodeDecoder.expectedByteOrder:I
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/cs/UnicodeDecoder;
0 4 1 cs Ljava/nio/charset/Charset;
0 4 2 bo I
MethodParameters:
Name Flags
cs
bo
public void <init>(java.nio.charset.Charset, int, int);
descriptor: (Ljava/nio/charset/Charset;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
invokespecial sun.nio.cs.UnicodeDecoder.<init>:(Ljava/nio/charset/Charset;I)V
1: aload 0
iload 3
putfield sun.nio.cs.UnicodeDecoder.defaultByteOrder:I
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/UnicodeDecoder;
0 3 1 cs Ljava/nio/charset/Charset;
0 3 2 bo I
0 3 3 defaultBO I
MethodParameters:
Name Flags
cs
bo
defaultBO
private char decode(int, int);
descriptor: (II)C
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.nio.cs.UnicodeDecoder.currentByteOrder:I
iconst_1
if_icmpne 2
1: iload 1
bipush 8
ishl
iload 2
ior
i2c
ireturn
2: StackMap locals:
StackMap stack:
iload 2
bipush 8
ishl
iload 1
ior
i2c
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/UnicodeDecoder;
0 3 1 b1 I
0 3 2 b2 I
MethodParameters:
Name Flags
b1
b2
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=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 3
start local 3 1: goto 44
2: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 4
start local 4 3: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 5
start local 5 4: aload 0
getfield sun.nio.cs.UnicodeDecoder.currentByteOrder:I
ifne 15
5: iload 4
bipush 8
ishl
iload 5
ior
i2c
istore 6
start local 6 6: iload 6
ldc 65279
if_icmpne 10
7: aload 0
iconst_1
putfield sun.nio.cs.UnicodeDecoder.currentByteOrder:I
8: iinc 3 2
9: goto 44
10: StackMap locals: int int int
StackMap stack:
iload 6
ldc 65534
if_icmpne 14
11: aload 0
iconst_2
putfield sun.nio.cs.UnicodeDecoder.currentByteOrder:I
12: iinc 3 2
13: goto 44
14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.cs.UnicodeDecoder.defaultByteOrder:I
putfield sun.nio.cs.UnicodeDecoder.currentByteOrder:I
end local 6 15: StackMap locals:
StackMap stack:
aload 0
iload 4
iload 5
invokevirtual sun.nio.cs.UnicodeDecoder.decode:(II)C
istore 6
start local 6 16: iload 6
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 38
17: iload 6
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 35
18: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_2
if_icmpge 22
19: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 9
20: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
21: aload 9
areturn
22: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
invokevirtual sun.nio.cs.UnicodeDecoder.decode:(II)C
istore 7
start local 7 23: iload 7
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifne 27
24: iconst_4
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
astore 9
25: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
26: aload 9
areturn
27: StackMap locals: int
StackMap stack:
aload 2
invokevirtual java.nio.CharBuffer.remaining:()I
iconst_2
if_icmpge 31
28: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 9
29: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
30: aload 9
areturn
31: StackMap locals:
StackMap stack:
iinc 3 4
32: aload 2
iload 6
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
33: aload 2
iload 7
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
34: goto 44
end local 7 35: StackMap locals:
StackMap stack:
iconst_2
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
astore 9
36: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
37: aload 9
areturn
38: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 42
39: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 9
40: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
41: aload 9
areturn
42: StackMap locals:
StackMap stack:
iinc 3 2
43: aload 2
iload 6
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
end local 6 end local 5 end local 4 44: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_1
if_icmpgt 2
45: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 9
46: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
47: aload 9
areturn
48: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
49: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
50: aload 8
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lsun/nio/cs/UnicodeDecoder;
0 51 1 src Ljava/nio/ByteBuffer;
0 51 2 dst Ljava/nio/CharBuffer;
1 51 3 mark I
3 44 4 b1 I
4 44 5 b2 I
6 15 6 c C
16 44 6 c C
23 35 7 c2 C
Exception table:
from to target type
1 20 48 any
22 25 48 any
27 29 48 any
31 36 48 any
38 40 48 any
42 46 48 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 0: aload 0
aload 0
getfield sun.nio.cs.UnicodeDecoder.expectedByteOrder:I
putfield sun.nio.cs.UnicodeDecoder.currentByteOrder:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/UnicodeDecoder;
}
SourceFile: "UnicodeDecoder.java"