public class sun.io.CharToByteEUC_JP_LINUX extends sun.io.CharToByteJIS0208
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.io.CharToByteEUC_JP_LINUX
super_class: sun.io.CharToByteJIS0208
{
sun.io.CharToByteJIS0201 cbJIS0201;
descriptor: Lsun/io/CharToByteJIS0201;
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_LINUX this
0: .line 36
aload 0 /* this */
invokespecial sun.io.CharToByteJIS0208.<init>:()V
1: .line 37
aload 0 /* this */
new sun.io.CharToByteJIS0201
dup
invokespecial sun.io.CharToByteJIS0201.<init>:()V
putfield sun.io.CharToByteEUC_JP_LINUX.cbJIS0201:Lsun/io/CharToByteJIS0201;
2: .line 36
return
end local 0 // sun.io.CharToByteEUC_JP_LINUX this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/io/CharToByteEUC_JP_LINUX;
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_LINUX this
0: .line 40
ldc "EUC_JP_LINUX"
areturn
end local 0 // sun.io.CharToByteEUC_JP_LINUX this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/CharToByteEUC_JP_LINUX;
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_LINUX this
start local 1 // char inputChar
start local 2 // byte[] outputByte
0: .line 46
iload 1 /* inputChar */
ifne 3
1: .line 47
aload 2 /* outputByte */
iconst_0
iconst_0
bastore
2: .line 48
iconst_1
ireturn
3: .line 51
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.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 52
iconst_0
ireturn
6: .line 54
StackMap locals: int
StackMap stack:
iload 3 /* b */
ifle 9
iload 3 /* b */
sipush 128
if_icmpge 9
7: .line 55
aload 2 /* outputByte */
iconst_0
iload 3 /* b */
bastore
8: .line 56
iconst_1
ireturn
9: .line 58
StackMap locals:
StackMap stack:
aload 2 /* outputByte */
iconst_0
bipush -114
bastore
10: .line 59
aload 2 /* outputByte */
iconst_1
iload 3 /* b */
bastore
11: .line 60
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_LINUX this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/io/CharToByteEUC_JP_LINUX;
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_LINUX this
start local 1 // char ch
0: .line 64
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.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 65
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.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 66
iload 3 /* r */
ifeq 4
3: .line 67
iload 3 /* r */
ldc 32896
iadd
ireturn
4: .line 68
StackMap locals: int int
StackMap stack:
iload 3 /* r */
ireturn
end local 3 // int r
end local 2 // int offset
end local 1 // char ch
end local 0 // sun.io.CharToByteEUC_JP_LINUX this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/io/CharToByteEUC_JP_LINUX;
0 5 1 ch C
1 5 2 offset I
2 5 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_LINUX 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 92
iconst_0
istore 9 /* inputSize */
start local 9 // int inputSize
1: .line 93
iconst_0
istore 10 /* outputSize */
start local 10 // int outputSize
2: .line 94
iconst_4
newarray 8
astore 11 /* tmpbuf */
start local 11 // byte[] tmpbuf
3: .line 97
aload 0 /* this */
iload 2 /* inOff */
putfield sun.io.CharToByteEUC_JP_LINUX.charOff:I
4: .line 98
aload 0 /* this */
iload 5 /* outOff */
putfield sun.io.CharToByteEUC_JP_LINUX.byteOff:I
5: .line 100
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.highHalfZoneCode:C
ifeq 56
6: .line 101
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.highHalfZoneCode:C
istore 7 /* inputChar */
start local 7 // char inputChar
7: .line 102
aload 0 /* this */
iconst_0
putfield sun.io.CharToByteEUC_JP_LINUX.highHalfZoneCode:C
8: .line 103
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 105
aload 0 /* this */
iconst_1
putfield sun.io.CharToByteEUC_JP_LINUX.badInputLength:I
10: .line 106
new sun.io.UnknownCharacterException
dup
invokespecial sun.io.UnknownCharacterException.<init>:()V
athrow
11: .line 109
StackMap locals: sun.io.CharToByteEUC_JP_LINUX char[] int int byte[] int int int top int int byte[]
StackMap stack:
aload 0 /* this */
iconst_0
putfield sun.io.CharToByteEUC_JP_LINUX.badInputLength:I
12: .line 110
new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
end local 7 // char inputChar
13: .line 116
StackMap locals: sun.io.CharToByteEUC_JP_LINUX char[] int int byte[] int int top top int int byte[]
StackMap stack:
iconst_1
istore 9 /* inputSize */
14: .line 117
aload 11 /* tmpbuf */
astore 8 /* outputByte */
start local 8 // byte[] outputByte
15: .line 118
aload 1 /* input */
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.charOff:I
caload
istore 7 /* inputChar */
start local 7 // char inputChar
16: .line 121
iload 7 /* inputChar */
ldc 55296
if_icmplt 31
iload 7 /* inputChar */
ldc 56319
if_icmpgt 31
17: .line 123
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.charOff:I
iconst_1
iadd
iload 3 /* inEnd */
if_icmplt 20
18: .line 124
aload 0 /* this */
iload 7 /* inputChar */
putfield sun.io.CharToByteEUC_JP_LINUX.highHalfZoneCode:C
19: .line 125
goto 57
20: .line 129
StackMap locals: sun.io.CharToByteEUC_JP_LINUX char[] int int byte[] int int int byte[] int int byte[]
StackMap stack:
aload 1 /* input */
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.charOff:I
iconst_1
iadd
caload
istore 7 /* inputChar */
21: .line 130
iload 7 /* inputChar */
ldc 56320
if_icmplt 29
iload 7 /* inputChar */
ldc 57343
if_icmpgt 29
22: .line 133
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.subMode:Z
ifeq 27
23: .line 134
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.subBytes:[B
astore 8 /* outputByte */
24: .line 135
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.subBytes:[B
arraylength
istore 10 /* outputSize */
25: .line 136
iconst_2
istore 9 /* inputSize */
26: .line 137
goto 48
27: .line 138
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_2
putfield sun.io.CharToByteEUC_JP_LINUX.badInputLength:I
28: .line 139
new sun.io.UnknownCharacterException
dup
invokespecial sun.io.UnknownCharacterException.<init>:()V
athrow
29: .line 143
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_1
putfield sun.io.CharToByteEUC_JP_LINUX.badInputLength:I
30: .line 144
new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
31: .line 148
StackMap locals:
StackMap stack:
iload 7 /* inputChar */
ldc 56320
if_icmplt 34
iload 7 /* inputChar */
ldc 57343
if_icmpgt 34
32: .line 149
aload 0 /* this */
iconst_1
putfield sun.io.CharToByteEUC_JP_LINUX.badInputLength:I
33: .line 150
new sun.io.MalformedInputException
dup
invokespecial sun.io.MalformedInputException.<init>:()V
athrow
34: .line 152
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 7 /* inputChar */
aload 8 /* outputByte */
invokevirtual sun.io.CharToByteEUC_JP_LINUX.convSingleByte:(C[B)I
istore 10 /* outputSize */
35: .line 153
iload 10 /* outputSize */
ifne 48
36: .line 154
aload 0 /* this */
iload 7 /* inputChar */
invokevirtual sun.io.CharToByteEUC_JP_LINUX.getNative:(C)I
istore 12 /* ncode */
start local 12 // int ncode
37: .line 155
iload 12 /* ncode */
ifeq 42
iload 12 /* ncode */
ldc 16711680
iand
ifne 42
38: .line 156
aload 8 /* outputByte */
iconst_0
iload 12 /* ncode */
ldc 65280
iand
bipush 8
ishr
i2b
bastore
39: .line 157
aload 8 /* outputByte */
iconst_1
iload 12 /* ncode */
sipush 255
iand
i2b
bastore
40: .line 158
iconst_2
istore 10 /* outputSize */
41: .line 159
goto 48
42: .line 160
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.subMode:Z
ifeq 46
43: .line 161
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.subBytes:[B
astore 8 /* outputByte */
44: .line 162
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.subBytes:[B
arraylength
istore 10 /* outputSize */
45: .line 163
goto 48
46: .line 164
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_1
putfield sun.io.CharToByteEUC_JP_LINUX.badInputLength:I
47: .line 165
new sun.io.UnknownCharacterException
dup
invokespecial sun.io.UnknownCharacterException.<init>:()V
athrow
end local 12 // int ncode
48: .line 172
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.byteOff:I
iload 10 /* outputSize */
iadd
iload 6 /* outEnd */
if_icmple 50
49: .line 173
new sun.io.ConversionBufferFullException
dup
invokespecial sun.io.ConversionBufferFullException.<init>:()V
athrow
50: .line 176
StackMap locals:
StackMap stack:
iconst_0
istore 12 /* i */
start local 12 // int i
51: goto 54
52: .line 177
StackMap locals: int
StackMap stack:
aload 4 /* output */
aload 0 /* this */
dup
getfield sun.io.CharToByteEUC_JP_LINUX.byteOff:I
dup_x1
iconst_1
iadd
putfield sun.io.CharToByteEUC_JP_LINUX.byteOff:I
aload 8 /* outputByte */
iload 12 /* i */
baload
bastore
53: .line 176
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
54: iload 12 /* i */
iload 10 /* outputSize */
if_icmplt 52
end local 12 // int i
55: .line 179
aload 0 /* this */
dup
getfield sun.io.CharToByteEUC_JP_LINUX.charOff:I
iload 9 /* inputSize */
iadd
putfield sun.io.CharToByteEUC_JP_LINUX.charOff:I
end local 8 // byte[] outputByte
end local 7 // char inputChar
56: .line 115
StackMap locals: sun.io.CharToByteEUC_JP_LINUX char[] int int byte[] int int top top int int byte[]
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.charOff:I
iload 3 /* inEnd */
if_icmplt 13
57: .line 182
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteEUC_JP_LINUX.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_LINUX this
LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lsun/io/CharToByteEUC_JP_LINUX;
0 58 1 input [C
0 58 2 inOff I
0 58 3 inEnd I
0 58 4 output [B
0 58 5 outOff I
0 58 6 outEnd I
7 13 7 inputChar C
16 56 7 inputChar C
15 56 8 outputByte [B
1 58 9 inputSize I
2 58 10 outputSize I
3 58 11 tmpbuf [B
37 48 12 ncode I
51 55 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_LINUX this
0: .line 191
iconst_2
ireturn
end local 0 // sun.io.CharToByteEUC_JP_LINUX this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/CharToByteEUC_JP_LINUX;
}
SourceFile: "CharToByteEUC_JP_LINUX.java"