public class sun.io.ByteToCharCp964 extends sun.io.ByteToCharConverter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.io.ByteToCharCp964
super_class: sun.io.ByteToCharConverter
{
private static final sun.nio.cs.ext.IBM964 nioCoder;
descriptor: Lsun/nio/cs/ext/IBM964;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final int G0;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 0
private final int G1;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 1
private final int G2;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 2
private final int G3;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 3
private final int G4;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 4
private final int SS2;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 142
private final int SS3;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 143
private int firstByte;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String byteToCharTable;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String mappingTableG1;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String mappingTableG2;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String mappingTableG2a2;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String mappingTableG2ac;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String mappingTableG2ad;
descriptor: Ljava/lang/String;
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.IBM964
dup
invokespecial sun.nio.cs.ext.IBM964.<init>:()V
putstatic sun.io.ByteToCharCp964.nioCoder:Lsun/nio/cs/ext/IBM964;
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.ByteToCharCp964.G0:I
2: aload 0
iconst_1
putfield sun.io.ByteToCharCp964.G1:I
3: aload 0
iconst_2
putfield sun.io.ByteToCharCp964.G2:I
4: aload 0
iconst_3
putfield sun.io.ByteToCharCp964.G3:I
5: aload 0
iconst_4
putfield sun.io.ByteToCharCp964.G4:I
6: aload 0
sipush 142
putfield sun.io.ByteToCharCp964.SS2:I
7: aload 0
sipush 143
putfield sun.io.ByteToCharCp964.SS3:I
8: aload 0
iconst_0
putfield sun.io.ByteToCharCp964.state:I
9: aload 0
getstatic sun.io.ByteToCharCp964.nioCoder:Lsun/nio/cs/ext/IBM964;
invokevirtual sun.nio.cs.ext.IBM964.getDecoderSingleByteMappings:()Ljava/lang/String;
putfield sun.io.ByteToCharCp964.byteToCharTable:Ljava/lang/String;
10: aload 0
getstatic sun.io.ByteToCharCp964.nioCoder:Lsun/nio/cs/ext/IBM964;
invokevirtual sun.nio.cs.ext.IBM964.getDecoderMappingTableG1:()Ljava/lang/String;
putfield sun.io.ByteToCharCp964.mappingTableG1:Ljava/lang/String;
11: aload 0
getstatic sun.io.ByteToCharCp964.nioCoder:Lsun/nio/cs/ext/IBM964;
invokevirtual sun.nio.cs.ext.IBM964.getDecoderMappingTableG2a2:()Ljava/lang/String;
putfield sun.io.ByteToCharCp964.mappingTableG2a2:Ljava/lang/String;
12: aload 0
getstatic sun.io.ByteToCharCp964.nioCoder:Lsun/nio/cs/ext/IBM964;
invokevirtual sun.nio.cs.ext.IBM964.getDecoderMappingTableG2ac:()Ljava/lang/String;
putfield sun.io.ByteToCharCp964.mappingTableG2ac:Ljava/lang/String;
13: aload 0
getstatic sun.io.ByteToCharCp964.nioCoder:Lsun/nio/cs/ext/IBM964;
invokevirtual sun.nio.cs.ext.IBM964.getDecoderMappingTableG2ad:()Ljava/lang/String;
putfield sun.io.ByteToCharCp964.mappingTableG2ad:Ljava/lang/String;
14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/io/ByteToCharCp964;
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 "Cp964"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/ByteToCharCp964;
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.ByteToCharCp964.state:I
ifeq 4
1: aload 0
invokevirtual sun.io.ByteToCharCp964.reset:()V
2: aload 0
iconst_0
putfield sun.io.ByteToCharCp964.badInputLength:I
3: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.io.ByteToCharCp964.reset:()V
5: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/io/ByteToCharCp964;
0 6 1 output [C
0 6 2 outStart I
0 6 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.ByteToCharCp964.state:I
1: aload 0
aload 0
iconst_0
dup_x1
putfield sun.io.ByteToCharCp964.byteOff:I
putfield sun.io.ByteToCharCp964.charOff:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/io/ByteToCharCp964;
public int convert(byte[], int, int, char[], int, int);
descriptor: ([BII[CII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, 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: ldc 65533
istore 8
start local 8 1: aload 0
iload 2
putfield sun.io.ByteToCharCp964.byteOff:I
2: aload 0
iload 5
putfield sun.io.ByteToCharCp964.charOff:I
3: goto 60
4: StackMap locals: sun.io.ByteToCharCp964 byte[] int int char[] int int top int
StackMap stack:
aload 1
aload 0
getfield sun.io.ByteToCharCp964.byteOff:I
baload
istore 7
start local 7 5: iload 7
ifge 7
6: iinc 7 256
7: StackMap locals: sun.io.ByteToCharCp964 byte[] int int char[] int int int int
StackMap stack:
aload 0
getfield sun.io.ByteToCharCp964.state:I
tableswitch { // 0 - 4
0: 8
1: 21
2: 27
3: 38
4: 45
default: 50
}
8: StackMap locals:
StackMap stack:
iload 7
sipush 142
if_icmpne 10
9: aload 0
iconst_2
putfield sun.io.ByteToCharCp964.state:I
goto 50
10: StackMap locals:
StackMap stack:
iload 7
sipush 143
if_icmpne 13
11: aload 0
iconst_1
putfield sun.io.ByteToCharCp964.badInputLength:I
12: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
iload 7
sipush 159
if_icmpgt 15
14: aload 0
getfield sun.io.ByteToCharCp964.byteToCharTable:Ljava/lang/String;
iload 7
invokevirtual java.lang.String.charAt:(I)C
istore 8
goto 50
15: StackMap locals:
StackMap stack:
iload 7
sipush 161
if_icmplt 16
iload 7
sipush 254
if_icmple 18
16: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.io.ByteToCharCp964.badInputLength:I
17: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
aload 0
iload 7
putfield sun.io.ByteToCharCp964.firstByte:I
19: aload 0
iconst_1
putfield sun.io.ByteToCharCp964.state:I
20: goto 50
21: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.io.ByteToCharCp964.state:I
22: iload 7
sipush 161
if_icmplt 23
iload 7
sipush 254
if_icmple 25
23: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.io.ByteToCharCp964.badInputLength:I
24: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
25: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.ByteToCharCp964.mappingTableG1:Ljava/lang/String;
aload 0
getfield sun.io.ByteToCharCp964.firstByte:I
sipush 161
isub
bipush 94
imul
iload 7
iadd
sipush 161
isub
invokevirtual java.lang.String.charAt:(I)C
istore 8
26: goto 50
27: StackMap locals:
StackMap stack:
iload 7
sipush 162
if_icmpne 29
28: aload 0
aload 0
getfield sun.io.ByteToCharCp964.mappingTableG2a2:Ljava/lang/String;
putfield sun.io.ByteToCharCp964.mappingTableG2:Ljava/lang/String;
goto 36
29: StackMap locals:
StackMap stack:
iload 7
sipush 172
if_icmpne 31
30: aload 0
aload 0
getfield sun.io.ByteToCharCp964.mappingTableG2ac:Ljava/lang/String;
putfield sun.io.ByteToCharCp964.mappingTableG2:Ljava/lang/String;
goto 36
31: StackMap locals:
StackMap stack:
iload 7
sipush 173
if_icmpne 33
32: aload 0
aload 0
getfield sun.io.ByteToCharCp964.mappingTableG2ad:Ljava/lang/String;
putfield sun.io.ByteToCharCp964.mappingTableG2:Ljava/lang/String;
goto 36
33: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.io.ByteToCharCp964.state:I
34: aload 0
iconst_1
putfield sun.io.ByteToCharCp964.badInputLength:I
35: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
36: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield sun.io.ByteToCharCp964.state:I
37: goto 50
38: StackMap locals:
StackMap stack:
iload 7
sipush 161
if_icmplt 39
iload 7
sipush 254
if_icmple 42
39: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.io.ByteToCharCp964.state:I
40: aload 0
iconst_1
putfield sun.io.ByteToCharCp964.badInputLength:I
41: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
42: StackMap locals:
StackMap stack:
aload 0
iload 7
putfield sun.io.ByteToCharCp964.firstByte:I
43: aload 0
iconst_4
putfield sun.io.ByteToCharCp964.state:I
44: goto 50
45: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.io.ByteToCharCp964.state:I
46: iload 7
sipush 161
if_icmplt 47
iload 7
sipush 254
if_icmple 49
47: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.io.ByteToCharCp964.badInputLength:I
48: new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
49: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.ByteToCharCp964.mappingTableG2:Ljava/lang/String;
aload 0
getfield sun.io.ByteToCharCp964.firstByte:I
sipush 161
isub
bipush 94
imul
iload 7
iadd
sipush 161
isub
invokevirtual java.lang.String.charAt:(I)C
istore 8
50: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.ByteToCharCp964.state:I
ifne 59
51: iload 8
ldc 65533
if_icmpne 56
52: aload 0
getfield sun.io.ByteToCharCp964.subMode:Z
ifeq 54
53: aload 0
getfield sun.io.ByteToCharCp964.subChars:[C
iconst_0
caload
istore 8
goto 56
54: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.io.ByteToCharCp964.badInputLength:I
55: new sun.io.UnknownCharacterException
dup
invokespecial sun.io.UnknownCharacterException.<init>:()V
athrow
56: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.ByteToCharCp964.charOff:I
iload 6
if_icmplt 58
57: new sun.io.ConversionBufferFullException
dup
invokespecial sun.io.ConversionBufferFullException.<init>:()V
athrow
58: StackMap locals:
StackMap stack:
aload 4
aload 0
dup
getfield sun.io.ByteToCharCp964.charOff:I
dup_x1
iconst_1
iadd
putfield sun.io.ByteToCharCp964.charOff:I
iload 8
castore
59: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.io.ByteToCharCp964.byteOff:I
iconst_1
iadd
putfield sun.io.ByteToCharCp964.byteOff:I
end local 7 60: StackMap locals: sun.io.ByteToCharCp964 byte[] int int char[] int int top int
StackMap stack:
aload 0
getfield sun.io.ByteToCharCp964.byteOff:I
iload 3
if_icmplt 4
61: aload 0
getfield sun.io.ByteToCharCp964.charOff: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 62 0 this Lsun/io/ByteToCharCp964;
0 62 1 input [B
0 62 2 inOff I
0 62 3 inEnd I
0 62 4 output [C
0 62 5 outOff I
0 62 6 outEnd I
5 60 7 byte1 I
1 62 8 outputChar C
Exceptions:
throws sun.io.UnknownCharacterException, sun.io.MalformedInputException, sun.io.ConversionBufferFullException
MethodParameters:
Name Flags
input
inOff
inEnd
output
outOff
outEnd
}
SourceFile: "ByteToCharCp964.java"