public class sun.io.CharToByteEUC_TW extends sun.io.CharToByteConverter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.io.CharToByteEUC_TW
super_class: sun.io.CharToByteConverter
{
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
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
private static java.lang.String uniTab1;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String uniTab2;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String uniTab3;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String cnsTab1;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String cnsTab2;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String cnsTab3;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private char[] UniTab1;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] UniTab2;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] UniTab3;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] CNSTab1;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] CNSTab2;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] CNSTab3;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, 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.CharToByteEUC_TW.nioCoder:Lsun/nio/cs/ext/EUC_TW;
1: invokestatic sun.nio.cs.ext.EUC_TW.getUniTab1:()Ljava/lang/String;
putstatic sun.io.CharToByteEUC_TW.uniTab1:Ljava/lang/String;
2: invokestatic sun.nio.cs.ext.EUC_TW.getUniTab2:()Ljava/lang/String;
putstatic sun.io.CharToByteEUC_TW.uniTab2:Ljava/lang/String;
3: invokestatic sun.nio.cs.ext.EUC_TW.getUniTab3:()Ljava/lang/String;
putstatic sun.io.CharToByteEUC_TW.uniTab3:Ljava/lang/String;
4: invokestatic sun.nio.cs.ext.EUC_TW.getCNSTab1:()Ljava/lang/String;
putstatic sun.io.CharToByteEUC_TW.cnsTab1:Ljava/lang/String;
5: invokestatic sun.nio.cs.ext.EUC_TW.getCNSTab2:()Ljava/lang/String;
putstatic sun.io.CharToByteEUC_TW.cnsTab2:Ljava/lang/String;
6: invokestatic sun.nio.cs.ext.EUC_TW.getCNSTab3:()Ljava/lang/String;
putstatic sun.io.CharToByteEUC_TW.cnsTab3:Ljava/lang/String;
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.CharToByteConverter.<init>:()V
1: aload 0
bipush -128
putfield sun.io.CharToByteEUC_TW.MSB:B
2: aload 0
bipush -114
putfield sun.io.CharToByteEUC_TW.SS2:B
3: aload 0
bipush -94
putfield sun.io.CharToByteEUC_TW.P2:B
4: aload 0
bipush -93
putfield sun.io.CharToByteEUC_TW.P3:B
5: aload 0
getstatic sun.io.CharToByteEUC_TW.uniTab1:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.io.CharToByteEUC_TW.UniTab1:[C
6: aload 0
getstatic sun.io.CharToByteEUC_TW.uniTab2:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.io.CharToByteEUC_TW.UniTab2:[C
7: aload 0
getstatic sun.io.CharToByteEUC_TW.uniTab3:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.io.CharToByteEUC_TW.UniTab3:[C
8: aload 0
getstatic sun.io.CharToByteEUC_TW.cnsTab1:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.io.CharToByteEUC_TW.CNSTab1:[C
9: aload 0
getstatic sun.io.CharToByteEUC_TW.cnsTab2:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.io.CharToByteEUC_TW.CNSTab2:[C
10: aload 0
getstatic sun.io.CharToByteEUC_TW.cnsTab3:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.io.CharToByteEUC_TW.CNSTab3:[C
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/io/CharToByteEUC_TW;
public int flush(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual sun.io.CharToByteEUC_TW.reset:()V
1: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/io/CharToByteEUC_TW;
0 2 1 output [B
0 2 2 outStart I
0 2 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
aload 0
iconst_0
dup_x1
putfield sun.io.CharToByteEUC_TW.charOff:I
putfield sun.io.CharToByteEUC_TW.byteOff:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/io/CharToByteEUC_TW;
public boolean canConvert(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc 65280
iload 1
iand
ifeq 2
aload 0
iload 1
invokevirtual sun.io.CharToByteEUC_TW.getNative:(C)I
iconst_m1
if_icmpeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/io/CharToByteEUC_TW;
0 3 1 ch C
MethodParameters:
Name Flags
ch
public int convert(char[], int, int, byte[], int, int);
descriptor: ([CII[BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, 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_4
newarray 8
astore 8
start local 8 1: aload 0
iload 5
putfield sun.io.CharToByteEUC_TW.byteOff:I
2: aload 0
iload 2
putfield sun.io.CharToByteEUC_TW.charOff:I
goto 24
3: StackMap locals: sun.io.CharToByteEUC_TW char[] int int byte[] int int top byte[]
StackMap stack:
aload 8
astore 9
start local 9 4: aload 1
aload 0
getfield sun.io.CharToByteEUC_TW.charOff:I
caload
sipush 128
if_icmpge 8
5: iconst_1
istore 7
start local 7 6: aload 9
iconst_0
aload 1
aload 0
getfield sun.io.CharToByteEUC_TW.charOff:I
caload
bipush 127
iand
i2b
bastore
7: goto 9
end local 7 8: StackMap locals: byte[]
StackMap stack:
aload 0
aload 1
aload 0
getfield sun.io.CharToByteEUC_TW.charOff:I
caload
aload 9
invokevirtual sun.io.CharToByteEUC_TW.unicodeToEUC:(C[B)I
istore 7
start local 7 9: StackMap locals: sun.io.CharToByteEUC_TW char[] int int byte[] int int int byte[] byte[]
StackMap stack:
iload 7
iconst_m1
if_icmpne 16
10: aload 0
getfield sun.io.CharToByteEUC_TW.subMode:Z
ifeq 14
11: aload 0
getfield sun.io.CharToByteEUC_TW.subBytes:[B
astore 9
12: aload 0
getfield sun.io.CharToByteEUC_TW.subBytes:[B
arraylength
istore 7
13: goto 16
14: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.io.CharToByteEUC_TW.badInputLength:I
15: new sun.io.UnknownCharacterException
dup
invokespecial sun.io.UnknownCharacterException.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
iload 6
aload 0
getfield sun.io.CharToByteEUC_TW.byteOff:I
isub
iload 7
if_icmpge 18
17: new sun.io.ConversionBufferFullException
dup
invokespecial sun.io.ConversionBufferFullException.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 19: goto 22
20: StackMap locals: int
StackMap stack:
aload 4
aload 0
dup
getfield sun.io.CharToByteEUC_TW.byteOff:I
dup_x1
iconst_1
iadd
putfield sun.io.CharToByteEUC_TW.byteOff:I
aload 9
iload 10
baload
bastore
21: iinc 10 1
StackMap locals:
StackMap stack:
22: iload 10
iload 7
if_icmplt 20
end local 10 23: aload 0
dup
getfield sun.io.CharToByteEUC_TW.charOff:I
iconst_1
iadd
putfield sun.io.CharToByteEUC_TW.charOff:I
end local 9 end local 7 StackMap locals: sun.io.CharToByteEUC_TW char[] int int byte[] int int top byte[]
StackMap stack:
24: aload 0
getfield sun.io.CharToByteEUC_TW.charOff:I
iload 3
if_icmplt 3
25: aload 0
getfield sun.io.CharToByteEUC_TW.byteOff:I
iload 5
isub
ireturn
end local 8 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 26 0 this Lsun/io/CharToByteEUC_TW;
0 26 1 input [C
0 26 2 inOff I
0 26 3 inEnd I
0 26 4 output [B
0 26 5 outOff I
0 26 6 outEnd I
6 8 7 outputSize I
9 24 7 outputSize I
1 26 8 tmpbuf [B
4 24 9 outputByte [B
19 23 10 i I
Exceptions:
throws sun.io.UnknownCharacterException, sun.io.MalformedInputException, sun.io.ConversionBufferFullException
MethodParameters:
Name Flags
input
inOff
inEnd
output
outOff
outEnd
public int getMaxBytesPerChar();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_4
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/CharToByteEUC_TW;
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/CharToByteEUC_TW;
protected int getNative(char);
descriptor: (C)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield sun.io.CharToByteEUC_TW.UniTab2:[C
iconst_0
caload
if_icmpge 6
1: aload 0
iload 1
aload 0
getfield sun.io.CharToByteEUC_TW.UniTab1:[C
invokevirtual sun.io.CharToByteEUC_TW.searchTab:(C[C)I
dup
istore 2
start local 2 2: iconst_m1
if_icmpne 4
3: iconst_m1
ireturn
4: StackMap locals: int
StackMap stack:
aload 0
getfield sun.io.CharToByteEUC_TW.CNSTab1:[C
iconst_2
iload 2
imul
caload
bipush 16
ishl
aload 0
getfield sun.io.CharToByteEUC_TW.CNSTab1:[C
iconst_2
iload 2
imul
iconst_1
iadd
caload
iadd
istore 3
start local 3 5: iload 3
ireturn
end local 3 end local 2 6: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield sun.io.CharToByteEUC_TW.UniTab3:[C
iconst_0
caload
if_icmpge 12
7: aload 0
iload 1
aload 0
getfield sun.io.CharToByteEUC_TW.UniTab2:[C
invokevirtual sun.io.CharToByteEUC_TW.searchTab:(C[C)I
dup
istore 2
start local 2 8: iconst_m1
if_icmpne 10
9: iconst_m1
ireturn
10: StackMap locals: int
StackMap stack:
aload 0
getfield sun.io.CharToByteEUC_TW.CNSTab2:[C
iconst_2
iload 2
imul
caload
bipush 16
ishl
aload 0
getfield sun.io.CharToByteEUC_TW.CNSTab2:[C
iconst_2
iload 2
imul
iconst_1
iadd
caload
iadd
istore 3
start local 3 11: iload 3
ireturn
end local 3 end local 2 12: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 0
getfield sun.io.CharToByteEUC_TW.UniTab3:[C
invokevirtual sun.io.CharToByteEUC_TW.searchTab:(C[C)I
dup
istore 2
start local 2 13: iconst_m1
if_icmpne 15
14: iconst_m1
ireturn
15: StackMap locals: int
StackMap stack:
aload 0
getfield sun.io.CharToByteEUC_TW.CNSTab3:[C
iconst_2
iload 2
imul
caload
bipush 16
ishl
aload 0
getfield sun.io.CharToByteEUC_TW.CNSTab3:[C
iconst_2
iload 2
imul
iconst_1
iadd
caload
iadd
istore 3
start local 3 16: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/io/CharToByteEUC_TW;
0 17 1 unicode C
2 6 2 i I
8 12 2 i I
13 17 2 i I
5 6 3 cns I
11 12 3 cns I
16 17 3 cns I
MethodParameters:
Name Flags
unicode
protected int searchTab(char, char[]);
descriptor: (C[C)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 2
arraylength
iconst_1
isub
istore 5
start local 5 3: goto 16
4: StackMap locals: int int int
StackMap stack:
aload 2
iload 4
caload
iload 1
if_icmpne 7
5: iload 4
istore 3
6: goto 17
7: StackMap locals:
StackMap stack:
aload 2
iload 5
caload
iload 1
if_icmpne 10
8: iload 5
istore 3
9: goto 17
10: StackMap locals:
StackMap stack:
iload 4
iload 5
iadd
iconst_2
idiv
istore 3
11: aload 2
iload 3
caload
iload 1
if_icmpne 13
12: goto 17
13: StackMap locals:
StackMap stack:
aload 2
iload 3
caload
iload 1
if_icmpge 15
14: iload 3
iconst_1
iadd
istore 4
goto 16
15: StackMap locals:
StackMap stack:
iload 3
iconst_1
isub
istore 5
16: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmplt 4
17: StackMap locals:
StackMap stack:
iload 1
aload 2
iload 3
caload
if_icmpne 19
18: iload 3
ireturn
19: StackMap locals:
StackMap stack:
iconst_m1
ireturn
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 20 0 this Lsun/io/CharToByteEUC_TW;
0 20 1 code C
0 20 2 table [C
1 20 3 i I
2 20 4 l I
3 20 5 h I
MethodParameters:
Name Flags
code
table
private int unicodeToEUC(char, byte[]);
descriptor: (C[B)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual sun.io.CharToByteEUC_TW.getNative:(C)I
istore 3
start local 3 1: iload 3
bipush 16
ishr
iconst_1
if_icmpne 5
2: aload 2
iconst_0
iload 3
ldc 65280
iand
bipush 8
ishr
bipush -128
ior
i2b
bastore
3: aload 2
iconst_1
iload 3
sipush 255
iand
bipush -128
ior
i2b
bastore
4: iconst_2
ireturn
5: StackMap locals: int
StackMap stack:
iload 3
bipush 16
ishr
i2b
istore 4
start local 4 6: iload 4
iconst_2
if_icmplt 12
7: aload 2
iconst_0
bipush -114
bastore
8: aload 2
iconst_1
iload 4
bipush -96
ior
i2b
bastore
9: aload 2
iconst_2
iload 3
ldc 65280
iand
bipush 8
ishr
bipush -128
ior
i2b
bastore
10: aload 2
iconst_3
iload 3
sipush 255
iand
bipush -128
ior
i2b
bastore
11: iconst_4
ireturn
12: StackMap locals: int
StackMap stack:
iconst_m1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/io/CharToByteEUC_TW;
0 13 1 unicode C
0 13 2 ebyte [B
1 13 3 cns I
6 13 4 cnsPlane B
MethodParameters:
Name Flags
unicode
ebyte
protected int unicodeToEUC(char);
descriptor: (C)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iload 1
bipush 127
if_icmpgt 2
1: iload 1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual sun.io.CharToByteEUC_TW.getNative:(C)I
istore 2
start local 2 3: iload 2
bipush 16
ishr
istore 3
start local 3 4: iload 2
ldc 65535
iand
ldc 32896
ior
istore 4
start local 4 5: iload 3
iconst_1
if_icmpne 7
6: iload 4
ireturn
7: StackMap locals: int int int
StackMap stack:
iload 3
iconst_2
if_icmpne 11
8: ldc -1901985792
9: iload 4
10: ior
ireturn
11: StackMap locals:
StackMap stack:
iload 3
iconst_3
if_icmpne 15
12: ldc -1901920256
13: iload 4
14: ior
ireturn
15: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/io/CharToByteEUC_TW;
0 16 1 unicode C
3 16 2 cns I
4 16 3 plane I
5 16 4 euc I
MethodParameters:
Name Flags
unicode
}
SourceFile: "CharToByteEUC_TW.java"