public class sun.nio.cs.EUC_TW$Encoder extends java.nio.charset.CharsetEncoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.nio.cs.EUC_TW$Encoder
super_class: java.nio.charset.CharsetEncoder
{
private byte[] bb;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
static final char[] c2b;
descriptor: [C
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final char[] c2bIndex;
descriptor: [C
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final char[] c2bSupp;
descriptor: [C
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final char[] c2bSuppIndex;
descriptor: [C
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final byte[] c2bPlane;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=17, args_size=0
0: .line 503
sipush 161
istore 0 /* b1Min */
start local 0 // int b1Min
1: .line 504
sipush 254
istore 1 /* b1Max */
start local 1 // int b1Max
2: .line 505
sipush 161
istore 2 /* b2Min */
start local 2 // int b2Min
3: .line 506
sipush 254
istore 3 /* b2Max */
start local 3 // int b2Max
4: .line 508
getstatic sun.nio.cs.EUC_TW$Decoder.b2c:[Ljava/lang/String;
astore 4 /* b2c */
start local 4 // java.lang.String[] b2c
5: .line 509
getstatic sun.nio.cs.EUC_TW$Decoder.b2cIsSupp:[B
astore 5 /* b2cIsSupp */
start local 5 // byte[] b2cIsSupp
6: .line 511
getstatic sun.nio.cs.EUC_TWMapping.c2bIndex:[C
putstatic sun.nio.cs.EUC_TW$Encoder.c2bIndex:[C
7: .line 512
getstatic sun.nio.cs.EUC_TWMapping.c2bSuppIndex:[C
putstatic sun.nio.cs.EUC_TW$Encoder.c2bSuppIndex:[C
8: .line 513
sipush 31744
newarray 5
astore 6 /* c2b0 */
start local 6 // char[] c2b0
9: .line 514
ldc 43520
newarray 5
astore 7 /* c2bSupp0 */
start local 7 // char[] c2bSupp0
10: .line 515
sipush 31744
11: .line 516
ldc 43520
12: .line 515
invokestatic java.lang.Math.max:(II)I
newarray 8
astore 8 /* c2bPlane0 */
start local 8 // byte[] c2bPlane0
13: .line 518
aload 6 /* c2b0 */
ldc 65533
invokestatic java.util.Arrays.fill:([CC)V
14: .line 519
aload 7 /* c2bSupp0 */
ldc 65533
invokestatic java.util.Arrays.fill:([CC)V
15: .line 521
iconst_0
istore 9 /* p */
start local 9 // int p
16: goto 44
17: .line 522
StackMap locals: int int int int java.lang.String[] byte[] char[] char[] byte[] int
StackMap stack:
aload 4 /* b2c */
iload 9 /* p */
aaload
astore 10 /* db */
start local 10 // java.lang.String db
18: .line 529
iload 9 /* p */
istore 11 /* plane */
start local 11 // int plane
19: .line 530
iload 11 /* plane */
bipush 7
if_icmpne 21
20: .line 531
bipush 15
istore 11 /* plane */
goto 23
21: .line 532
StackMap locals: java.lang.String int
StackMap stack:
iload 11 /* plane */
ifeq 23
22: .line 533
iload 9 /* p */
iconst_1
iadd
istore 11 /* plane */
23: .line 535
StackMap locals:
StackMap stack:
iconst_0
istore 12 /* off */
start local 12 // int off
24: .line 536
iload 0 /* b1Min */
istore 13 /* b1 */
start local 13 // int b1
25: goto 42
26: .line 537
StackMap locals: int int
StackMap stack:
iload 2 /* b2Min */
istore 14 /* b2 */
start local 14 // int b2
27: goto 40
28: .line 538
StackMap locals: int
StackMap stack:
aload 10 /* db */
iload 12 /* off */
invokevirtual java.lang.String.charAt:(I)C
istore 15 /* c */
start local 15 // char c
29: .line 539
iload 15 /* c */
ldc 65533
if_icmpeq 38
30: .line 540
aload 5 /* b2cIsSupp */
iload 12 /* off */
baload
iconst_1
iload 9 /* p */
ishl
iand
ifeq 35
31: .line 541
getstatic sun.nio.cs.EUC_TW$Encoder.c2bSuppIndex:[C
iload 15 /* c */
bipush 8
ishr
caload
iload 15 /* c */
sipush 255
iand
iadd
istore 16 /* index */
start local 16 // int index
32: .line 542
aload 7 /* c2bSupp0 */
iload 16 /* index */
iload 13 /* b1 */
bipush 8
ishl
iload 14 /* b2 */
iadd
i2c
castore
33: .line 543
aload 8 /* c2bPlane0 */
iload 16 /* index */
dup2
baload
iload 11 /* plane */
iconst_4
ishl
i2b
ior
i2b
bastore
end local 16 // int index
34: .line 544
goto 38
35: .line 545
StackMap locals: int
StackMap stack:
getstatic sun.nio.cs.EUC_TW$Encoder.c2bIndex:[C
iload 15 /* c */
bipush 8
ishr
caload
iload 15 /* c */
sipush 255
iand
iadd
istore 16 /* index */
start local 16 // int index
36: .line 546
aload 6 /* c2b0 */
iload 16 /* index */
iload 13 /* b1 */
bipush 8
ishl
iload 14 /* b2 */
iadd
i2c
castore
37: .line 547
aload 8 /* c2bPlane0 */
iload 16 /* index */
dup2
baload
iload 11 /* plane */
i2b
ior
i2b
bastore
end local 16 // int index
38: .line 550
StackMap locals:
StackMap stack:
iinc 12 /* off */ 1
end local 15 // char c
39: .line 537
iinc 14 /* b2 */ 1
StackMap locals:
StackMap stack:
40: iload 14 /* b2 */
iload 3 /* b2Max */
if_icmple 28
end local 14 // int b2
41: .line 536
iinc 13 /* b1 */ 1
StackMap locals:
StackMap stack:
42: iload 13 /* b1 */
iload 1 /* b1Max */
if_icmple 26
end local 13 // int b1
end local 12 // int off
end local 11 // int plane
end local 10 // java.lang.String db
43: .line 521
iinc 9 /* p */ 1
StackMap locals: int int int int java.lang.String[] byte[] char[] char[] byte[] int
StackMap stack:
44: iload 9 /* p */
aload 4 /* b2c */
arraylength
if_icmplt 17
end local 9 // int p
45: .line 554
aload 6 /* c2b0 */
putstatic sun.nio.cs.EUC_TW$Encoder.c2b:[C
46: .line 555
aload 7 /* c2bSupp0 */
putstatic sun.nio.cs.EUC_TW$Encoder.c2bSupp:[C
47: .line 556
aload 8 /* c2bPlane0 */
putstatic sun.nio.cs.EUC_TW$Encoder.c2bPlane:[B
end local 8 // byte[] c2bPlane0
end local 7 // char[] c2bSupp0
end local 6 // char[] c2b0
end local 5 // byte[] b2cIsSupp
end local 4 // java.lang.String[] b2c
end local 3 // int b2Max
end local 2 // int b2Min
end local 1 // int b1Max
end local 0 // int b1Min
48: .line 557
return
LocalVariableTable:
Start End Slot Name Signature
1 48 0 b1Min I
2 48 1 b1Max I
3 48 2 b2Min I
4 48 3 b2Max I
5 48 4 b2c [Ljava/lang/String;
6 48 5 b2cIsSupp [B
9 48 6 c2b0 [C
10 48 7 c2bSupp0 [C
13 48 8 c2bPlane0 [B
16 45 9 p I
18 43 10 db Ljava/lang/String;
19 43 11 plane I
24 43 12 off I
25 43 13 b1 I
27 41 14 b2 I
29 39 15 c C
32 34 16 index I
36 38 16 index I
public void <init>(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // sun.nio.cs.EUC_TW$Encoder this
start local 1 // java.nio.charset.Charset cs
0: .line 314
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 311
aload 0 /* this */
iconst_4
newarray 8
putfield sun.nio.cs.EUC_TW$Encoder.bb:[B
2: .line 315
return
end local 1 // java.nio.charset.Charset cs
end local 0 // sun.nio.cs.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/EUC_TW$Encoder;
0 3 1 cs Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
cs
public boolean canEncode(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // sun.nio.cs.EUC_TW$Encoder this
start local 1 // char c
0: .line 318
iload 1 /* c */
bipush 127
if_icmple 1
aload 0 /* this */
iload 1 /* c */
aload 0 /* this */
getfield sun.nio.cs.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.EUC_TW$Encoder.toEUC:(C[B)I
iconst_m1
if_icmpne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 // char c
end local 0 // sun.nio.cs.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/EUC_TW$Encoder;
0 2 1 c C
MethodParameters:
Name Flags
c
public boolean canEncode(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 // sun.nio.cs.EUC_TW$Encoder this
start local 1 // java.lang.CharSequence cs
0: .line 322
iconst_0
istore 2 /* i */
start local 2 // int i
1: .line 323
goto 11
2: .line 324
StackMap locals: int
StackMap stack:
aload 1 /* cs */
iload 2 /* i */
iinc 2 /* i */ 1
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 3 /* c */
start local 3 // char c
3: .line 325
iload 3 /* c */
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 9
4: .line 326
iload 2 /* i */
aload 1 /* cs */
invokeinterface java.lang.CharSequence.length:()I
if_icmpne 6
5: .line 327
iconst_0
ireturn
6: .line 328
StackMap locals: int
StackMap stack:
aload 1 /* cs */
iload 2 /* i */
iinc 2 /* i */ 1
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 4 /* low */
start local 4 // char low
7: .line 329
iload 4 /* low */
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 8
aload 0 /* this */
iload 3 /* c */
iload 4 /* low */
aload 0 /* this */
getfield sun.nio.cs.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.EUC_TW$Encoder.toEUC:(CC[B)I
iconst_m1
if_icmpne 11
8: .line 330
StackMap locals: int
StackMap stack:
iconst_0
ireturn
end local 4 // char low
9: .line 331
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 3 /* c */
invokevirtual sun.nio.cs.EUC_TW$Encoder.canEncode:(C)Z
ifne 11
10: .line 332
iconst_0
ireturn
end local 3 // char c
11: .line 323
StackMap locals:
StackMap stack:
iload 2 /* i */
aload 1 /* cs */
invokeinterface java.lang.CharSequence.length:()I
if_icmplt 2
12: .line 335
iconst_1
ireturn
end local 2 // int i
end local 1 // java.lang.CharSequence cs
end local 0 // sun.nio.cs.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/nio/cs/EUC_TW$Encoder;
0 13 1 cs Ljava/lang/CharSequence;
1 13 2 i I
3 11 3 c C
7 9 4 low C
MethodParameters:
Name Flags
cs
public int toEUC(char, char, byte[]);
descriptor: (CC[B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 // sun.nio.cs.EUC_TW$Encoder this
start local 1 // char hi
start local 2 // char low
start local 3 // byte[] bb
0: .line 339
iload 1 /* hi */
iload 2 /* low */
aload 3 /* bb */
invokestatic sun.nio.cs.EUC_TW$Encoder.encode:(CC[B)I
ireturn
end local 3 // byte[] bb
end local 2 // char low
end local 1 // char hi
end local 0 // sun.nio.cs.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/cs/EUC_TW$Encoder;
0 1 1 hi C
0 1 2 low C
0 1 3 bb [B
MethodParameters:
Name Flags
hi
low
bb
public int toEUC(char, byte[]);
descriptor: (C[B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 // sun.nio.cs.EUC_TW$Encoder this
start local 1 // char c
start local 2 // byte[] bb
0: .line 343
iload 1 /* c */
aload 2 /* bb */
invokestatic sun.nio.cs.EUC_TW$Encoder.encode:(C[B)I
ireturn
end local 2 // byte[] bb
end local 1 // char c
end local 0 // sun.nio.cs.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/cs/EUC_TW$Encoder;
0 1 1 c C
0 1 2 bb [B
MethodParameters:
Name Flags
c
bb
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=15, args_size=3
start local 0 // sun.nio.cs.EUC_TW$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 349
aload 1 /* src */
invokevirtual java.nio.CharBuffer.array:()[C
astore 3 /* sa */
start local 3 // char[] sa
1: .line 350
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 351
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 353
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.array:()[B
astore 6 /* da */
start local 6 // byte[] da
4: .line 354
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
5: .line 355
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
6: .line 361
goto 50
7: .line 362
StackMap locals: sun.nio.cs.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int
StackMap stack:
aload 3 /* sa */
iload 4 /* sp */
caload
istore 11 /* c */
start local 11 // char c
8: .line 363
iconst_1
istore 9 /* inSize */
start local 9 // int inSize
9: .line 364
iload 11 /* c */
sipush 128
if_icmpge 13
10: .line 365
aload 0 /* this */
getfield sun.nio.cs.EUC_TW$Encoder.bb:[B
iconst_0
iload 11 /* c */
i2b
bastore
11: .line 366
iconst_1
istore 10 /* outSize */
start local 10 // int outSize
12: .line 367
goto 34
end local 10 // int outSize
13: .line 368
StackMap locals: sun.nio.cs.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int int top int
StackMap stack:
aload 0 /* this */
iload 11 /* c */
aload 0 /* this */
getfield sun.nio.cs.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.EUC_TW$Encoder.toEUC:(C[B)I
istore 10 /* outSize */
start local 10 // int outSize
14: .line 369
iload 10 /* outSize */
iconst_m1
if_icmpne 34
15: .line 376
iload 11 /* c */
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 29
16: .line 377
iload 4 /* sp */
iconst_1
iadd
iload 5 /* sl */
if_icmpne 21
17: .line 378
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 14
18: .line 398
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
19: .line 399
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
20: .line 378
aload 14
areturn
21: .line 379
StackMap locals: sun.nio.cs.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int int int int
StackMap stack:
aload 3 /* sa */
iload 4 /* sp */
iconst_1
iadd
caload
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifne 26
22: .line 380
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
astore 14
23: .line 398
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
24: .line 399
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
25: .line 380
aload 14
areturn
26: .line 381
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 11 /* c */
aload 3 /* sa */
iload 4 /* sp */
iconst_1
iadd
caload
aload 0 /* this */
getfield sun.nio.cs.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.EUC_TW$Encoder.toEUC:(CC[B)I
istore 10 /* outSize */
27: .line 382
iconst_2
istore 9 /* inSize */
28: .line 383
goto 34
StackMap locals:
StackMap stack:
29: iload 11 /* c */
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 34
30: .line 384
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
astore 14
31: .line 398
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
32: .line 399
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
33: .line 384
aload 14
areturn
34: .line 388
StackMap locals:
StackMap stack:
iload 10 /* outSize */
iconst_m1
if_icmpne 39
35: .line 389
iload 9 /* inSize */
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 14
36: .line 398
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
37: .line 399
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
38: .line 389
aload 14
areturn
39: .line 390
StackMap locals:
StackMap stack:
iload 8 /* dl */
iload 7 /* dp */
isub
iload 10 /* outSize */
if_icmpge 44
40: .line 391
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 14
41: .line 398
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
42: .line 399
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
43: .line 391
aload 14
areturn
44: .line 392
StackMap locals:
StackMap stack:
iconst_0
istore 12 /* i */
start local 12 // int i
45: goto 48
46: .line 393
StackMap locals: int
StackMap stack:
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
aload 0 /* this */
getfield sun.nio.cs.EUC_TW$Encoder.bb:[B
iload 12 /* i */
baload
bastore
47: .line 392
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
48: iload 12 /* i */
iload 10 /* outSize */
if_icmplt 46
end local 12 // int i
49: .line 394
iload 4 /* sp */
iload 9 /* inSize */
iadd
istore 4 /* sp */
end local 11 // char c
end local 10 // int outSize
end local 9 // int inSize
50: .line 361
StackMap locals: sun.nio.cs.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int
StackMap stack:
iload 4 /* sp */
iload 5 /* sl */
if_icmplt 7
51: .line 396
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 14
52: .line 398
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
53: .line 399
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
54: .line 396
aload 14
areturn
55: .line 397
StackMap locals:
StackMap stack: java.lang.Throwable
astore 13
56: .line 398
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
57: .line 399
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
58: .line 400
aload 13
athrow
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.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 59 0 this Lsun/nio/cs/EUC_TW$Encoder;
0 59 1 src Ljava/nio/CharBuffer;
0 59 2 dst Ljava/nio/ByteBuffer;
1 59 3 sa [C
2 59 4 sp I
3 59 5 sl I
4 59 6 da [B
5 59 7 dp I
6 59 8 dl I
9 50 9 inSize I
12 13 10 outSize I
14 50 10 outSize I
8 50 11 c C
45 49 12 i I
Exception table:
from to target type
6 18 55 any
21 23 55 any
26 31 55 any
34 36 55 any
39 41 55 any
44 52 55 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=10, args_size=3
start local 0 // sun.nio.cs.EUC_TW$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 408
aload 1 /* src */
invokevirtual java.nio.CharBuffer.position:()I
istore 5 /* mark */
start local 5 // int mark
1: .line 411
goto 41
2: .line 412
StackMap locals: sun.nio.cs.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer top top int
StackMap stack:
iconst_1
istore 4 /* inSize */
start local 4 // int inSize
3: .line 413
aload 1 /* src */
invokevirtual java.nio.CharBuffer.get:()C
istore 6 /* c */
start local 6 // char c
4: .line 414
iload 6 /* c */
sipush 128
if_icmpge 8
5: .line 415
iconst_1
istore 3 /* outSize */
start local 3 // int outSize
6: .line 416
aload 0 /* this */
getfield sun.nio.cs.EUC_TW$Encoder.bb:[B
iconst_0
iload 6 /* c */
i2b
bastore
7: .line 417
goto 27
end local 3 // int outSize
8: .line 418
StackMap locals: sun.nio.cs.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer top int int int
StackMap stack:
aload 0 /* this */
iload 6 /* c */
aload 0 /* this */
getfield sun.nio.cs.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.EUC_TW$Encoder.toEUC:(C[B)I
istore 3 /* outSize */
start local 3 // int outSize
9: .line 419
iload 3 /* outSize */
iconst_m1
if_icmpne 27
10: .line 420
iload 6 /* c */
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 23
11: .line 421
aload 1 /* src */
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 15
12: .line 422
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 9
13: .line 443
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
14: .line 422
aload 9
areturn
15: .line 423
StackMap locals: sun.nio.cs.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer int int int int
StackMap stack:
aload 1 /* src */
invokevirtual java.nio.CharBuffer.get:()C
istore 7 /* c2 */
start local 7 // char c2
16: .line 424
iload 7 /* c2 */
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifne 20
17: .line 425
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
astore 9
18: .line 443
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
19: .line 425
aload 9
areturn
20: .line 426
StackMap locals: int
StackMap stack:
aload 0 /* this */
iload 6 /* c */
iload 7 /* c2 */
aload 0 /* this */
getfield sun.nio.cs.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.EUC_TW$Encoder.toEUC:(CC[B)I
istore 3 /* outSize */
21: .line 427
iconst_2
istore 4 /* inSize */
end local 7 // char c2
22: .line 428
goto 27
StackMap locals:
StackMap stack:
23: iload 6 /* c */
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 27
24: .line 429
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
astore 9
25: .line 443
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
26: .line 429
aload 9
areturn
27: .line 433
StackMap locals:
StackMap stack:
iload 3 /* outSize */
iconst_m1
if_icmpne 31
28: .line 434
iload 4 /* inSize */
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 9
29: .line 443
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
30: .line 434
aload 9
areturn
31: .line 435
StackMap locals:
StackMap stack:
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 3 /* outSize */
if_icmpge 35
32: .line 436
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 9
33: .line 443
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
34: .line 436
aload 9
areturn
35: .line 437
StackMap locals:
StackMap stack:
iconst_0
istore 7 /* i */
start local 7 // int i
36: goto 39
37: .line 438
StackMap locals: int
StackMap stack:
aload 2 /* dst */
aload 0 /* this */
getfield sun.nio.cs.EUC_TW$Encoder.bb:[B
iload 7 /* i */
baload
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
38: .line 437
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
39: iload 7 /* i */
iload 3 /* outSize */
if_icmplt 37
end local 7 // int i
40: .line 439
iload 5 /* mark */
iload 4 /* inSize */
iadd
istore 5 /* mark */
end local 6 // char c
end local 4 // int inSize
end local 3 // int outSize
41: .line 411
StackMap locals: sun.nio.cs.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer top top int
StackMap stack:
aload 1 /* src */
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 2
42: .line 441
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 9
43: .line 443
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
44: .line 441
aload 9
areturn
45: .line 442
StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
46: .line 443
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
47: .line 444
aload 8
athrow
end local 5 // int mark
end local 2 // java.nio.ByteBuffer dst
end local 1 // java.nio.CharBuffer src
end local 0 // sun.nio.cs.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lsun/nio/cs/EUC_TW$Encoder;
0 48 1 src Ljava/nio/CharBuffer;
0 48 2 dst Ljava/nio/ByteBuffer;
6 8 3 outSize I
9 41 3 outSize I
3 41 4 inSize I
1 48 5 mark I
4 41 6 c C
16 22 7 c2 C
36 40 7 i I
Exception table:
from to target type
1 13 45 any
15 18 45 any
20 25 45 any
27 29 45 any
31 33 45 any
35 43 45 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.EUC_TW$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 449
aload 1 /* src */
invokevirtual java.nio.CharBuffer.hasArray:()Z
ifeq 2
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 2
1: .line 450
aload 0 /* this */
aload 1 /* src */
aload 2 /* dst */
invokevirtual sun.nio.cs.EUC_TW$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
areturn
2: .line 452
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* src */
aload 2 /* dst */
invokevirtual sun.nio.cs.EUC_TW$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.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/EUC_TW$Encoder;
0 3 1 src Ljava/nio/CharBuffer;
0 3 2 dst Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
src
dst
static int encode(char, char, byte[]);
descriptor: (CC[B)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 // char hi
start local 1 // char low
start local 2 // byte[] bb
0: .line 456
iload 0 /* hi */
iload 1 /* low */
invokestatic java.lang.Character.toCodePoint:(CC)I
istore 3 /* c */
start local 3 // int c
1: .line 457
iload 3 /* c */
ldc 983040
iand
ldc 131072
if_icmpeq 3
2: .line 458
iconst_m1
ireturn
3: .line 459
StackMap locals: int
StackMap stack:
iload 3 /* c */
ldc 131072
isub
istore 3 /* c */
4: .line 460
getstatic sun.nio.cs.EUC_TW$Encoder.c2bSuppIndex:[C
iload 3 /* c */
bipush 8
ishr
caload
istore 4 /* index */
start local 4 // int index
5: .line 461
iload 4 /* index */
ldc 65533
if_icmpne 7
6: .line 462
iconst_m1
ireturn
7: .line 463
StackMap locals: int
StackMap stack:
iload 4 /* index */
iload 3 /* c */
sipush 255
iand
iadd
istore 4 /* index */
8: .line 464
getstatic sun.nio.cs.EUC_TW$Encoder.c2bSupp:[C
iload 4 /* index */
caload
istore 5 /* db */
start local 5 // int db
9: .line 465
iload 5 /* db */
ldc 65533
if_icmpne 11
10: .line 466
iconst_m1
ireturn
11: .line 467
StackMap locals: int
StackMap stack:
getstatic sun.nio.cs.EUC_TW$Encoder.c2bPlane:[B
iload 4 /* index */
baload
iconst_4
ishr
bipush 15
iand
istore 6 /* p */
start local 6 // int p
12: .line 468
aload 2 /* bb */
iconst_0
bipush -114
bastore
13: .line 469
aload 2 /* bb */
iconst_1
sipush 160
iload 6 /* p */
ior
i2b
bastore
14: .line 470
aload 2 /* bb */
iconst_2
iload 5 /* db */
bipush 8
ishr
i2b
bastore
15: .line 471
aload 2 /* bb */
iconst_3
iload 5 /* db */
i2b
bastore
16: .line 472
iconst_4
ireturn
end local 6 // int p
end local 5 // int db
end local 4 // int index
end local 3 // int c
end local 2 // byte[] bb
end local 1 // char low
end local 0 // char hi
LocalVariableTable:
Start End Slot Name Signature
0 17 0 hi C
0 17 1 low C
0 17 2 bb [B
1 17 3 c I
5 17 4 index I
9 17 5 db I
12 17 6 p I
MethodParameters:
Name Flags
hi
low
bb
static int encode(char, byte[]);
descriptor: (C[B)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 // char c
start local 1 // byte[] bb
0: .line 476
getstatic sun.nio.cs.EUC_TW$Encoder.c2bIndex:[C
iload 0 /* c */
bipush 8
ishr
caload
istore 2 /* index */
start local 2 // int index
1: .line 477
iload 2 /* index */
ldc 65533
if_icmpne 3
2: .line 478
iconst_m1
ireturn
3: .line 479
StackMap locals: int
StackMap stack:
iload 2 /* index */
iload 0 /* c */
sipush 255
iand
iadd
istore 2 /* index */
4: .line 480
getstatic sun.nio.cs.EUC_TW$Encoder.c2b:[C
iload 2 /* index */
caload
istore 3 /* db */
start local 3 // int db
5: .line 481
iload 3 /* db */
ldc 65533
if_icmpne 7
6: .line 482
iconst_m1
ireturn
7: .line 483
StackMap locals: int
StackMap stack:
getstatic sun.nio.cs.EUC_TW$Encoder.c2bPlane:[B
iload 2 /* index */
baload
bipush 15
iand
istore 4 /* p */
start local 4 // int p
8: .line 484
iload 4 /* p */
ifne 12
9: .line 485
aload 1 /* bb */
iconst_0
iload 3 /* db */
bipush 8
ishr
i2b
bastore
10: .line 486
aload 1 /* bb */
iconst_1
iload 3 /* db */
i2b
bastore
11: .line 487
iconst_2
ireturn
12: .line 489
StackMap locals: int
StackMap stack:
aload 1 /* bb */
iconst_0
bipush -114
bastore
13: .line 490
aload 1 /* bb */
iconst_1
sipush 160
iload 4 /* p */
ior
i2b
bastore
14: .line 491
aload 1 /* bb */
iconst_2
iload 3 /* db */
bipush 8
ishr
i2b
bastore
15: .line 492
aload 1 /* bb */
iconst_3
iload 3 /* db */
i2b
bastore
16: .line 493
iconst_4
ireturn
end local 4 // int p
end local 3 // int db
end local 2 // int index
end local 1 // byte[] bb
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 17 0 c C
0 17 1 bb [B
1 17 2 index I
5 17 3 db I
8 17 4 p I
MethodParameters:
Name Flags
c
bb
}
SourceFile: "EUC_TW.java"
NestHost: sun.nio.cs.EUC_TW
InnerClasses:
public Decoder = sun.nio.cs.EUC_TW$Decoder of sun.nio.cs.EUC_TW
public Encoder = sun.nio.cs.EUC_TW$Encoder of sun.nio.cs.EUC_TW