public class sun.io.CharToByteUnicode extends sun.io.CharToByteConverter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.io.CharToByteUnicode
super_class: sun.io.CharToByteConverter
{
static final char BYTE_ORDER_MARK;
descriptor: C
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 65279
protected boolean usesMark;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
private boolean markWritten;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static final int UNKNOWN;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int BIG;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int LITTLE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
protected int byteOrder;
descriptor: I
flags: (0x0004) ACC_PROTECTED
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokespecial sun.io.CharToByteConverter.<init>:()V
1: aload 0
iconst_1
putfield sun.io.CharToByteUnicode.usesMark:Z
2: aload 0
iconst_0
putfield sun.io.CharToByteUnicode.markWritten:Z
3: aload 0
iconst_0
putfield sun.io.CharToByteUnicode.byteOrder:I
4: new sun.security.action.GetPropertyAction
dup
ldc "sun.io.unicode.encoding"
5: ldc "UnicodeBig"
6: invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;Ljava/lang/String;)V
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 8: aload 1
ldc "UnicodeBig"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
9: aload 0
iconst_1
putfield sun.io.CharToByteUnicode.byteOrder:I
goto 13
10: StackMap locals: sun.io.CharToByteUnicode java.lang.String
StackMap stack:
aload 1
ldc "UnicodeLittle"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: aload 0
iconst_2
putfield sun.io.CharToByteUnicode.byteOrder:I
goto 13
12: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.io.CharToByteUnicode.byteOrder:I
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/io/CharToByteUnicode;
8 14 1 enc Ljava/lang/String;
public void <init>(int, boolean);
descriptor: (IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial sun.io.CharToByteConverter.<init>:()V
1: aload 0
iconst_1
putfield sun.io.CharToByteUnicode.usesMark:Z
2: aload 0
iconst_0
putfield sun.io.CharToByteUnicode.markWritten:Z
3: aload 0
iconst_0
putfield sun.io.CharToByteUnicode.byteOrder:I
4: aload 0
iload 1
putfield sun.io.CharToByteUnicode.byteOrder:I
5: aload 0
iload 2
putfield sun.io.CharToByteUnicode.usesMark:Z
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/io/CharToByteUnicode;
0 7 1 byteOrder I
0 7 2 usesMark Z
MethodParameters:
Name Flags
byteOrder
usesMark
public void <init>(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
invokespecial sun.io.CharToByteUnicode.<init>:()V
1: aload 0
iload 1
putfield sun.io.CharToByteUnicode.usesMark:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/io/CharToByteUnicode;
0 3 1 usesMark Z
MethodParameters:
Name Flags
usesMark
public java.lang.String getCharacterEncoding();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.io.CharToByteUnicode.byteOrder:I
tableswitch { // 1 - 2
1: 1
2: 4
default: 7
}
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.CharToByteUnicode.usesMark:Z
ifeq 2
ldc "UnicodeBig"
goto 3
StackMap locals:
StackMap stack:
2: ldc "UnicodeBigUnmarked"
StackMap locals:
StackMap stack: java.lang.String
3: areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.CharToByteUnicode.usesMark:Z
ifeq 5
ldc "UnicodeLittle"
goto 6
StackMap locals:
StackMap stack:
5: ldc "UnicodeLittleUnmarked"
StackMap locals:
StackMap stack: java.lang.String
6: areturn
7: StackMap locals:
StackMap stack:
ldc "UnicodeUnknown"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/io/CharToByteUnicode;
public int convert(char[], int, int, byte[], int, int);
descriptor: ([CII[BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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
iload 2
putfield sun.io.CharToByteUnicode.charOff:I
1: aload 0
iload 5
putfield sun.io.CharToByteUnicode.byteOff:I
2: iload 2
iload 3
if_icmplt 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iload 2
istore 7
start local 7 5: iload 5
istore 8
start local 8 6: iload 6
iconst_2
isub
istore 9
start local 9 7: aload 0
getfield sun.io.CharToByteUnicode.usesMark:Z
ifeq 17
aload 0
getfield sun.io.CharToByteUnicode.markWritten:Z
ifne 17
8: iload 8
iload 9
if_icmple 10
9: new sun.io.ConversionBufferFullException
dup
invokespecial sun.io.ConversionBufferFullException.<init>:()V
athrow
10: StackMap locals: int int int
StackMap stack:
aload 0
getfield sun.io.CharToByteUnicode.byteOrder:I
iconst_1
if_icmpne 14
11: aload 4
iload 8
iinc 8 1
bipush -2
bastore
12: aload 4
iload 8
iinc 8 1
iconst_m1
bastore
13: goto 16
14: StackMap locals:
StackMap stack:
aload 4
iload 8
iinc 8 1
iconst_m1
bastore
15: aload 4
iload 8
iinc 8 1
bipush -2
bastore
16: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.io.CharToByteUnicode.markWritten:Z
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.io.CharToByteUnicode.byteOrder:I
iconst_1
if_icmpne 35
18: goto 26
19: StackMap locals:
StackMap stack:
iload 8
iload 9
if_icmple 23
20: aload 0
iload 7
putfield sun.io.CharToByteUnicode.charOff:I
21: aload 0
iload 8
putfield sun.io.CharToByteUnicode.byteOff:I
22: new sun.io.ConversionBufferFullException
dup
invokespecial sun.io.ConversionBufferFullException.<init>:()V
athrow
23: StackMap locals:
StackMap stack:
aload 1
iload 7
iinc 7 1
caload
istore 10
start local 10 24: aload 4
iload 8
iinc 8 1
iload 10
bipush 8
ishr
i2b
bastore
25: aload 4
iload 8
iinc 8 1
iload 10
sipush 255
iand
i2b
bastore
end local 10 26: StackMap locals:
StackMap stack:
iload 7
iload 3
if_icmplt 19
27: goto 36
28: StackMap locals:
StackMap stack:
iload 8
iload 9
if_icmple 32
29: aload 0
iload 7
putfield sun.io.CharToByteUnicode.charOff:I
30: aload 0
iload 8
putfield sun.io.CharToByteUnicode.byteOff:I
31: new sun.io.ConversionBufferFullException
dup
invokespecial sun.io.ConversionBufferFullException.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
aload 1
iload 7
iinc 7 1
caload
istore 10
start local 10 33: aload 4
iload 8
iinc 8 1
iload 10
sipush 255
iand
i2b
bastore
34: aload 4
iload 8
iinc 8 1
iload 10
bipush 8
ishr
i2b
bastore
end local 10 35: StackMap locals:
StackMap stack:
iload 7
iload 3
if_icmplt 28
36: StackMap locals:
StackMap stack:
aload 0
iload 7
putfield sun.io.CharToByteUnicode.charOff:I
37: aload 0
iload 8
putfield sun.io.CharToByteUnicode.byteOff:I
38: iload 8
iload 5
isub
ireturn
end local 9 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 39 0 this Lsun/io/CharToByteUnicode;
0 39 1 in [C
0 39 2 inOff I
0 39 3 inEnd I
0 39 4 out [B
0 39 5 outOff I
0 39 6 outEnd I
5 39 7 inI I
6 39 8 outI I
7 39 9 outTop I
24 26 10 c C
33 35 10 c C
Exceptions:
throws sun.io.ConversionBufferFullException, sun.io.MalformedInputException
MethodParameters:
Name Flags
in
inOff
inEnd
out
outOff
outEnd
public int flush(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
iconst_0
dup_x1
putfield sun.io.CharToByteUnicode.charOff:I
putfield sun.io.CharToByteUnicode.byteOff:I
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/CharToByteUnicode;
0 2 1 in [B
0 2 2 inOff I
0 2 3 inEnd I
MethodParameters:
Name Flags
in
inOff
inEnd
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
iconst_0
dup_x1
putfield sun.io.CharToByteUnicode.charOff:I
putfield sun.io.CharToByteUnicode.byteOff:I
1: aload 0
iconst_0
putfield sun.io.CharToByteUnicode.markWritten:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/io/CharToByteUnicode;
public int getMaxBytesPerChar();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_4
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/io/CharToByteUnicode;
}
SourceFile: "CharToByteUnicode.java"