public class sun.io.CharToByteEUC_JP extends sun.io.CharToByteJIS0208
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.io.CharToByteEUC_JP
super_class: sun.io.CharToByteJIS0208
{
sun.io.CharToByteJIS0201 cbJIS0201;
descriptor: Lsun/io/CharToByteJIS0201;
flags: (0x0000)
sun.io.CharToByteJIS0212 cbJIS0212;
descriptor: Lsun/io/CharToByteJIS0212;
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // sun.io.CharToByteEUC_JP this
0: .line 32
aload 0 /* this */
invokespecial sun.io.CharToByteJIS0208.<init>:()V
1: .line 33
aload 0 /* this */
new sun.io.CharToByteJIS0201
dup
invokespecial sun.io.CharToByteJIS0201.<init>:()V
putfield sun.io.CharToByteEUC_JP.cbJIS0201:Lsun/io/CharToByteJIS0201;
2: .line 34
aload 0 /* this */
new sun.io.CharToByteJIS0212
dup
invokespecial sun.io.CharToByteJIS0212.<init>:()V
putfield sun.io.CharToByteEUC_JP.cbJIS0212:Lsun/io/CharToByteJIS0212;
3: .line 32
return
end local 0 // sun.io.CharToByteEUC_JP this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/io/CharToByteEUC_JP;
public java.lang.String getCharacterEncoding();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.io.CharToByteEUC_JP this
0: .line 37
ldc "EUC_JP"
areturn
end local 0 // sun.io.CharToByteEUC_JP this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/CharToByteEUC_JP;
protected int convSingleByte(char, byte[]);
descriptor: (C[B)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 // sun.io.CharToByteEUC_JP this
start local 1 // char inputChar
start local 2 // byte[] outputByte
0: .line 43
iload 1 /* inputChar */
ifne 3
1: .line 44
aload 2 /* outputByte */
iconst_0
iconst_0
bastore
2: .line 45
iconst_1
ireturn
3: .line 48
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.cbJIS0201:Lsun/io/CharToByteJIS0201;
iload 1 /* inputChar */
invokevirtual sun.io.CharToByteJIS0201.getNative:(C)B
dup
istore 3 /* b */
start local 3 // byte b
4: ifne 6
5: .line 49
iconst_0
ireturn
6: .line 51
StackMap locals: int
StackMap stack:
iload 3 /* b */
ifle 9
iload 3 /* b */
sipush 128
if_icmpge 9
7: .line 52
aload 2 /* outputByte */
iconst_0
iload 3 /* b */
bastore
8: .line 53
iconst_1
ireturn
9: .line 55
StackMap locals:
StackMap stack:
aload 2 /* outputByte */
iconst_0
bipush -114
bastore
10: .line 56
aload 2 /* outputByte */
iconst_1
iload 3 /* b */
bastore
11: .line 57
iconst_2
ireturn
end local 3 // byte b
end local 2 // byte[] outputByte
end local 1 // char inputChar
end local 0 // sun.io.CharToByteEUC_JP this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/io/CharToByteEUC_JP;
0 12 1 inputChar C
0 12 2 outputByte [B
4 12 3 b B
MethodParameters:
Name Flags
inputChar
outputByte
protected int getNative(char);
descriptor: (C)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 // sun.io.CharToByteEUC_JP this
start local 1 // char ch
0: .line 61
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.index1:[S
iload 1 /* ch */
ldc 65280
iand
bipush 8
ishr
saload
bipush 8
ishl
istore 2 /* offset */
start local 2 // int offset
1: .line 62
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.index2:[Ljava/lang/String;
iload 2 /* offset */
bipush 12
ishr
aaload
iload 2 /* offset */
sipush 4095
iand
iload 1 /* ch */
sipush 255
iand
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 3 /* r */
start local 3 // int r
2: .line 63
iload 3 /* r */
ifeq 4
3: .line 64
iload 3 /* r */
ldc 32896
iadd
ireturn
4: .line 65
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.cbJIS0212:Lsun/io/CharToByteJIS0212;
iload 1 /* ch */
invokevirtual sun.io.CharToByteJIS0212.getNative:(C)I
istore 3 /* r */
5: .line 66
iload 3 /* r */
ifne 7
6: .line 67
iload 3 /* r */
ireturn
7: .line 68
StackMap locals:
StackMap stack:
iload 3 /* r */
ldc 9404544
iadd
ireturn
end local 3 // int r
end local 2 // int offset
end local 1 // char ch
end local 0 // sun.io.CharToByteEUC_JP this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/io/CharToByteEUC_JP;
0 8 1 ch C
1 8 2 offset I
2 8 3 r I
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=13, args_size=7
start local 0 // sun.io.CharToByteEUC_JP this
start local 1 // char[] input
start local 2 // int inOff
start local 3 // int inEnd
start local 4 // byte[] output
start local 5 // int outOff
start local 6 // int outEnd
0: .line 93
iconst_0
istore 9 /* inputSize */
start local 9 // int inputSize
1: .line 94
iconst_0
istore 10 /* outputSize */
start local 10 // int outputSize
2: .line 95
iconst_4
newarray 8
astore 11 /* tmpbuf */
start local 11 // byte[] tmpbuf
3: .line 98
aload 0 /* this */
iload 2 /* inOff */
putfield sun.io.CharToByteEUC_JP.charOff:I
4: .line 99
aload 0 /* this */
iload 5 /* outOff */
putfield sun.io.CharToByteEUC_JP.byteOff:I
5: .line 101
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.highHalfZoneCode:C
ifeq 62
6: .line 102
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.highHalfZoneCode:C
istore 7 /* inputChar */
start local 7 // char inputChar
7: .line 103
aload 0 /* this */
iconst_0
putfield sun.io.CharToByteEUC_JP.highHalfZoneCode:C
8: .line 104
aload 1 /* input */
iload 2 /* inOff */
caload
ldc 56320
if_icmplt 11
aload 1 /* input */
iload 2 /* inOff */
caload
ldc 57343
if_icmpgt 11
9: .line 106
aload 0 /* this */
iconst_1
putfield sun.io.CharToByteEUC_JP.badInputLength:I
10: .line 107
new sun.io.UnknownCharacterException
dup
invokespecial sun.io.UnknownCharacterException.<init>:()V
athrow
11: .line 110
StackMap locals: sun.io.CharToByteEUC_JP char[] int int byte[] int int int top int int byte[]
StackMap stack:
aload 0 /* this */
iconst_0
putfield sun.io.CharToByteEUC_JP.badInputLength:I
12: .line 111
new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
end local 7 // char inputChar
13: .line 117
StackMap locals: sun.io.CharToByteEUC_JP char[] int int byte[] int int top top int int byte[]
StackMap stack:
iconst_1
istore 9 /* inputSize */
14: .line 118
aload 11 /* tmpbuf */
astore 8 /* outputByte */
start local 8 // byte[] outputByte
15: .line 119
aload 1 /* input */
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.charOff:I
caload
istore 7 /* inputChar */
start local 7 // char inputChar
16: .line 122
iload 7 /* inputChar */
ldc 55296
if_icmplt 31
iload 7 /* inputChar */
ldc 56319
if_icmpgt 31
17: .line 124
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.charOff:I
iconst_1
iadd
iload 3 /* inEnd */
if_icmplt 20
18: .line 125
aload 0 /* this */
iload 7 /* inputChar */
putfield sun.io.CharToByteEUC_JP.highHalfZoneCode:C
19: .line 126
goto 63
20: .line 130
StackMap locals: sun.io.CharToByteEUC_JP char[] int int byte[] int int int byte[] int int byte[]
StackMap stack:
aload 1 /* input */
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.charOff:I
iconst_1
iadd
caload
istore 7 /* inputChar */
21: .line 131
iload 7 /* inputChar */
ldc 56320
if_icmplt 29
iload 7 /* inputChar */
ldc 57343
if_icmpgt 29
22: .line 134
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.subMode:Z
ifeq 27
23: .line 135
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.subBytes:[B
astore 8 /* outputByte */
24: .line 136
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.subBytes:[B
arraylength
istore 10 /* outputSize */
25: .line 137
iconst_2
istore 9 /* inputSize */
26: .line 138
goto 54
27: .line 139
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_2
putfield sun.io.CharToByteEUC_JP.badInputLength:I
28: .line 140
new sun.io.UnknownCharacterException
dup
invokespecial sun.io.UnknownCharacterException.<init>:()V
athrow
29: .line 144
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_1
putfield sun.io.CharToByteEUC_JP.badInputLength:I
30: .line 145
new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
31: .line 149
StackMap locals:
StackMap stack:
iload 7 /* inputChar */
ldc 56320
if_icmplt 34
iload 7 /* inputChar */
ldc 57343
if_icmpgt 34
32: .line 150
aload 0 /* this */
iconst_1
putfield sun.io.CharToByteEUC_JP.badInputLength:I
33: .line 151
new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
34: .line 153
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 7 /* inputChar */
aload 8 /* outputByte */
invokevirtual sun.io.CharToByteEUC_JP.convSingleByte:(C[B)I
istore 10 /* outputSize */
35: .line 154
iload 10 /* outputSize */
ifne 54
36: .line 155
aload 0 /* this */
iload 7 /* inputChar */
invokevirtual sun.io.CharToByteEUC_JP.getNative:(C)I
istore 12 /* ncode */
start local 12 // int ncode
37: .line 156
iload 12 /* ncode */
ifeq 48
38: .line 157
iload 12 /* ncode */
ldc 16711680
iand
ifne 43
39: .line 158
aload 8 /* outputByte */
iconst_0
iload 12 /* ncode */
ldc 65280
iand
bipush 8
ishr
i2b
bastore
40: .line 159
aload 8 /* outputByte */
iconst_1
iload 12 /* ncode */
sipush 255
iand
i2b
bastore
41: .line 160
iconst_2
istore 10 /* outputSize */
42: .line 161
goto 54
43: .line 162
StackMap locals: int
StackMap stack:
aload 8 /* outputByte */
iconst_0
bipush -113
bastore
44: .line 163
aload 8 /* outputByte */
iconst_1
iload 12 /* ncode */
ldc 65280
iand
bipush 8
ishr
i2b
bastore
45: .line 164
aload 8 /* outputByte */
iconst_2
iload 12 /* ncode */
sipush 255
iand
i2b
bastore
46: .line 165
iconst_3
istore 10 /* outputSize */
47: .line 167
goto 54
48: .line 168
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.subMode:Z
ifeq 52
49: .line 169
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.subBytes:[B
astore 8 /* outputByte */
50: .line 170
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.subBytes:[B
arraylength
istore 10 /* outputSize */
51: .line 171
goto 54
52: .line 172
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_1
putfield sun.io.CharToByteEUC_JP.badInputLength:I
53: .line 173
new sun.io.UnknownCharacterException
dup
invokespecial sun.io.UnknownCharacterException.<init>:()V
athrow
end local 12 // int ncode
54: .line 180
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.byteOff:I
iload 10 /* outputSize */
iadd
iload 6 /* outEnd */
if_icmple 56
55: .line 181
new sun.io.ConversionBufferFullException
dup
invokespecial sun.io.ConversionBufferFullException.<init>:()V
athrow
56: .line 184
StackMap locals:
StackMap stack:
iconst_0
istore 12 /* i */
start local 12 // int i
57: goto 60
58: .line 185
StackMap locals: int
StackMap stack:
aload 4 /* output */
aload 0 /* this */
dup
getfield sun.io.CharToByteEUC_JP.byteOff:I
dup_x1
iconst_1
iadd
putfield sun.io.CharToByteEUC_JP.byteOff:I
aload 8 /* outputByte */
iload 12 /* i */
baload
bastore
59: .line 184
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
60: iload 12 /* i */
iload 10 /* outputSize */
if_icmplt 58
end local 12 // int i
61: .line 187
aload 0 /* this */
dup
getfield sun.io.CharToByteEUC_JP.charOff:I
iload 9 /* inputSize */
iadd
putfield sun.io.CharToByteEUC_JP.charOff:I
end local 8 // byte[] outputByte
end local 7 // char inputChar
62: .line 116
StackMap locals: sun.io.CharToByteEUC_JP char[] int int byte[] int int top top int int byte[]
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.charOff:I
iload 3 /* inEnd */
if_icmplt 13
63: .line 190
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP.byteOff:I
iload 5 /* outOff */
isub
ireturn
end local 11 // byte[] tmpbuf
end local 10 // int outputSize
end local 9 // int inputSize
end local 6 // int outEnd
end local 5 // int outOff
end local 4 // byte[] output
end local 3 // int inEnd
end local 2 // int inOff
end local 1 // char[] input
end local 0 // sun.io.CharToByteEUC_JP this
LocalVariableTable:
Start End Slot Name Signature
0 64 0 this Lsun/io/CharToByteEUC_JP;
0 64 1 input [C
0 64 2 inOff I
0 64 3 inEnd I
0 64 4 output [B
0 64 5 outOff I
0 64 6 outEnd I
7 13 7 inputChar C
16 62 7 inputChar C
15 62 8 outputByte [B
1 64 9 inputSize I
2 64 10 outputSize I
3 64 11 tmpbuf [B
37 54 12 ncode I
57 61 12 i I
Exceptions:
throws sun.io.MalformedInputException, sun.io.UnknownCharacterException, 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 // sun.io.CharToByteEUC_JP this
0: .line 199
iconst_3
ireturn
end local 0 // sun.io.CharToByteEUC_JP this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/CharToByteEUC_JP;
}
SourceFile: "CharToByteEUC_JP.java"