class sun.nio.cs.ext.GB18030$Encoder extends java.nio.charset.CharsetEncoder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.cs.ext.GB18030$Encoder
super_class: java.nio.charset.CharsetEncoder
{
private int currentState;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final sun.nio.cs.Surrogate$Parser sgp;
descriptor: Lsun/nio/cs/Surrogate$Parser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 12579
ldc Lsun/nio/cs/ext/GB18030;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.nio.cs.ext.GB18030$Encoder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 // sun.nio.cs.ext.GB18030$Encoder this
start local 1 // java.nio.charset.Charset cs
0: .line 12584
aload 0 /* this */
aload 1 /* cs */
ldc 4.0
ldc 4.0
invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
1: .line 12581
aload 0 /* this */
iconst_2
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
2: .line 12591
aload 0 /* this */
new sun.nio.cs.Surrogate$Parser
dup
invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
putfield sun.nio.cs.ext.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
3: .line 12585
return
end local 1 // java.nio.charset.Charset cs
end local 0 // sun.nio.cs.ext.GB18030$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/cs/ext/GB18030$Encoder;
0 4 1 cs Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
cs
public boolean canEncode(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 // sun.nio.cs.ext.GB18030$Encoder this
start local 1 // char c
0: .line 12588
iload 1 /* c */
invokestatic sun.nio.cs.Surrogate.is:(I)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 // char c
end local 0 // sun.nio.cs.ext.GB18030$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/ext/GB18030$Encoder;
0 3 1 c C
MethodParameters:
Name Flags
c
private int getGB18030(short[], java.lang.String[], char);
descriptor: ([S[Ljava/lang/String;C)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 // sun.nio.cs.ext.GB18030$Encoder this
start local 1 // short[] outerIndex
start local 2 // java.lang.String[] innerEncoderIndex
start local 3 // char ch
0: .line 12595
aload 1 /* outerIndex */
iload 3 /* ch */
ldc 65280
iand
bipush 8
ishr
saload
bipush 8
ishl
istore 4 /* offset */
start local 4 // int offset
1: .line 12596
aload 2 /* innerEncoderIndex */
iload 4 /* offset */
bipush 12
ishr
aaload
iload 4 /* offset */
sipush 4095
iand
2: .line 12597
iload 3 /* ch */
sipush 255
iand
iadd
3: .line 12596
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 4 // int offset
end local 3 // char ch
end local 2 // java.lang.String[] innerEncoderIndex
end local 1 // short[] outerIndex
end local 0 // sun.nio.cs.ext.GB18030$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/cs/ext/GB18030$Encoder;
0 4 1 outerIndex [S
0 4 2 innerEncoderIndex [Ljava/lang/String;
0 4 3 ch C
1 4 4 offset I
MethodParameters:
Name Flags
outerIndex
innerEncoderIndex
ch
protected void implReset();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.nio.cs.ext.GB18030$Encoder this
0: .line 12601
aload 0 /* this */
iconst_2
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
1: .line 12602
return
end local 0 // sun.nio.cs.ext.GB18030$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ext/GB18030$Encoder;
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=20, args_size=3
start local 0 // sun.nio.cs.ext.GB18030$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 12607
aload 1 /* src */
invokevirtual java.nio.CharBuffer.array:()[C
astore 3 /* sa */
start local 3 // char[] sa
1: .line 12608
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 12609
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 12610
getstatic sun.nio.cs.ext.GB18030$Encoder.$assertionsDisabled:Z
ifne 4
iload 4 /* sp */
iload 5 /* sl */
if_icmple 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: .line 12611
StackMap locals: char[] int int
StackMap stack:
iload 4 /* sp */
iload 5 /* sl */
if_icmpgt 5
iload 4 /* sp */
goto 6
StackMap locals:
StackMap stack:
5: iload 5 /* sl */
StackMap locals:
StackMap stack: int
6: istore 4 /* sp */
7: .line 12612
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.array:()[B
astore 6 /* da */
start local 6 // byte[] da
8: .line 12613
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
9: .line 12614
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
10: .line 12615
getstatic sun.nio.cs.ext.GB18030$Encoder.$assertionsDisabled:Z
ifne 11
iload 7 /* dp */
iload 8 /* dl */
if_icmple 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: .line 12616
StackMap locals: byte[] int int
StackMap stack:
iload 7 /* dp */
iload 8 /* dl */
if_icmpgt 12
iload 7 /* dp */
goto 13
StackMap locals:
StackMap stack:
12: iload 8 /* dl */
StackMap locals:
StackMap stack: int
13: istore 7 /* dp */
14: .line 12618
iconst_0
istore 9 /* condensedKey */
start local 9 // int condensedKey
15: .line 12619
iconst_0
istore 10 /* hiByte */
start local 10 // int hiByte
16: iconst_0
istore 11 /* loByte */
start local 11 // int loByte
17: .line 12620
aload 0 /* this */
iconst_2
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
18: .line 12623
goto 92
19: .line 12624
StackMap locals: int int int
StackMap stack:
iconst_1
istore 12 /* inputSize */
start local 12 // int inputSize
20: .line 12625
aload 3 /* sa */
iload 4 /* sp */
caload
istore 13 /* c */
start local 13 // char c
21: .line 12627
iload 13 /* c */
invokestatic sun.nio.cs.Surrogate.is:(I)Z
ifeq 31
22: .line 12628
aload 0 /* this */
getfield sun.nio.cs.ext.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
iload 13 /* c */
aload 3 /* sa */
iload 4 /* sp */
iload 5 /* sl */
invokevirtual sun.nio.cs.Surrogate$Parser.parse:(C[CII)I
dup
istore 9 /* condensedKey */
ifge 27
23: .line 12629
aload 0 /* this */
getfield sun.nio.cs.ext.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
astore 19
24: .line 12705
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 12706
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 12629
aload 19
areturn
27: .line 12633
StackMap locals: int int
StackMap stack:
iload 9 /* condensedKey */
ldc 123464
iadd
istore 9 /* condensedKey */
28: .line 12634
aload 0 /* this */
iconst_3
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
29: .line 12635
aload 0 /* this */
getfield sun.nio.cs.ext.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.increment:()I
istore 12 /* inputSize */
30: .line 12636
goto 58
31: .line 12637
StackMap locals:
StackMap stack:
iload 13 /* c */
iflt 34
iload 13 /* c */
bipush 127
if_icmpgt 34
32: .line 12638
aload 0 /* this */
iconst_1
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
33: .line 12639
goto 58
34: .line 12640
StackMap locals:
StackMap stack:
iload 13 /* c */
ldc 42182
if_icmple 35
iload 13 /* c */
ldc 57344
if_icmplt 55
35: .line 12641
StackMap locals:
StackMap stack:
aload 0 /* this */
getstatic sun.nio.cs.ext.GB18030.encoderIndex1:[S
36: .line 12642
getstatic sun.nio.cs.ext.GB18030.encoderIndex2:[Ljava/lang/String;
37: .line 12643
iload 13 /* c */
38: .line 12641
invokevirtual sun.nio.cs.ext.GB18030$Encoder.getGB18030:([S[Ljava/lang/String;C)I
istore 14 /* outByteVal */
start local 14 // int outByteVal
39: .line 12644
iload 14 /* outByteVal */
ldc 65533
if_icmpne 44
40: .line 12645
iconst_1
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 19
41: .line 12705
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
42: .line 12706
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
43: .line 12645
aload 19
areturn
44: .line 12647
StackMap locals: int
StackMap stack:
iload 14 /* outByteVal */
ldc 65280
iand
bipush 8
ishr
istore 10 /* hiByte */
45: .line 12648
iload 14 /* outByteVal */
sipush 255
iand
istore 11 /* loByte */
46: .line 12650
iload 10 /* hiByte */
bipush 32
isub
sipush 256
imul
iload 11 /* loByte */
iadd
istore 9 /* condensedKey */
47: .line 12652
iload 13 /* c */
ldc 57344
if_icmplt 49
iload 13 /* c */
ldc 63744
if_icmpge 49
48: .line 12653
iload 9 /* condensedKey */
ldc 33469
iadd
istore 9 /* condensedKey */
goto 51
49: .line 12654
StackMap locals:
StackMap stack:
iload 13 /* c */
ldc 63744
if_icmplt 51
50: .line 12655
iload 9 /* condensedKey */
ldc 37801
iadd
istore 9 /* condensedKey */
51: .line 12657
StackMap locals:
StackMap stack:
iload 10 /* hiByte */
sipush 128
if_icmple 53
52: .line 12658
aload 0 /* this */
iconst_2
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
goto 58
53: .line 12660
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_3
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
end local 14 // int outByteVal
54: .line 12661
goto 58
55: .line 12662
StackMap locals:
StackMap stack:
iload 13 /* c */
ldc 42183
if_icmplt 58
iload 13 /* c */
ldc 55295
if_icmpgt 58
56: .line 12663
iload 13 /* c */
sipush 21827
isub
istore 9 /* condensedKey */
57: .line 12664
aload 0 /* this */
iconst_3
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
58: .line 12667
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
tableswitch { // 1 - 3
1: 59
2: 66
3: 74
default: 90
}
59: .line 12669
StackMap locals:
StackMap stack:
iload 8 /* dl */
iload 7 /* dp */
isub
iconst_1
if_icmpge 64
60: .line 12670
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 19
61: .line 12705
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
62: .line 12706
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
63: .line 12670
aload 19
areturn
64: .line 12671
StackMap locals:
StackMap stack:
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
iload 13 /* c */
i2b
bastore
65: .line 12672
goto 91
66: .line 12675
StackMap locals:
StackMap stack:
iload 8 /* dl */
iload 7 /* dp */
isub
iconst_2
if_icmpge 71
67: .line 12676
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 19
68: .line 12705
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 12706
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 12676
aload 19
areturn
71: .line 12677
StackMap locals:
StackMap stack:
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
iload 10 /* hiByte */
i2b
bastore
72: .line 12678
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
iload 11 /* loByte */
i2b
bastore
73: .line 12679
goto 91
74: .line 12684
StackMap locals:
StackMap stack:
iload 8 /* dl */
iload 7 /* dp */
isub
iconst_4
if_icmpge 79
75: .line 12685
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 19
76: .line 12705
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
77: .line 12706
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
78: .line 12685
aload 19
areturn
79: .line 12687
StackMap locals:
StackMap stack:
iload 9 /* condensedKey */
bipush 10
irem
bipush 48
iadd
i2b
istore 17 /* b4 */
start local 17 // byte b4
80: .line 12688
iload 9 /* condensedKey */
bipush 10
idiv
istore 9 /* condensedKey */
81: .line 12689
iload 9 /* condensedKey */
bipush 126
irem
sipush 129
iadd
i2b
istore 16 /* b3 */
start local 16 // byte b3
82: .line 12690
iload 9 /* condensedKey */
bipush 126
idiv
istore 9 /* condensedKey */
83: .line 12691
iload 9 /* condensedKey */
bipush 10
irem
bipush 48
iadd
i2b
istore 15 /* b2 */
start local 15 // byte b2
84: .line 12692
iload 9 /* condensedKey */
bipush 10
idiv
sipush 129
iadd
i2b
istore 14 /* b1 */
start local 14 // byte b1
85: .line 12693
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
iload 14 /* b1 */
bastore
86: .line 12694
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
iload 15 /* b2 */
bastore
87: .line 12695
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
iload 16 /* b3 */
bastore
88: .line 12696
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
iload 17 /* b4 */
bastore
89: .line 12697
goto 91
end local 17 // byte b4
end local 16 // byte b3
end local 15 // byte b2
end local 14 // byte b1
90: .line 12699
StackMap locals:
StackMap stack:
getstatic sun.nio.cs.ext.GB18030$Encoder.$assertionsDisabled:Z
ifne 91
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
91: .line 12701
StackMap locals:
StackMap stack:
iload 4 /* sp */
iload 12 /* inputSize */
iadd
istore 4 /* sp */
end local 13 // char c
end local 12 // int inputSize
92: .line 12623
StackMap locals:
StackMap stack:
iload 4 /* sp */
iload 5 /* sl */
if_icmplt 19
93: .line 12703
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 19
94: .line 12705
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
95: .line 12706
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
96: .line 12703
aload 19
areturn
97: .line 12704
StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
98: .line 12705
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
99: .line 12706
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
100: .line 12707
aload 18
athrow
end local 11 // int loByte
end local 10 // int hiByte
end local 9 // int condensedKey
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.GB18030$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 101 0 this Lsun/nio/cs/ext/GB18030$Encoder;
0 101 1 src Ljava/nio/CharBuffer;
0 101 2 dst Ljava/nio/ByteBuffer;
1 101 3 sa [C
2 101 4 sp I
3 101 5 sl I
8 101 6 da [B
9 101 7 dp I
10 101 8 dl I
15 101 9 condensedKey I
16 101 10 hiByte I
17 101 11 loByte I
20 92 12 inputSize I
21 92 13 c C
39 54 14 outByteVal I
85 90 14 b1 B
84 90 15 b2 B
82 90 16 b3 B
80 90 17 b4 B
Exception table:
from to target type
18 24 97 any
27 41 97 any
44 61 97 any
64 68 97 any
71 76 97 any
79 94 97 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=4, locals=15, args_size=3
start local 0 // sun.nio.cs.ext.GB18030$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 12713
iconst_0
istore 3 /* condensedKey */
start local 3 // int condensedKey
1: .line 12714
iconst_0
istore 4 /* hiByte */
start local 4 // int hiByte
2: iconst_0
istore 5 /* loByte */
start local 5 // int loByte
3: .line 12715
aload 0 /* this */
iconst_2
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
4: .line 12716
aload 1 /* src */
invokevirtual java.nio.CharBuffer.position:()I
istore 6 /* mark */
start local 6 // int mark
5: .line 12718
goto 73
6: .line 12719
StackMap locals: sun.nio.cs.ext.GB18030$Encoder java.nio.CharBuffer java.nio.ByteBuffer int int int int
StackMap stack:
aload 1 /* src */
invokevirtual java.nio.CharBuffer.get:()C
istore 7 /* c */
start local 7 // char c
7: .line 12720
iconst_1
istore 8 /* inputSize */
start local 8 // int inputSize
8: .line 12721
iload 7 /* c */
invokestatic sun.nio.cs.Surrogate.is:(I)Z
ifeq 17
9: .line 12722
aload 0 /* this */
getfield sun.nio.cs.ext.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
iload 7 /* c */
aload 1 /* src */
invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
dup
istore 3 /* condensedKey */
ifge 13
10: .line 12723
aload 0 /* this */
getfield sun.nio.cs.ext.GB18030$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
astore 14
11: .line 12789
aload 1 /* src */
iload 6 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
12: .line 12723
aload 14
areturn
13: .line 12724
StackMap locals: int int
StackMap stack:
iload 3 /* condensedKey */
ldc 123464
iadd
istore 3 /* condensedKey */
14: .line 12725
aload 0 /* this */
iconst_3
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
15: .line 12726
iconst_2
istore 8 /* inputSize */
16: .line 12727
goto 43
17: .line 12728
StackMap locals:
StackMap stack:
iload 7 /* c */
iflt 20
iload 7 /* c */
bipush 127
if_icmpgt 20
18: .line 12729
aload 0 /* this */
iconst_1
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
19: .line 12730
goto 43
20: .line 12731
StackMap locals:
StackMap stack:
iload 7 /* c */
ldc 42182
if_icmple 21
iload 7 /* c */
ldc 57344
if_icmplt 40
21: .line 12732
StackMap locals:
StackMap stack:
aload 0 /* this */
getstatic sun.nio.cs.ext.GB18030.encoderIndex1:[S
22: .line 12733
getstatic sun.nio.cs.ext.GB18030.encoderIndex2:[Ljava/lang/String;
23: .line 12734
iload 7 /* c */
24: .line 12732
invokevirtual sun.nio.cs.ext.GB18030$Encoder.getGB18030:([S[Ljava/lang/String;C)I
istore 9 /* outByteVal */
start local 9 // int outByteVal
25: .line 12735
iload 9 /* outByteVal */
ldc 65533
if_icmpne 29
26: .line 12736
iconst_1
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 14
27: .line 12789
aload 1 /* src */
iload 6 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
28: .line 12736
aload 14
areturn
29: .line 12738
StackMap locals: int
StackMap stack:
iload 9 /* outByteVal */
ldc 65280
iand
bipush 8
ishr
istore 4 /* hiByte */
30: .line 12739
iload 9 /* outByteVal */
sipush 255
iand
istore 5 /* loByte */
31: .line 12741
iload 4 /* hiByte */
bipush 32
isub
sipush 256
imul
iload 5 /* loByte */
iadd
istore 3 /* condensedKey */
32: .line 12743
iload 7 /* c */
ldc 57344
if_icmplt 34
iload 7 /* c */
ldc 63744
if_icmpge 34
33: .line 12744
iload 3 /* condensedKey */
ldc 33469
iadd
istore 3 /* condensedKey */
goto 36
34: .line 12745
StackMap locals:
StackMap stack:
iload 7 /* c */
ldc 63744
if_icmplt 36
35: .line 12746
iload 3 /* condensedKey */
ldc 37801
iadd
istore 3 /* condensedKey */
36: .line 12748
StackMap locals:
StackMap stack:
iload 4 /* hiByte */
sipush 128
if_icmple 38
37: .line 12749
aload 0 /* this */
iconst_2
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
goto 43
38: .line 12751
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_3
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
end local 9 // int outByteVal
39: .line 12752
goto 43
40: .line 12753
StackMap locals:
StackMap stack:
iload 7 /* c */
ldc 42183
if_icmplt 43
iload 7 /* c */
ldc 55295
if_icmpgt 43
41: .line 12754
iload 7 /* c */
sipush 21827
isub
istore 3 /* condensedKey */
42: .line 12755
aload 0 /* this */
iconst_3
putfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
43: .line 12758
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
iconst_1
if_icmpne 50
44: .line 12759
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_1
if_icmpge 48
45: .line 12760
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 14
46: .line 12789
aload 1 /* src */
iload 6 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
47: .line 12760
aload 14
areturn
48: .line 12761
StackMap locals:
StackMap stack:
aload 2 /* dst */
iload 7 /* c */
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
49: .line 12762
goto 72
StackMap locals:
StackMap stack:
50: aload 0 /* this */
getfield sun.nio.cs.ext.GB18030$Encoder.currentState:I
iconst_2
if_icmpne 58
51: .line 12763
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_2
if_icmpge 55
52: .line 12764
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 14
53: .line 12789
aload 1 /* src */
iload 6 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
54: .line 12764
aload 14
areturn
55: .line 12765
StackMap locals:
StackMap stack:
aload 2 /* dst */
iload 4 /* hiByte */
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
56: .line 12766
aload 2 /* dst */
iload 5 /* loByte */
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
57: .line 12767
goto 72
58: .line 12771
StackMap locals:
StackMap stack:
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_4
if_icmpge 62
59: .line 12772
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 14
60: .line 12789
aload 1 /* src */
iload 6 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
61: .line 12772
aload 14
areturn
62: .line 12774
StackMap locals:
StackMap stack:
iload 3 /* condensedKey */
bipush 10
irem
bipush 48
iadd
i2b
istore 12 /* b4 */
start local 12 // byte b4
63: .line 12775
iload 3 /* condensedKey */
bipush 10
idiv
istore 3 /* condensedKey */
64: .line 12776
iload 3 /* condensedKey */
bipush 126
irem
sipush 129
iadd
i2b
istore 11 /* b3 */
start local 11 // byte b3
65: .line 12777
iload 3 /* condensedKey */
bipush 126
idiv
istore 3 /* condensedKey */
66: .line 12778
iload 3 /* condensedKey */
bipush 10
irem
bipush 48
iadd
i2b
istore 10 /* b2 */
start local 10 // byte b2
67: .line 12779
iload 3 /* condensedKey */
bipush 10
idiv
sipush 129
iadd
i2b
istore 9 /* b1 */
start local 9 // byte b1
68: .line 12780
aload 2 /* dst */
iload 9 /* b1 */
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
69: .line 12781
aload 2 /* dst */
iload 10 /* b2 */
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
70: .line 12782
aload 2 /* dst */
iload 11 /* b3 */
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
71: .line 12783
aload 2 /* dst */
iload 12 /* b4 */
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
end local 12 // byte b4
end local 11 // byte b3
end local 10 // byte b2
end local 9 // byte b1
72: .line 12785
StackMap locals:
StackMap stack:
iload 6 /* mark */
iload 8 /* inputSize */
iadd
istore 6 /* mark */
end local 8 // int inputSize
end local 7 // char c
73: .line 12718
StackMap locals:
StackMap stack:
aload 1 /* src */
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 6
74: .line 12787
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 14
75: .line 12789
aload 1 /* src */
iload 6 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
76: .line 12787
aload 14
areturn
77: .line 12788
StackMap locals:
StackMap stack: java.lang.Throwable
astore 13
78: .line 12789
aload 1 /* src */
iload 6 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
79: .line 12790
aload 13
athrow
end local 6 // int mark
end local 5 // int loByte
end local 4 // int hiByte
end local 3 // int condensedKey
end local 2 // java.nio.ByteBuffer dst
end local 1 // java.nio.CharBuffer src
end local 0 // sun.nio.cs.ext.GB18030$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 80 0 this Lsun/nio/cs/ext/GB18030$Encoder;
0 80 1 src Ljava/nio/CharBuffer;
0 80 2 dst Ljava/nio/ByteBuffer;
1 80 3 condensedKey I
2 80 4 hiByte I
3 80 5 loByte I
5 80 6 mark I
7 73 7 c C
8 73 8 inputSize I
25 39 9 outByteVal I
68 72 9 b1 B
67 72 10 b2 B
65 72 11 b3 B
63 72 12 b4 B
Exception table:
from to target type
5 11 77 any
13 27 77 any
29 46 77 any
48 53 77 any
55 60 77 any
62 75 77 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.GB18030$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 12795
aload 1 /* src */
invokevirtual java.nio.CharBuffer.hasArray:()Z
ifeq 2
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 2
1: .line 12796
aload 0 /* this */
aload 1 /* src */
aload 2 /* dst */
invokevirtual sun.nio.cs.ext.GB18030$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
areturn
2: .line 12798
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* src */
aload 2 /* dst */
invokevirtual sun.nio.cs.ext.GB18030$Encoder.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.GB18030$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/ext/GB18030$Encoder;
0 3 1 src Ljava/nio/CharBuffer;
0 3 2 dst Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
src
dst
}
SourceFile: "GB18030.java"
NestHost: sun.nio.cs.ext.GB18030
InnerClasses:
public Parser = sun.nio.cs.Surrogate$Parser of sun.nio.cs.Surrogate
private Encoder = sun.nio.cs.ext.GB18030$Encoder of sun.nio.cs.ext.GB18030