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 byte firstByte;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private byte state;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private int cnsPlane;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private sun.nio.cs.ext.EUC_TW$Decoder dec;
descriptor: Lsun/nio/cs/ext/EUC_TW$Decoder;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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
iconst_0
putfield sun.io.ByteToCharEUC_TW.firstByte:B
aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.state:B
9: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.cnsPlane:I
10: aload 0
new sun.nio.cs.ext.EUC_TW
dup
invokespecial sun.nio.cs.ext.EUC_TW.<init>:()V
invokevirtual sun.nio.cs.ext.EUC_TW.newDecoder:()Ljava/nio/charset/CharsetDecoder;
checkcast sun.nio.cs.ext.EUC_TW$Decoder
putfield sun.io.ByteToCharEUC_TW.dec:Lsun/nio/cs/ext/EUC_TW$Decoder;
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 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
getfield sun.io.ByteToCharEUC_TW.dec:Lsun/nio/cs/ext/EUC_TW$Decoder;
invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.reset:()Ljava/nio/charset/CharsetDecoder;
pop
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
aload 0
iconst_0
dup_x1
putfield sun.io.ByteToCharEUC_TW.charOff:I
putfield sun.io.ByteToCharEUC_TW.byteOff:I
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 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=5, locals=10, 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_1
newarray 5
astore 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 70
6: StackMap locals: int char[]
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:
aconst_null
astore 9
start local 9 9: aload 0
getfield sun.io.ByteToCharEUC_TW.state:B
tableswitch { // 0 - 4
0: 10
1: 20
2: 33
3: 42
4: 49
default: 59
}
10: StackMap locals: char[]
StackMap stack:
aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
bipush -128
iand
ifne 14
11: aload 8
astore 9
12: aload 9
iconst_0
aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
i2c
castore
13: goto 59
StackMap locals:
StackMap stack:
14: aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
bipush -114
if_icmpne 17
15: aload 0
iconst_2
putfield sun.io.ByteToCharEUC_TW.state:B
16: goto 59
17: 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
18: aload 0
iconst_1
putfield sun.io.ByteToCharEUC_TW.state:B
19: goto 59
20: StackMap locals:
StackMap stack:
iconst_2
istore 7
21: aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
bipush -128
iand
ifeq 28
22: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.cnsPlane:I
23: aload 0
getfield sun.io.ByteToCharEUC_TW.dec:Lsun/nio/cs/ext/EUC_TW$Decoder;
aload 0
getfield sun.io.ByteToCharEUC_TW.firstByte:B
sipush 255
iand
24: aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
sipush 255
iand
25: aload 0
getfield sun.io.ByteToCharEUC_TW.cnsPlane:I
26: invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.toUnicode:(III)[C
astore 9
27: goto 30
28: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.io.ByteToCharEUC_TW.badInputLength:I
29: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
30: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.firstByte:B
31: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.state:B
32: goto 59
33: 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
34: aload 0
aload 0
getfield sun.io.ByteToCharEUC_TW.cnsPlane:I
bipush 15
if_icmpne 35
bipush 8
goto 36
StackMap locals:
StackMap stack: sun.io.ByteToCharEUC_TW
35: aload 0
getfield sun.io.ByteToCharEUC_TW.cnsPlane:I
StackMap locals: sun.io.ByteToCharEUC_TW byte[] int int char[] int int int char[] char[]
StackMap stack: sun.io.ByteToCharEUC_TW int
36: putfield sun.io.ByteToCharEUC_TW.cnsPlane:I
37: aload 0
getfield sun.io.ByteToCharEUC_TW.cnsPlane:I
bipush 15
if_icmpge 40
38: aload 0
iconst_3
putfield sun.io.ByteToCharEUC_TW.state:B
39: goto 59
40: StackMap locals:
StackMap stack:
aload 0
iconst_2
putfield sun.io.ByteToCharEUC_TW.badInputLength:I
41: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
42: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
bipush -128
iand
ifeq 46
43: aload 0
aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
putfield sun.io.ByteToCharEUC_TW.firstByte:B
44: aload 0
iconst_4
putfield sun.io.ByteToCharEUC_TW.state:B
45: goto 59
46: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.state:B
47: aload 0
iconst_2
putfield sun.io.ByteToCharEUC_TW.badInputLength:I
48: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
49: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
bipush -128
iand
ifeq 55
50: aload 0
getfield sun.io.ByteToCharEUC_TW.dec:Lsun/nio/cs/ext/EUC_TW$Decoder;
aload 0
getfield sun.io.ByteToCharEUC_TW.firstByte:B
sipush 255
iand
51: aload 1
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
baload
sipush 255
iand
52: aload 0
getfield sun.io.ByteToCharEUC_TW.cnsPlane:I
iconst_1
isub
53: invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.toUnicode:(III)[C
astore 9
54: goto 57
55: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield sun.io.ByteToCharEUC_TW.badInputLength:I
56: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
57: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.firstByte:B
58: aload 0
iconst_0
putfield sun.io.ByteToCharEUC_TW.state:B
59: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.io.ByteToCharEUC_TW.byteOff:I
iconst_1
iadd
60: putfield sun.io.ByteToCharEUC_TW.byteOff:I
61: aload 0
getfield sun.io.ByteToCharEUC_TW.state:B
ifne 70
62: aload 9
ifnonnull 69
63: aload 0
getfield sun.io.ByteToCharEUC_TW.subMode:Z
ifeq 67
64: aload 8
astore 9
65: aload 9
iconst_0
aload 0
getfield sun.io.ByteToCharEUC_TW.subChars:[C
iconst_0
caload
castore
66: goto 69
67: StackMap locals:
StackMap stack:
aload 0
iload 7
putfield sun.io.ByteToCharEUC_TW.badInputLength:I
68: new sun.io.UnknownCharacterException
dup
invokespecial sun.io.UnknownCharacterException.<init>:()V
athrow
69: 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
aload 9
iconst_0
caload
castore
end local 9 70: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.ByteToCharEUC_TW.byteOff:I
iload 3
if_icmplt 6
71: 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 72 0 this Lsun/io/ByteToCharEUC_TW;
0 72 1 input [B
0 72 2 inOff I
0 72 3 inEnd I
0 72 4 output [C
0 72 5 outOff I
0 72 6 outEnd I
1 72 7 inputSize I
2 72 8 c1 [C
9 70 9 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;
}
SourceFile: "ByteToCharEUC_TW.java"
InnerClasses:
public Decoder = sun.nio.cs.ext.EUC_TW$Decoder of sun.nio.cs.ext.EUC_TW