public abstract class sun.io.CharToByteISO2022 extends sun.io.CharToByteConverter
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.io.CharToByteISO2022
super_class: sun.io.CharToByteConverter
{
private final byte ISO_ESC;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 27
private final byte ISO_SI;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 15
private final byte ISO_SO;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 14
private final byte ISO_SS2_7;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 78
private final byte ISO_SS3_7;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 79
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 final byte MSB;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: -128
protected final byte maximumDesignatorLength;
descriptor: B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
ConstantValue: 4
protected java.lang.String SODesignator;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String SS2Designator;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String SS3Designator;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected sun.io.CharToByteConverter codeConverter;
descriptor: Lsun/io/CharToByteConverter;
flags: (0x0004) ACC_PROTECTED
private boolean shiftout;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean SODesDefined;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean SS2DesDefined;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean SS3DesDefined;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean newshiftout;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean newSODesDefined;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean newSS2DesDefined;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean newSS3DesDefined;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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 27
putfield sun.io.CharToByteISO2022.ISO_ESC:B
2: aload 0
bipush 15
putfield sun.io.CharToByteISO2022.ISO_SI:B
3: aload 0
bipush 14
putfield sun.io.CharToByteISO2022.ISO_SO:B
4: aload 0
bipush 78
putfield sun.io.CharToByteISO2022.ISO_SS2_7:B
5: aload 0
bipush 79
putfield sun.io.CharToByteISO2022.ISO_SS3_7:B
6: aload 0
bipush -114
putfield sun.io.CharToByteISO2022.SS2:B
7: aload 0
bipush -94
putfield sun.io.CharToByteISO2022.P2:B
8: aload 0
bipush -93
putfield sun.io.CharToByteISO2022.P3:B
9: aload 0
bipush -128
putfield sun.io.CharToByteISO2022.MSB:B
10: aload 0
iconst_4
putfield sun.io.CharToByteISO2022.maximumDesignatorLength:B
11: aload 0
aconst_null
putfield sun.io.CharToByteISO2022.SS2Designator:Ljava/lang/String;
12: aload 0
aconst_null
putfield sun.io.CharToByteISO2022.SS3Designator:Ljava/lang/String;
13: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.shiftout:Z
14: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.SODesDefined:Z
15: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.SS2DesDefined:Z
16: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.SS3DesDefined:Z
17: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.newshiftout:Z
18: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.newSODesDefined:Z
19: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.newSS2DesDefined:Z
20: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.newSS3DesDefined:Z
21: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/io/CharToByteISO2022;
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.CharToByteISO2022.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/CharToByteISO2022;
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
iconst_0
putfield sun.io.CharToByteISO2022.shiftout:Z
1: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.SODesDefined:Z
2: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.SS2DesDefined:Z
3: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.SS3DesDefined:Z
4: aload 0
aload 0
iconst_0
dup_x1
putfield sun.io.CharToByteISO2022.charOff:I
putfield sun.io.CharToByteISO2022.byteOff:I
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/io/CharToByteISO2022;
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: iload 1
sipush 128
if_icmpge 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.CharToByteISO2022.codeConverter:Lsun/io/CharToByteConverter;
iload 1
invokevirtual sun.io.CharToByteConverter.canConvert:(C)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/io/CharToByteISO2022;
0 3 1 ch C
MethodParameters:
Name Flags
ch
private int unicodeToNative(char, byte[]);
descriptor: (C[B)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
getfield sun.io.CharToByteISO2022.codeConverter:Lsun/io/CharToByteConverter;
invokevirtual sun.io.CharToByteConverter.getMaxBytesPerChar:()I
newarray 8
astore 5
start local 5 2: iconst_1
newarray 5
dup
iconst_0
iload 1
castore
astore 6
start local 6 3: aload 0
getfield sun.io.CharToByteISO2022.codeConverter:Lsun/io/CharToByteConverter;
aload 6
iconst_0
iconst_1
aload 5
iconst_0
4: aload 0
getfield sun.io.CharToByteISO2022.codeConverter:Lsun/io/CharToByteConverter;
invokevirtual sun.io.CharToByteConverter.getMaxBytesPerChar:()I
5: invokevirtual sun.io.CharToByteConverter.convert:([CII[BII)I
istore 7
start local 7 6: goto 9
end local 7 StackMap locals: sun.io.CharToByteISO2022 int byte[] int top byte[] char[]
StackMap stack: java.lang.Exception
7: pop
8: iconst_m1
ireturn
start local 7 9: StackMap locals: int
StackMap stack:
iload 7
iconst_2
if_icmpne 22
10: aload 0
getfield sun.io.CharToByteISO2022.SODesDefined:Z
ifne 16
11: aload 0
iconst_1
putfield sun.io.CharToByteISO2022.newSODesDefined:Z
12: aload 2
iconst_0
bipush 27
bastore
13: aload 0
getfield sun.io.CharToByteISO2022.SODesignator:Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 4
start local 4 14: aload 4
iconst_0
aload 2
iconst_1
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: aload 4
arraylength
iconst_1
iadd
istore 3
end local 4 16: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.CharToByteISO2022.shiftout:Z
ifne 19
17: aload 0
iconst_1
putfield sun.io.CharToByteISO2022.newshiftout:Z
18: aload 2
iload 3
iinc 3 1
bipush 14
bastore
19: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
aload 5
iconst_0
baload
bipush 127
iand
i2b
bastore
20: aload 2
iload 3
iinc 3 1
aload 5
iconst_1
baload
bipush 127
iand
i2b
bastore
21: goto 44
22: StackMap locals:
StackMap stack:
aload 5
iconst_0
baload
bipush -114
if_icmpne 33
aload 5
iconst_1
baload
bipush -94
if_icmpne 33
23: aload 0
getfield sun.io.CharToByteISO2022.SS2DesDefined:Z
ifne 29
24: aload 0
iconst_1
putfield sun.io.CharToByteISO2022.newSS2DesDefined:Z
25: aload 2
iconst_0
bipush 27
bastore
26: aload 0
getfield sun.io.CharToByteISO2022.SS2Designator:Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 4
start local 4 27: aload 4
iconst_0
aload 2
iconst_1
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
28: aload 4
arraylength
iconst_1
iadd
istore 3
end local 4 29: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
bipush 27
bastore
30: aload 2
iload 3
iinc 3 1
bipush 78
bastore
31: aload 2
iload 3
iinc 3 1
aload 5
iconst_2
baload
bipush 127
iand
i2b
bastore
32: aload 2
iload 3
iinc 3 1
aload 5
iconst_3
baload
bipush 127
iand
i2b
bastore
33: StackMap locals:
StackMap stack:
aload 5
iconst_0
baload
bipush -114
if_icmpne 44
aload 5
iconst_1
baload
sipush 163
if_icmpne 44
34: aload 0
getfield sun.io.CharToByteISO2022.SS3DesDefined:Z
ifne 40
35: aload 0
iconst_1
putfield sun.io.CharToByteISO2022.newSS3DesDefined:Z
36: aload 2
iconst_0
bipush 27
bastore
37: aload 0
getfield sun.io.CharToByteISO2022.SS3Designator:Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 4
start local 4 38: aload 4
iconst_0
aload 2
iconst_1
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
39: aload 4
arraylength
iconst_1
iadd
istore 3
end local 4 40: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
bipush 27
bastore
41: aload 2
iload 3
iinc 3 1
bipush 79
bastore
42: aload 2
iload 3
iinc 3 1
aload 5
iconst_2
baload
bipush 127
iand
i2b
bastore
43: aload 2
iload 3
iinc 3 1
aload 5
iconst_3
baload
bipush 127
iand
i2b
bastore
44: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lsun/io/CharToByteISO2022;
0 45 1 unicode C
0 45 2 ebyte [B
1 45 3 index I
14 16 4 tmpByte [B
27 29 4 tmpByte [B
38 40 4 tmpByte [B
2 45 5 convByte [B
3 45 6 convChar [C
6 7 7 converted I
9 45 7 converted I
Exception table:
from to target type
3 6 7 Class java.lang.Exception
MethodParameters:
Name Flags
unicode
ebyte
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: aload 0
invokevirtual sun.io.CharToByteISO2022.getMaxBytesPerChar:()I
newarray 8
astore 8
start local 8 1: aload 0
iload 5
putfield sun.io.CharToByteISO2022.byteOff:I
2: aload 0
aload 0
getfield sun.io.CharToByteISO2022.shiftout:Z
putfield sun.io.CharToByteISO2022.newshiftout:Z
3: aload 0
aload 0
getfield sun.io.CharToByteISO2022.SODesDefined:Z
putfield sun.io.CharToByteISO2022.newSODesDefined:Z
4: aload 0
aload 0
getfield sun.io.CharToByteISO2022.SS2DesDefined:Z
putfield sun.io.CharToByteISO2022.newSS2DesDefined:Z
5: aload 0
aload 0
getfield sun.io.CharToByteISO2022.SS3DesDefined:Z
putfield sun.io.CharToByteISO2022.newSS3DesDefined:Z
6: aload 0
iload 2
putfield sun.io.CharToByteISO2022.charOff:I
goto 50
7: StackMap locals: sun.io.CharToByteISO2022 char[] int int byte[] int int top byte[]
StackMap stack:
aload 8
astore 9
start local 9 8: aload 1
aload 0
getfield sun.io.CharToByteISO2022.charOff:I
caload
sipush 128
if_icmpge 22
9: aload 0
getfield sun.io.CharToByteISO2022.shiftout:Z
ifeq 15
10: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.newshiftout:Z
11: iconst_2
istore 7
start local 7 12: aload 9
iconst_0
bipush 15
bastore
13: aload 9
iconst_1
aload 1
aload 0
getfield sun.io.CharToByteISO2022.charOff:I
caload
bipush 127
iand
i2b
bastore
14: goto 17
end local 7 15: StackMap locals: byte[]
StackMap stack:
iconst_1
istore 7
start local 7 16: aload 9
iconst_0
aload 1
aload 0
getfield sun.io.CharToByteISO2022.charOff:I
caload
bipush 127
iand
i2b
bastore
17: StackMap locals: sun.io.CharToByteISO2022 char[] int int byte[] int int int byte[] byte[]
StackMap stack:
aload 1
aload 0
getfield sun.io.CharToByteISO2022.charOff:I
caload
bipush 10
if_icmpne 23
18: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.newSODesDefined:Z
19: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.newSS2DesDefined:Z
20: aload 0
iconst_0
putfield sun.io.CharToByteISO2022.newSS3DesDefined:Z
21: goto 23
end local 7 22: StackMap locals: sun.io.CharToByteISO2022 char[] int int byte[] int int top byte[] byte[]
StackMap stack:
aload 0
aload 1
aload 0
getfield sun.io.CharToByteISO2022.charOff:I
caload
aload 9
invokevirtual sun.io.CharToByteISO2022.unicodeToNative:(C[B)I
istore 7
start local 7 23: StackMap locals: sun.io.CharToByteISO2022 char[] int int byte[] int int int byte[] byte[]
StackMap stack:
iload 7
iconst_m1
if_icmpne 38
24: aload 0
getfield sun.io.CharToByteISO2022.subMode:Z
ifeq 36
25: aload 0
getfield sun.io.CharToByteISO2022.newSODesDefined:Z
ifne 33
26: aload 0
aload 0
getfield sun.io.CharToByteISO2022.newSODesDefined:Z
ifeq 27
iconst_0
goto 28
StackMap locals:
StackMap stack: sun.io.CharToByteISO2022
27: iconst_1
StackMap locals: sun.io.CharToByteISO2022 char[] int int byte[] int int int byte[] byte[]
StackMap stack: sun.io.CharToByteISO2022 int
28: putfield sun.io.CharToByteISO2022.newSODesDefined:Z
29: aload 9
iconst_0
bipush 14
bastore
30: aload 9
iconst_1
bipush 63
bastore
31: iconst_2
istore 7
32: goto 38
33: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.CharToByteISO2022.subBytes:[B
astore 9
34: aload 0
getfield sun.io.CharToByteISO2022.subBytes:[B
arraylength
istore 7
35: goto 38
36: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.io.CharToByteISO2022.badInputLength:I
37: new sun.io.UnknownCharacterException
dup
invokespecial sun.io.UnknownCharacterException.<init>:()V
athrow
38: StackMap locals:
StackMap stack:
iload 6
aload 0
getfield sun.io.CharToByteISO2022.byteOff:I
isub
iload 7
if_icmpge 40
39: new sun.io.ConversionBufferFullException
dup
invokespecial sun.io.ConversionBufferFullException.<init>:()V
athrow
40: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 41: goto 44
42: StackMap locals: int
StackMap stack:
aload 4
aload 0
dup
getfield sun.io.CharToByteISO2022.byteOff:I
dup_x1
iconst_1
iadd
putfield sun.io.CharToByteISO2022.byteOff:I
aload 9
iload 10
baload
bastore
43: iinc 10 1
StackMap locals:
StackMap stack:
44: iload 10
iload 7
if_icmplt 42
end local 10 45: aload 0
aload 0
getfield sun.io.CharToByteISO2022.newshiftout:Z
putfield sun.io.CharToByteISO2022.shiftout:Z
46: aload 0
aload 0
getfield sun.io.CharToByteISO2022.newSODesDefined:Z
putfield sun.io.CharToByteISO2022.SODesDefined:Z
47: aload 0
aload 0
getfield sun.io.CharToByteISO2022.newSS2DesDefined:Z
putfield sun.io.CharToByteISO2022.SS2DesDefined:Z
48: aload 0
aload 0
getfield sun.io.CharToByteISO2022.newSS3DesDefined:Z
putfield sun.io.CharToByteISO2022.SS3DesDefined:Z
49: aload 0
dup
getfield sun.io.CharToByteISO2022.charOff:I
iconst_1
iadd
putfield sun.io.CharToByteISO2022.charOff:I
end local 9 end local 7 StackMap locals: sun.io.CharToByteISO2022 char[] int int byte[] int int top byte[]
StackMap stack:
50: aload 0
getfield sun.io.CharToByteISO2022.charOff:I
iload 3
if_icmplt 7
51: aload 0
getfield sun.io.CharToByteISO2022.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 52 0 this Lsun/io/CharToByteISO2022;
0 52 1 input [C
0 52 2 inOff I
0 52 3 inEnd I
0 52 4 output [B
0 52 5 outOff I
0 52 6 outEnd I
12 15 7 outputSize I
16 22 7 outputSize I
23 50 7 outputSize I
1 52 8 tmpbuf [B
8 50 9 outputByte [B
41 45 10 i I
Exceptions:
throws sun.io.UnknownCharacterException, sun.io.MalformedInputException, sun.io.ConversionBufferFullException
MethodParameters:
Name Flags
input
inOff
inEnd
output
outOff
outEnd
}
SourceFile: "CharToByteISO2022.java"