public class sun.io.CharToByteSJIS extends sun.io.CharToByteJIS0208
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.io.CharToByteSJIS
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.CharToByteSJIS this
0: .line 33
aload 0 /* this */
invokespecial sun.io.CharToByteJIS0208.<init>:()V
1: .line 34
aload 0 /* this */
new sun.io.CharToByteJIS0201
dup
invokespecial sun.io.CharToByteJIS0201.<init>:()V
putfield sun.io.CharToByteSJIS.cbJIS0201:Lsun/io/CharToByteJIS0201;
2: .line 33
return
end local 0 // sun.io.CharToByteSJIS this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/io/CharToByteSJIS;
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.CharToByteSJIS this
0: .line 37
ldc "SJIS"
areturn
end local 0 // sun.io.CharToByteSJIS this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/CharToByteSJIS;
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.CharToByteSJIS this
start local 1 // char inputChar
start local 2 // byte[] outputByte
0: .line 44
iload 1 /* inputChar */
ldc 65408
iand
ifne 3
1: .line 45
aload 2 /* outputByte */
iconst_0
iload 1 /* inputChar */
i2b
bastore
2: .line 46
iconst_1
ireturn
3: .line 49
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.io.CharToByteSJIS.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 50
iconst_0
ireturn
6: .line 52
StackMap locals: int
StackMap stack:
aload 2 /* outputByte */
iconst_0
iload 3 /* b */
bastore
7: .line 53
iconst_1
ireturn
end local 3 // byte b
end local 2 // byte[] outputByte
end local 1 // char inputChar
end local 0 // sun.io.CharToByteSJIS this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/io/CharToByteSJIS;
0 8 1 inputChar C
0 8 2 outputByte [B
4 8 3 b B
MethodParameters:
Name Flags
inputChar
outputByte
protected int getNative(char);
descriptor: (C)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=2
start local 0 // sun.io.CharToByteSJIS this
start local 1 // char ch
0: .line 57
aload 0 /* this */
getfield sun.io.CharToByteSJIS.index1:[S
iload 1 /* ch */
bipush 8
ishr
saload
bipush 8
ishl
istore 2 /* offset */
start local 2 // int offset
1: .line 58
aload 0 /* this */
getfield sun.io.CharToByteSJIS.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 /* pos */
start local 3 // int pos
2: .line 59
iload 3 /* pos */
ifne 4
3: .line 65
iconst_0
ireturn
4: .line 71
StackMap locals: int int
StackMap stack:
iload 3 /* pos */
bipush 8
ishr
sipush 255
iand
istore 4 /* c1 */
start local 4 // int c1
5: .line 72
iload 3 /* pos */
sipush 255
iand
istore 5 /* c2 */
start local 5 // int c2
6: .line 73
iload 4 /* c1 */
bipush 95
if_icmpge 7
bipush 112
goto 8
StackMap locals: int int
StackMap stack:
7: sipush 176
StackMap locals:
StackMap stack: int
8: istore 6 /* rowOffset */
start local 6 // int rowOffset
9: .line 74
iload 4 /* c1 */
iconst_2
irem
iconst_1
if_icmpne 11
iload 5 /* c2 */
bipush 95
if_icmple 10
bipush 32
goto 12
StackMap locals: int
StackMap stack:
10: bipush 31
goto 12
StackMap locals:
StackMap stack:
11: bipush 126
StackMap locals:
StackMap stack: int
12: istore 7 /* cellOffset */
start local 7 // int cellOffset
13: .line 75
iload 4 /* c1 */
iconst_1
iadd
iconst_1
ishr
iload 6 /* rowOffset */
iadd
bipush 8
ishl
iload 5 /* c2 */
iload 7 /* cellOffset */
iadd
ior
ireturn
end local 7 // int cellOffset
end local 6 // int rowOffset
end local 5 // int c2
end local 4 // int c1
end local 3 // int pos
end local 2 // int offset
end local 1 // char ch
end local 0 // sun.io.CharToByteSJIS this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/io/CharToByteSJIS;
0 14 1 ch C
1 14 2 offset I
2 14 3 pos I
5 14 4 c1 I
6 14 5 c2 I
9 14 6 rowOffset I
13 14 7 cellOffset I
MethodParameters:
Name Flags
ch
}
SourceFile: "CharToByteSJIS.java"