public class sun.nio.cs.ext.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.ext.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 490
sipush 161
istore 0 /* b1Min */
start local 0 // int b1Min
1: .line 491
sipush 254
istore 1 /* b1Max */
start local 1 // int b1Max
2: .line 492
sipush 161
istore 2 /* b2Min */
start local 2 // int b2Min
3: .line 493
sipush 254
istore 3 /* b2Max */
start local 3 // int b2Max
4: .line 495
getstatic sun.nio.cs.ext.EUC_TW$Decoder.b2c:[Ljava/lang/String;
astore 4 /* b2c */
start local 4 // java.lang.String[] b2c
5: .line 496
getstatic sun.nio.cs.ext.EUC_TW$Decoder.b2cIsSupp:[B
astore 5 /* b2cIsSupp */
start local 5 // byte[] b2cIsSupp
6: .line 498
getstatic sun.nio.cs.ext.EUC_TWMapping.c2bIndex:[C
putstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bIndex:[C
7: .line 499
getstatic sun.nio.cs.ext.EUC_TWMapping.c2bSuppIndex:[C
putstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bSuppIndex:[C
8: .line 500
sipush 31744
newarray 5
astore 6 /* c2b0 */
start local 6 // char[] c2b0
9: .line 501
ldc 43520
newarray 5
astore 7 /* c2bSupp0 */
start local 7 // char[] c2bSupp0
10: .line 502
sipush 31744
11: .line 503
ldc 43520
12: .line 502
invokestatic java.lang.Math.max:(II)I
newarray 8
astore 8 /* c2bPlane0 */
start local 8 // byte[] c2bPlane0
13: .line 505
aload 6 /* c2b0 */
ldc 65533
invokestatic java.util.Arrays.fill:([CC)V
14: .line 506
aload 7 /* c2bSupp0 */
ldc 65533
invokestatic java.util.Arrays.fill:([CC)V
15: .line 508
iconst_0
istore 9 /* p */
start local 9 // int p
16: goto 44
17: .line 509
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 516
iload 9 /* p */
istore 11 /* plane */
start local 11 // int plane
19: .line 517
iload 11 /* plane */
bipush 7
if_icmpne 21
20: .line 518
bipush 15
istore 11 /* plane */
goto 23
21: .line 519
StackMap locals: java.lang.String int
StackMap stack:
iload 11 /* plane */
ifeq 23
22: .line 520
iload 9 /* p */
iconst_1
iadd
istore 11 /* plane */
23: .line 522
StackMap locals:
StackMap stack:
iconst_0
istore 12 /* off */
start local 12 // int off
24: .line 523
iload 0 /* b1Min */
istore 13 /* b1 */
start local 13 // int b1
25: goto 42
26: .line 524
StackMap locals: int int
StackMap stack:
iload 2 /* b2Min */
istore 14 /* b2 */
start local 14 // int b2
27: goto 40
28: .line 525
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 526
iload 15 /* c */
ldc 65533
if_icmpeq 38
30: .line 527
aload 5 /* b2cIsSupp */
iload 12 /* off */
baload
iconst_1
iload 9 /* p */
ishl
iand
ifeq 35
31: .line 528
getstatic sun.nio.cs.ext.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 529
aload 7 /* c2bSupp0 */
iload 16 /* index */
iload 13 /* b1 */
bipush 8
ishl
iload 14 /* b2 */
iadd
i2c
castore
33: .line 530
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 531
goto 38
35: .line 532
StackMap locals: int
StackMap stack:
getstatic sun.nio.cs.ext.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 533
aload 6 /* c2b0 */
iload 16 /* index */
iload 13 /* b1 */
bipush 8
ishl
iload 14 /* b2 */
iadd
i2c
castore
37: .line 534
aload 8 /* c2bPlane0 */
iload 16 /* index */
dup2
baload
iload 11 /* plane */
i2b
ior
i2b
bastore
end local 16 // int index
38: .line 537
StackMap locals:
StackMap stack:
iinc 12 /* off */ 1
end local 15 // char c
39: .line 524
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 523
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 508
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 541
aload 6 /* c2b0 */
putstatic sun.nio.cs.ext.EUC_TW$Encoder.c2b:[C
46: .line 542
aload 7 /* c2bSupp0 */
putstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bSupp:[C
47: .line 543
aload 8 /* c2bPlane0 */
putstatic sun.nio.cs.ext.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 544
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.ext.EUC_TW$Encoder this
start local 1 // java.nio.charset.Charset cs
0: .line 301
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 298
aload 0 /* this */
iconst_4
newarray 8
putfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
2: .line 302
return
end local 1 // java.nio.charset.Charset cs
end local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/ext/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.ext.EUC_TW$Encoder this
start local 1 // char c
0: .line 305
iload 1 /* c */
bipush 127
if_icmple 1
aload 0 /* this */
iload 1 /* c */
aload 0 /* this */
getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.ext.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.ext.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ext/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.ext.EUC_TW$Encoder this
start local 1 // java.lang.CharSequence cs
0: .line 309
iconst_0
istore 2 /* i */
start local 2 // int i
1: .line 310
goto 11
2: .line 311
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 312
iload 3 /* c */
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 9
4: .line 313
iload 2 /* i */
aload 1 /* cs */
invokeinterface java.lang.CharSequence.length:()I
if_icmpne 6
5: .line 314
iconst_0
ireturn
6: .line 315
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 316
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.ext.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.toEUC:(CC[B)I
iconst_m1
if_icmpne 11
8: .line 317
StackMap locals: int
StackMap stack:
iconst_0
ireturn
end local 4 // char low
9: .line 318
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 3 /* c */
invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.canEncode:(C)Z
ifne 11
10: .line 319
iconst_0
ireturn
end local 3 // char c
11: .line 310
StackMap locals:
StackMap stack:
iload 2 /* i */
aload 1 /* cs */
invokeinterface java.lang.CharSequence.length:()I
if_icmplt 2
12: .line 322
iconst_1
ireturn
end local 2 // int i
end local 1 // java.lang.CharSequence cs
end local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/nio/cs/ext/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.ext.EUC_TW$Encoder this
start local 1 // char hi
start local 2 // char low
start local 3 // byte[] bb
0: .line 326
iload 1 /* hi */
iload 2 /* low */
aload 3 /* bb */
invokestatic sun.nio.cs.ext.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.ext.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/cs/ext/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.ext.EUC_TW$Encoder this
start local 1 // char c
start local 2 // byte[] bb
0: .line 330
iload 1 /* c */
aload 2 /* bb */
invokestatic sun.nio.cs.ext.EUC_TW$Encoder.encode:(C[B)I
ireturn
end local 2 // byte[] bb
end local 1 // char c
end local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/cs/ext/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.ext.EUC_TW$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 336
aload 1 /* src */
invokevirtual java.nio.CharBuffer.array:()[C
astore 3 /* sa */
start local 3 // char[] sa
1: .line 337
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 338
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 340
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.array:()[B
astore 6 /* da */
start local 6 // byte[] da
4: .line 341
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 342
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 348
goto 50
7: .line 349
StackMap locals: sun.nio.cs.ext.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 350
iconst_1
istore 9 /* inSize */
start local 9 // int inSize
9: .line 351
iload 11 /* c */
sipush 128
if_icmpge 13
10: .line 352
aload 0 /* this */
getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
iconst_0
iload 11 /* c */
i2b
bastore
11: .line 353
iconst_1
istore 10 /* outSize */
start local 10 // int outSize
12: .line 354
goto 34
end local 10 // int outSize
13: .line 355
StackMap locals: sun.nio.cs.ext.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.ext.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.toEUC:(C[B)I
istore 10 /* outSize */
start local 10 // int outSize
14: .line 356
iload 10 /* outSize */
iconst_m1
if_icmpne 34
15: .line 363
iload 11 /* c */
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 29
16: .line 364
iload 4 /* sp */
iconst_1
iadd
iload 5 /* sl */
if_icmpne 21
17: .line 365
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 14
18: .line 385
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
19: .line 386
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
20: .line 365
aload 14
areturn
21: .line 366
StackMap locals: sun.nio.cs.ext.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 367
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
astore 14
23: .line 385
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
24: .line 386
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
25: .line 367
aload 14
areturn
26: .line 368
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.ext.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.toEUC:(CC[B)I
istore 10 /* outSize */
27: .line 369
iconst_2
istore 9 /* inSize */
28: .line 370
goto 34
StackMap locals:
StackMap stack:
29: iload 11 /* c */
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 34
30: .line 371
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
astore 14
31: .line 385
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
32: .line 386
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
33: .line 371
aload 14
areturn
34: .line 375
StackMap locals:
StackMap stack:
iload 10 /* outSize */
iconst_m1
if_icmpne 39
35: .line 376
iload 9 /* inSize */
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 14
36: .line 385
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
37: .line 386
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
38: .line 376
aload 14
areturn
39: .line 377
StackMap locals:
StackMap stack:
iload 8 /* dl */
iload 7 /* dp */
isub
iload 10 /* outSize */
if_icmpge 44
40: .line 378
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 14
41: .line 385
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 386
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 378
aload 14
areturn
44: .line 379
StackMap locals:
StackMap stack:
iconst_0
istore 12 /* i */
start local 12 // int i
45: goto 48
46: .line 380
StackMap locals: int
StackMap stack:
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
aload 0 /* this */
getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
iload 12 /* i */
baload
bastore
47: .line 379
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 381
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 348
StackMap locals: sun.nio.cs.ext.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 383
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 14
52: .line 385
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
53: .line 386
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
54: .line 383
aload 14
areturn
55: .line 384
StackMap locals:
StackMap stack: java.lang.Throwable
astore 13
56: .line 385
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
57: .line 386
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
58: .line 387
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.ext.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 59 0 this Lsun/nio/cs/ext/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.ext.EUC_TW$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 395
aload 1 /* src */
invokevirtual java.nio.CharBuffer.position:()I
istore 5 /* mark */
start local 5 // int mark
1: .line 398
goto 41
2: .line 399
StackMap locals: sun.nio.cs.ext.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 400
aload 1 /* src */
invokevirtual java.nio.CharBuffer.get:()C
istore 6 /* c */
start local 6 // char c
4: .line 401
iload 6 /* c */
sipush 128
if_icmpge 8
5: .line 402
iconst_1
istore 3 /* outSize */
start local 3 // int outSize
6: .line 403
aload 0 /* this */
getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
iconst_0
iload 6 /* c */
i2b
bastore
7: .line 404
goto 27
end local 3 // int outSize
8: .line 405
StackMap locals: sun.nio.cs.ext.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.ext.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.toEUC:(C[B)I
istore 3 /* outSize */
start local 3 // int outSize
9: .line 406
iload 3 /* outSize */
iconst_m1
if_icmpne 27
10: .line 407
iload 6 /* c */
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 23
11: .line 408
aload 1 /* src */
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 15
12: .line 409
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 9
13: .line 430
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
14: .line 409
aload 9
areturn
15: .line 410
StackMap locals: sun.nio.cs.ext.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 411
iload 7 /* c2 */
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifne 20
17: .line 412
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
astore 9
18: .line 430
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
19: .line 412
aload 9
areturn
20: .line 413
StackMap locals: int
StackMap stack:
aload 0 /* this */
iload 6 /* c */
iload 7 /* c2 */
aload 0 /* this */
getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.toEUC:(CC[B)I
istore 3 /* outSize */
21: .line 414
iconst_2
istore 4 /* inSize */
end local 7 // char c2
22: .line 415
goto 27
StackMap locals:
StackMap stack:
23: iload 6 /* c */
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 27
24: .line 416
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
astore 9
25: .line 430
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
26: .line 416
aload 9
areturn
27: .line 420
StackMap locals:
StackMap stack:
iload 3 /* outSize */
iconst_m1
if_icmpne 31
28: .line 421
iload 4 /* inSize */
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 9
29: .line 430
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
30: .line 421
aload 9
areturn
31: .line 422
StackMap locals:
StackMap stack:
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 3 /* outSize */
if_icmpge 35
32: .line 423
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 9
33: .line 430
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
34: .line 423
aload 9
areturn
35: .line 424
StackMap locals:
StackMap stack:
iconst_0
istore 7 /* i */
start local 7 // int i
36: goto 39
37: .line 425
StackMap locals: int
StackMap stack:
aload 2 /* dst */
aload 0 /* this */
getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
iload 7 /* i */
baload
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
38: .line 424
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 426
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 398
StackMap locals: sun.nio.cs.ext.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 428
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 9
43: .line 430
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
44: .line 428
aload 9
areturn
45: .line 429
StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
46: .line 430
aload 1 /* src */
iload 5 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
47: .line 431
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.ext.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lsun/nio/cs/ext/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.ext.EUC_TW$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 436
aload 1 /* src */
invokevirtual java.nio.CharBuffer.hasArray:()Z
ifeq 2
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 2
1: .line 437
aload 0 /* this */
aload 1 /* src */
aload 2 /* dst */
invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
areturn
2: .line 439
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* src */
aload 2 /* dst */
invokevirtual sun.nio.cs.ext.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.ext.EUC_TW$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/ext/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 443
iload 0 /* hi */
iload 1 /* low */
invokestatic java.lang.Character.toCodePoint:(CC)I
istore 3 /* c */
start local 3 // int c
1: .line 444
iload 3 /* c */
ldc 983040
iand
ldc 131072
if_icmpeq 3
2: .line 445
iconst_m1
ireturn
3: .line 446
StackMap locals: int
StackMap stack:
iload 3 /* c */
ldc 131072
isub
istore 3 /* c */
4: .line 447
getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bSuppIndex:[C
iload 3 /* c */
bipush 8
ishr
caload
istore 4 /* index */
start local 4 // int index
5: .line 448
iload 4 /* index */
ldc 65533
if_icmpne 7
6: .line 449
iconst_m1
ireturn
7: .line 450
StackMap locals: int
StackMap stack:
iload 4 /* index */
iload 3 /* c */
sipush 255
iand
iadd
istore 4 /* index */
8: .line 451
getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bSupp:[C
iload 4 /* index */
caload
istore 5 /* db */
start local 5 // int db
9: .line 452
iload 5 /* db */
ldc 65533
if_icmpne 11
10: .line 453
iconst_m1
ireturn
11: .line 454
StackMap locals: int
StackMap stack:
getstatic sun.nio.cs.ext.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 455
aload 2 /* bb */
iconst_0
bipush -114
bastore
13: .line 456
aload 2 /* bb */
iconst_1
sipush 160
iload 6 /* p */
ior
i2b
bastore
14: .line 457
aload 2 /* bb */
iconst_2
iload 5 /* db */
bipush 8
ishr
i2b
bastore
15: .line 458
aload 2 /* bb */
iconst_3
iload 5 /* db */
i2b
bastore
16: .line 459
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 463
getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bIndex:[C
iload 0 /* c */
bipush 8
ishr
caload
istore 2 /* index */
start local 2 // int index
1: .line 464
iload 2 /* index */
ldc 65533
if_icmpne 3
2: .line 465
iconst_m1
ireturn
3: .line 466
StackMap locals: int
StackMap stack:
iload 2 /* index */
iload 0 /* c */
sipush 255
iand
iadd
istore 2 /* index */
4: .line 467
getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2b:[C
iload 2 /* index */
caload
istore 3 /* db */
start local 3 // int db
5: .line 468
iload 3 /* db */
ldc 65533
if_icmpne 7
6: .line 469
iconst_m1
ireturn
7: .line 470
StackMap locals: int
StackMap stack:
getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bPlane:[B
iload 2 /* index */
baload
bipush 15
iand
istore 4 /* p */
start local 4 // int p
8: .line 471
iload 4 /* p */
ifne 12
9: .line 472
aload 1 /* bb */
iconst_0
iload 3 /* db */
bipush 8
ishr
i2b
bastore
10: .line 473
aload 1 /* bb */
iconst_1
iload 3 /* db */
i2b
bastore
11: .line 474
iconst_2
ireturn
12: .line 476
StackMap locals: int
StackMap stack:
aload 1 /* bb */
iconst_0
bipush -114
bastore
13: .line 477
aload 1 /* bb */
iconst_1
sipush 160
iload 4 /* p */
ior
i2b
bastore
14: .line 478
aload 1 /* bb */
iconst_2
iload 3 /* db */
bipush 8
ishr
i2b
bastore
15: .line 479
aload 1 /* bb */
iconst_3
iload 3 /* db */
i2b
bastore
16: .line 480
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.ext.EUC_TW
InnerClasses:
public Decoder = sun.nio.cs.ext.EUC_TW$Decoder of sun.nio.cs.ext.EUC_TW
public Encoder = sun.nio.cs.ext.EUC_TW$Encoder of sun.nio.cs.ext.EUC_TW