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 48
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 48
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 48
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
ldc 65534
if_icmpne 20
17: iconst_2
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
astore 9
18: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
19: aload 9
areturn
20: StackMap locals: int
StackMap stack:
iload 6
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 42
21: iload 6
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 39
22: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_2
if_icmpge 26
23: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 9
24: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
25: aload 9
areturn
26: StackMap locals:
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 27: iload 7
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifne 31
28: iconst_4
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)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: int
StackMap stack:
aload 2
invokevirtual java.nio.CharBuffer.remaining:()I
iconst_2
if_icmpge 35
32: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 9
33: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
34: aload 9
areturn
35: StackMap locals:
StackMap stack:
iinc 3 4
36: aload 2
iload 6
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
37: aload 2
iload 7
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
38: goto 48
end local 7 39: StackMap locals:
StackMap stack:
iconst_2
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)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:
aload 2
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 46
43: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 9
44: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
45: aload 9
areturn
46: StackMap locals:
StackMap stack:
iinc 3 2
47: aload 2
iload 6
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
end local 6 end local 5 end local 4 48: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_1
if_icmpgt 2
49: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 9
50: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
51: aload 9
areturn
52: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
53: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
54: aload 8
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lsun/nio/cs/UnicodeDecoder;
0 55 1 src Ljava/nio/ByteBuffer;
0 55 2 dst Ljava/nio/CharBuffer;
1 55 3 mark I
3 48 4 b1 I
4 48 5 b2 I
6 15 6 c C
16 48 6 c C
27 39 7 c2 C
Exception table:
from to target type
1 18 52 any
20 24 52 any
26 29 52 any
31 33 52 any
35 40 52 any
42 44 52 any
46 50 52 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"