public abstract class sun.io.CharToByteConverter
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.io.CharToByteConverter
super_class: java.lang.Object
{
protected boolean subMode;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected byte[] subBytes;
descriptor: [B
flags: (0x0004) ACC_PROTECTED
protected int charOff;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int byteOff;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int badInputLength;
descriptor: I
flags: (0x0004) ACC_PROTECTED
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield sun.io.CharToByteConverter.subMode:Z
2: aload 0
iconst_1
newarray 8
dup
iconst_0
bipush 63
bastore
putfield sun.io.CharToByteConverter.subBytes:[B
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/io/CharToByteConverter;
public static sun.io.CharToByteConverter getDefault();
descriptor: ()Lsun/io/CharToByteConverter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: iconst_1
invokestatic sun.io.Converters.newDefaultConverter:(I)Ljava/lang/Object;
astore 0
start local 0 1: aload 0
checkcast sun.io.CharToByteConverter
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 2 0 cvt Ljava/lang/Object;
public static sun.io.CharToByteConverter getConverter(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/io/CharToByteConverter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_1
aload 0
invokestatic sun.io.Converters.newConverter:(ILjava/lang/String;)Ljava/lang/Object;
astore 1
start local 1 1: aload 1
checkcast sun.io.CharToByteConverter
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 encoding Ljava/lang/String;
1 2 1 cvt Ljava/lang/Object;
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
encoding
public abstract java.lang.String getCharacterEncoding();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract int convert(char[], int, int, byte[], int, int);
descriptor: ([CII[BII)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws sun.io.MalformedInputException, sun.io.UnknownCharacterException, sun.io.ConversionBufferFullException
MethodParameters:
Name Flags
input
inStart
inEnd
output
outStart
outEnd
public int convertAny(char[], int, int, byte[], int, int);
descriptor: ([CII[BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=12, 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
getfield sun.io.CharToByteConverter.subMode:Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Substitution mode is not on"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 2
istore 7
start local 7 3: iload 5
istore 8
start local 8 4: goto 31
5: StackMap locals: int int
StackMap stack:
aload 0
aload 1
iload 7
iload 3
6: aload 4
iload 8
iload 6
7: invokevirtual sun.io.CharToByteConverter.convert:([CII[BII)I
pop
8: aload 0
invokevirtual sun.io.CharToByteConverter.nextByteIndex:()I
iload 5
isub
9: ireturn
10: StackMap locals:
StackMap stack: sun.io.MalformedInputException
pop
11: aload 0
getfield sun.io.CharToByteConverter.subBytes:[B
astore 9
start local 9 12: aload 9
arraylength
istore 10
start local 10 13: aload 0
invokevirtual sun.io.CharToByteConverter.nextByteIndex:()I
istore 8
14: iload 8
iload 10
iadd
iload 6
if_icmple 16
15: new sun.io.ConversionBufferFullException
dup
invokespecial sun.io.ConversionBufferFullException.<init>:()V
athrow
16: StackMap locals: byte[] int
StackMap stack:
iconst_0
istore 11
start local 11 17: goto 20
18: StackMap locals: int
StackMap stack:
aload 4
iload 8
iinc 8 1
aload 9
iload 11
baload
bastore
19: iinc 11 1
StackMap locals:
StackMap stack:
20: iload 11
iload 10
if_icmplt 18
end local 11 21: aload 0
invokevirtual sun.io.CharToByteConverter.nextCharIndex:()I
istore 7
22: iload 7
aload 0
getfield sun.io.CharToByteConverter.badInputLength:I
iadd
istore 7
23: aload 0
iconst_0
putfield sun.io.CharToByteConverter.badInputLength:I
24: iload 7
iload 3
if_icmplt 31
25: aload 0
iload 8
putfield sun.io.CharToByteConverter.byteOff:I
26: aload 0
getfield sun.io.CharToByteConverter.byteOff:I
iload 5
isub
ireturn
end local 10 end local 9 27: StackMap locals: sun.io.CharToByteConverter char[] int int byte[] int int int int
StackMap stack: sun.io.UnknownCharacterException
astore 9
start local 9 28: new java.lang.Error
dup
ldc "UnknownCharacterException thrown in substititution mode"
29: aload 9
30: invokespecial java.lang.Error.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 31: StackMap locals:
StackMap stack:
iload 7
iload 3
if_icmplt 5
32: aload 0
invokevirtual sun.io.CharToByteConverter.nextByteIndex:()I
iload 5
isub
ireturn
end local 8 end local 7 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 33 0 this Lsun/io/CharToByteConverter;
0 33 1 input [C
0 33 2 inStart I
0 33 3 inEnd I
0 33 4 output [B
0 33 5 outStart I
0 33 6 outEnd I
3 33 7 localInOff I
4 33 8 localOutOff I
12 27 9 s [B
13 27 10 subSize I
17 21 11 i I
28 31 9 e Lsun/io/UnknownCharacterException;
Exception table:
from to target type
5 9 10 Class sun.io.MalformedInputException
5 9 27 Class sun.io.UnknownCharacterException
Exceptions:
throws sun.io.ConversionBufferFullException
MethodParameters:
Name Flags
input
inStart
inEnd
output
outStart
outEnd
public byte[] convertAll(char[]);
descriptor: ([C)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.io.CharToByteConverter.reset:()V
1: aload 0
getfield sun.io.CharToByteConverter.subMode:Z
istore 2
start local 2 2: aload 0
iconst_1
putfield sun.io.CharToByteConverter.subMode:Z
3: aload 0
invokevirtual sun.io.CharToByteConverter.getMaxBytesPerChar:()I
aload 1
arraylength
imul
newarray 8
astore 3
start local 3 4: aload 0
aload 1
iconst_0
aload 1
arraylength
5: aload 3
iconst_0
aload 3
arraylength
6: invokevirtual sun.io.CharToByteConverter.convert:([CII[BII)I
istore 4
start local 4 7: iload 4
aload 0
aload 3
aload 0
invokevirtual sun.io.CharToByteConverter.nextByteIndex:()I
aload 3
arraylength
invokevirtual sun.io.CharToByteConverter.flush:([BII)I
iadd
istore 4
8: iload 4
newarray 8
astore 5
start local 5 9: aload 3
iconst_0
aload 5
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 5
astore 7
11: aload 0
iload 2
putfield sun.io.CharToByteConverter.subMode:Z
12: aload 7
areturn
end local 5 end local 4 13: StackMap locals: sun.io.CharToByteConverter char[] int byte[]
StackMap stack: sun.io.ConversionBufferFullException
pop
14: new java.lang.InternalError
dup
ldc "this.getMaxBytesPerChar returned bad value"
15: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack: sun.io.UnknownCharacterException
pop
17: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
18: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
19: aload 0
iload 2
putfield sun.io.CharToByteConverter.subMode:Z
20: aload 6
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/io/CharToByteConverter;
0 21 1 input [C
2 21 2 savedSubMode Z
4 21 3 output [B
7 13 4 outputLength I
9 13 5 returnedOutput [B
Exception table:
from to target type
4 11 13 Class sun.io.ConversionBufferFullException
4 11 16 Class sun.io.UnknownCharacterException
4 11 18 any
13 18 18 any
Exceptions:
throws sun.io.MalformedInputException
MethodParameters:
Name Flags
input
public abstract int flush(byte[], int, int);
descriptor: ([BII)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws sun.io.MalformedInputException, sun.io.ConversionBufferFullException
MethodParameters:
Name Flags
output
outStart
outEnd
public int flushAny(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.io.CharToByteConverter.subMode:Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Substitution mode is not on"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual sun.io.CharToByteConverter.flush:([BII)I
3: ireturn
4: StackMap locals:
StackMap stack: sun.io.MalformedInputException
pop
5: aload 0
getfield sun.io.CharToByteConverter.subBytes:[B
arraylength
istore 4
start local 4 6: aload 0
getfield sun.io.CharToByteConverter.subBytes:[B
astore 5
start local 5 7: iload 2
istore 6
start local 6 8: iload 2
iload 4
iadd
iload 3
if_icmple 10
9: new sun.io.ConversionBufferFullException
dup
invokespecial sun.io.ConversionBufferFullException.<init>:()V
athrow
10: StackMap locals: int byte[] int
StackMap stack:
iconst_0
istore 7
start local 7 11: goto 14
12: StackMap locals: int
StackMap stack:
aload 1
iload 6
iinc 6 1
aload 5
iload 7
baload
bastore
13: iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
iload 4
if_icmplt 12
end local 7 15: aload 0
aload 0
iconst_0
dup_x1
putfield sun.io.CharToByteConverter.charOff:I
putfield sun.io.CharToByteConverter.byteOff:I
16: aload 0
iconst_0
putfield sun.io.CharToByteConverter.badInputLength:I
17: iload 4
ireturn
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 18 0 this Lsun/io/CharToByteConverter;
0 18 1 output [B
0 18 2 outStart I
0 18 3 outEnd I
6 18 4 subSize I
7 18 5 s [B
8 18 6 outIndex I
11 15 7 i I
Exception table:
from to target type
2 3 4 Class sun.io.MalformedInputException
Exceptions:
throws sun.io.ConversionBufferFullException
MethodParameters:
Name Flags
output
outStart
outEnd
public abstract void reset();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public boolean canConvert(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: iconst_1
newarray 5
astore 2
start local 2 1: iconst_3
newarray 8
astore 3
start local 3 2: aload 2
iconst_0
iload 1
castore
3: aload 0
aload 2
iconst_0
iconst_1
aload 3
iconst_0
iconst_3
invokevirtual sun.io.CharToByteConverter.convert:([CII[BII)I
pop
4: iconst_1
ireturn
end local 3 end local 2 5: StackMap locals:
StackMap stack: java.io.CharConversionException
pop
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/io/CharToByteConverter;
0 7 1 c C
1 5 2 input [C
2 5 3 output [B
Exception table:
from to target type
0 4 5 Class java.io.CharConversionException
MethodParameters:
Name Flags
c
public abstract int getMaxBytesPerChar();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public int getBadInputLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.io.CharToByteConverter.badInputLength:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/CharToByteConverter;
public int nextCharIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.io.CharToByteConverter.charOff:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/CharToByteConverter;
public int nextByteIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.io.CharToByteConverter.byteOff:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/CharToByteConverter;
public void setSubstitutionMode(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield sun.io.CharToByteConverter.subMode:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/io/CharToByteConverter;
0 2 1 doSub Z
MethodParameters:
Name Flags
doSub
public void setSubstitutionBytes(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
arraylength
aload 0
invokevirtual sun.io.CharToByteConverter.getMaxBytesPerChar:()I
if_icmple 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
arraylength
newarray 8
putfield sun.io.CharToByteConverter.subBytes:[B
3: aload 1
iconst_0
aload 0
getfield sun.io.CharToByteConverter.subBytes:[B
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/io/CharToByteConverter;
0 5 1 newSubBytes [B
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
newSubBytes
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "CharToByteConverter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.io.CharToByteConverter.getCharacterEncoding:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/CharToByteConverter;
}
SourceFile: "CharToByteConverter.java"
RuntimeVisibleAnnotations:
java.lang.Deprecated()