public class sun.io.ByteToCharEUC_TW extends sun.io.ByteToCharConverter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.io.ByteToCharEUC_TW
super_class: sun.io.ByteToCharConverter
{
private final byte G0;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 0
private final byte G1;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 1
private final byte G2;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 2
private final byte G3;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 3
private final byte G4;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 4
private final byte MSB;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: -128
private final byte SS2;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: -114
private final byte P2;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: -94
private final byte P3;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: -93
protected final char REPLACE_CHAR;
descriptor: C
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
ConstantValue: 65533
private byte firstByte;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private byte state;
descriptor: B
flags: (0x0002) ACC_PRIVATE
public static java.lang.String unicodeCNS2;
descriptor: Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static java.lang.String unicodeCNS3;
descriptor: Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
private static java.lang.String unicodeCNS4;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String unicodeCNS5;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String unicodeCNS6;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String unicodeCNS7;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String unicodeCNS15;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private int cnsPlane;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final sun.nio.cs.ext.EUC_TW nioCoder;
descriptor: Lsun/nio/cs/ext/EUC_TW;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static java.lang.String unicodeCNS1;
descriptor: Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
static java.lang.String[] cnsChars;
descriptor: [Ljava/lang/String;
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new sun.nio.cs.ext.EUC_TW
dup
invokespecial sun.nio.cs.ext.EUC_TW.<init>:()V
putstatic sun.io.ByteToCharEUC_TW.nioCoder:Lsun/nio/cs/ext/EUC_TW;
1: invokestatic sun.nio.cs.ext.EUC_TW.getUnicodeCNS1:()Ljava/lang/String;
putstatic sun.io.ByteToCharEUC_TW.unicodeCNS1:Ljava/lang/String;
2: bipush 7
anewarray java.lang.String
dup
iconst_0
3: invokestatic sun.nio.cs.ext.EUC_TW.getUnicodeCNS2:()Ljava/lang/String;
dup
putstatic sun.io.ByteToCharEUC_TW.unicodeCNS2:Ljava/lang/String;
aastore
dup
iconst_1
4: invokestatic sun.nio.cs.ext.EUC_TW.getUnicodeCNS3:()Ljava/lang/String;
dup
putstatic sun.io.ByteToCharEUC_TW.unicodeCNS3:Ljava/lang/String;
aastore
dup
iconst_2
5: invokestatic sun.nio.cs.ext.EUC_TW.getUnicodeCNS4:()Ljava/lang/String;
dup
putstatic sun.io.ByteToCharEUC_TW.unicodeCNS4:Ljava/lang/String;
aastore
dup
iconst_3
6: invokestatic sun.nio.cs.ext.EUC_TW.getUnicodeCNS5:()Ljava/lang/String;
dup
putstatic sun.io.ByteToCharEUC_TW.unicodeCNS5:Ljava/lang/String;
aastore
dup
iconst_4
7: invokestatic sun.nio.cs.ext.EUC_TW.getUnicodeCNS6:()Ljava/lang/String;
dup
putstatic sun.io.ByteToCharEUC_TW.unicodeCNS6:Ljava/lang/String;
aastore
dup
iconst_5
8: invokestatic sun.nio.cs.ext.EUC_TW.getUnicodeCNS7:()Ljava/lang/String;
dup
putstatic sun.io.ByteToCharEUC_TW.unicodeCNS7:Ljava/lang/String;
aastore
dup
bipush 6
9: invokestatic sun.nio.cs.ext.EUC_TW.getUnicodeCNS15:()Ljava/lang/String;
dup
putstatic sun.io.ByteToCharEUC_TW.unicodeCNS15:Ljava/lang/String;
aastore
10: putstatic sun.io.ByteToCharEUC_TW.cnsChars:[Ljava/lang/String;
11: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.io.ByteToCharConverter.<init>:()V
1: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.G0:B
2: aload 0
iconst_1
putfield sun.io.ByteToCharEUC_TW.G1:B
3: aload 0
iconst_2
putfield sun.io.ByteToCharEUC_TW.G2:B
4: aload 0
iconst_3
putfield sun.io.ByteToCharEUC_TW.G3:B
5: aload 0
iconst_4
putfield sun.io.ByteToCharEUC_TW.G4:B
6: aload 0
bipush -128
putfield sun.io.ByteToCharEUC_TW.MSB:B
7: aload 0
bipush -114
putfield sun.io.ByteToCharEUC_TW.SS2:B
8: aload 0
bipush -94
putfield sun.io.ByteToCharEUC_TW.P2:B
9: aload 0
bipush -93
putfield sun.io.ByteToCharEUC_TW.P3:B
10: aload 0
ldc 65533
putfield sun.io.ByteToCharEUC_TW.REPLACE_CHAR:C
11: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.firstByte:B
aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.state:B
12: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.cnsPlane:I
13: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/io/ByteToCharEUC_TW;
public int flush(char[], int, int);
descriptor: ([CII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.io.ByteToCharEUC_TW.state:B
ifeq 5
1: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.state:B
2: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.firstByte:B
3: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.badInputLength:I
4: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.io.ByteToCharEUC_TW.reset:()V
6: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/io/ByteToCharEUC_TW;
0 7 1 output [C
0 7 2 outStart I
0 7 3 outEnd I
Exceptions:
throws sun.io.MalformedInputException
MethodParameters:
Name Flags
output
outStart
outEnd
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.state:B
1: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.firstByte:B
2: aload 0
aload 0
iconst_0
dup_x1
putfield sun.io.ByteToCharEUC_TW.charOff:I
putfield sun.io.ByteToCharEUC_TW.byteOff:I
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/io/ByteToCharEUC_TW;
public int convert(byte[], int, int, char[], int, int);
descriptor: ([BII[CII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iconst_0
istore 7
start local 7 1: iconst_0
istore 8
start local 8 2: aload 0
iload 2
putfield sun.io.ByteToCharEUC_TW.byteOff:I
3: aload 0
iload 5
putfield sun.io.ByteToCharEUC_TW.charOff:I
4: aload 0
iconst_3
putfield sun.io.ByteToCharEUC_TW.cnsPlane:I
5: goto 66
6: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.io.ByteToCharEUC_TW.charOff:I
iload 6
if_icmplt 8
7: new sun.io.ConversionBufferFullException
dup
invokespecial sun.io.ConversionBufferFullException.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.ByteToCharEUC_TW.state:B
tableswitch { // 0 - 4
0: 9
1: 18
2: 30
3: 39
4: 46
default: 56
}
9: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
bipush -128
iand
ifne 12
10: aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
i2c
istore 8
11: goto 56
StackMap locals:
StackMap stack:
12: aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
bipush -114
if_icmpne 15
13: aload 0
iconst_2
putfield sun.io.ByteToCharEUC_TW.state:B
14: goto 56
15: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
putfield sun.io.ByteToCharEUC_TW.firstByte:B
16: aload 0
iconst_1
putfield sun.io.ByteToCharEUC_TW.state:B
17: goto 56
18: StackMap locals:
StackMap stack:
iconst_2
istore 7
19: aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
bipush -128
iand
ifeq 25
20: aload 0
iconst_1
putfield sun.io.ByteToCharEUC_TW.cnsPlane:I
21: aload 0
aload 0
getfield sun.io.ByteToCharEUC_TW.firstByte:B
22: aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
getstatic sun.io.ByteToCharEUC_TW.unicodeCNS1:Ljava/lang/String;
23: invokevirtual sun.io.ByteToCharEUC_TW.convToUnicode:(BBLjava/lang/String;)C
istore 8
24: goto 27
25: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.io.ByteToCharEUC_TW.badInputLength:I
26: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.firstByte:B
28: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.state:B
29: goto 56
30: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
bipush 15
iand
putfield sun.io.ByteToCharEUC_TW.cnsPlane:I
31: aload 0
aload 0
getfield sun.io.ByteToCharEUC_TW.cnsPlane:I
bipush 15
if_icmpne 32
bipush 8
goto 33
StackMap locals:
StackMap stack: sun.io.ByteToCharEUC_TW
32: aload 0
getfield sun.io.ByteToCharEUC_TW.cnsPlane:I
StackMap locals: sun.io.ByteToCharEUC_TW byte[] int int char[] int int int int
StackMap stack: sun.io.ByteToCharEUC_TW int
33: putfield sun.io.ByteToCharEUC_TW.cnsPlane:I
34: aload 0
getfield sun.io.ByteToCharEUC_TW.cnsPlane:I
bipush 15
if_icmpge 37
35: aload 0
iconst_3
putfield sun.io.ByteToCharEUC_TW.state:B
36: goto 56
37: StackMap locals:
StackMap stack:
aload 0
iconst_2
putfield sun.io.ByteToCharEUC_TW.badInputLength:I
38: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
39: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
bipush -128
iand
ifeq 43
40: aload 0
aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
putfield sun.io.ByteToCharEUC_TW.firstByte:B
41: aload 0
iconst_4
putfield sun.io.ByteToCharEUC_TW.state:B
42: goto 56
43: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.state:B
44: aload 0
iconst_2
putfield sun.io.ByteToCharEUC_TW.badInputLength:I
45: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
46: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
bipush -128
iand
ifeq 52
47: aload 0
aload 0
getfield sun.io.ByteToCharEUC_TW.firstByte:B
48: aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
49: getstatic sun.io.ByteToCharEUC_TW.cnsChars:[Ljava/lang/String;
aload 0
getfield sun.io.ByteToCharEUC_TW.cnsPlane:I
iconst_2
isub
aaload
50: invokevirtual sun.io.ByteToCharEUC_TW.convToUnicode:(BBLjava/lang/String;)C
istore 8
51: goto 54
52: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield sun.io.ByteToCharEUC_TW.badInputLength:I
53: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
54: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.firstByte:B
55: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.state:B
56: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.io.ByteToCharEUC_TW.byteOff:I
iconst_1
iadd
57: putfield sun.io.ByteToCharEUC_TW.byteOff:I
58: iload 8
ifeq 66
59: iload 8
ldc 65533
if_icmpne 64
60: aload 0
getfield sun.io.ByteToCharEUC_TW.subMode:Z
ifeq 62
61: aload 0
getfield sun.io.ByteToCharEUC_TW.subChars:[C
iconst_0
caload
istore 8
goto 64
62: StackMap locals:
StackMap stack:
aload 0
iload 7
putfield sun.io.ByteToCharEUC_TW.badInputLength:I
63: new sun.io.UnknownCharacterException
dup
invokespecial sun.io.UnknownCharacterException.<init>:()V
athrow
64: StackMap locals:
StackMap stack:
aload 4
aload 0
dup
getfield sun.io.ByteToCharEUC_TW.charOff:I
dup_x1
iconst_1
iadd
putfield sun.io.ByteToCharEUC_TW.charOff:I
iload 8
castore
65: iconst_0
istore 8
66: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
iload 3
if_icmplt 6
67: aload 0
getfield sun.io.ByteToCharEUC_TW.charOff:I
iload 5
isub
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lsun/io/ByteToCharEUC_TW;
0 68 1 input [B
0 68 2 inOff I
0 68 3 inEnd I
0 68 4 output [C
0 68 5 outOff I
0 68 6 outEnd I
1 68 7 inputSize I
2 68 8 outputChar C
Exceptions:
throws sun.io.UnknownCharacterException, sun.io.MalformedInputException, sun.io.ConversionBufferFullException
MethodParameters:
Name Flags
input
inOff
inEnd
output
outOff
outEnd
public java.lang.String getCharacterEncoding();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "EUC_TW"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/ByteToCharEUC_TW;
protected char convToUnicode(byte, byte, java.lang.String);
descriptor: (BBLjava/lang/String;)C
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
sipush 255
iand
sipush 161
if_icmplt 2
iload 2
sipush 255
iand
sipush 161
if_icmplt 2
1: iload 1
sipush 255
iand
sipush 254
if_icmpgt 2
iload 2
sipush 255
iand
sipush 254
if_icmple 3
2: StackMap locals:
StackMap stack:
ldc 65533
ireturn
3: StackMap locals:
StackMap stack:
iload 1
sipush 255
iand
sipush 161
isub
bipush 94
imul
iload 2
sipush 255
iand
iadd
sipush 161
isub
istore 4
start local 4 4: iload 4
iflt 5
iload 4
aload 3
invokevirtual java.lang.String.length:()I
if_icmplt 6
5: StackMap locals: int
StackMap stack:
ldc 65533
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.ByteToCharEUC_TW.cnsPlane:I
iconst_3
if_icmplt 8
7: iload 4
iconst_2
imul
iconst_1
iadd
istore 4
8: StackMap locals:
StackMap stack:
aload 3
iload 4
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/io/ByteToCharEUC_TW;
0 9 1 byte1 B
0 9 2 byte2 B
0 9 3 table Ljava/lang/String;
4 9 4 index I
MethodParameters:
Name Flags
byte1
byte2
table
}
SourceFile: "ByteToCharEUC_TW.java"