public class sun.misc.UCEncoder extends sun.misc.CharacterEncoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.misc.UCEncoder
super_class: sun.misc.CharacterEncoder
{
private static final byte[] map_array;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private int sequence;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private byte[] tmp;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private sun.misc.CRC16 crc;
descriptor: Lsun/misc/CRC16;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 89
bipush 64
newarray 8
dup
iconst_0
1: .line 91
bipush 48
bastore
dup
iconst_1
bipush 49
bastore
dup
iconst_2
bipush 50
bastore
dup
iconst_3
bipush 51
bastore
dup
iconst_4
bipush 52
bastore
dup
iconst_5
bipush 53
bastore
dup
bipush 6
bipush 54
bastore
dup
bipush 7
bipush 55
bastore
dup
bipush 8
2: .line 92
bipush 56
bastore
dup
bipush 9
bipush 57
bastore
dup
bipush 10
bipush 65
bastore
dup
bipush 11
bipush 66
bastore
dup
bipush 12
bipush 67
bastore
dup
bipush 13
bipush 68
bastore
dup
bipush 14
bipush 69
bastore
dup
bipush 15
bipush 70
bastore
dup
bipush 16
3: .line 93
bipush 71
bastore
dup
bipush 17
bipush 72
bastore
dup
bipush 18
bipush 73
bastore
dup
bipush 19
bipush 74
bastore
dup
bipush 20
bipush 75
bastore
dup
bipush 21
bipush 76
bastore
dup
bipush 22
bipush 77
bastore
dup
bipush 23
bipush 78
bastore
dup
bipush 24
4: .line 94
bipush 79
bastore
dup
bipush 25
bipush 80
bastore
dup
bipush 26
bipush 81
bastore
dup
bipush 27
bipush 82
bastore
dup
bipush 28
bipush 83
bastore
dup
bipush 29
bipush 84
bastore
dup
bipush 30
bipush 85
bastore
dup
bipush 31
bipush 86
bastore
dup
bipush 32
5: .line 95
bipush 87
bastore
dup
bipush 33
bipush 88
bastore
dup
bipush 34
bipush 89
bastore
dup
bipush 35
bipush 90
bastore
dup
bipush 36
bipush 97
bastore
dup
bipush 37
bipush 98
bastore
dup
bipush 38
bipush 99
bastore
dup
bipush 39
bipush 100
bastore
dup
bipush 40
6: .line 96
bipush 101
bastore
dup
bipush 41
bipush 102
bastore
dup
bipush 42
bipush 103
bastore
dup
bipush 43
bipush 104
bastore
dup
bipush 44
bipush 105
bastore
dup
bipush 45
bipush 106
bastore
dup
bipush 46
bipush 107
bastore
dup
bipush 47
bipush 108
bastore
dup
bipush 48
7: .line 97
bipush 109
bastore
dup
bipush 49
bipush 110
bastore
dup
bipush 50
bipush 111
bastore
dup
bipush 51
bipush 112
bastore
dup
bipush 52
bipush 113
bastore
dup
bipush 53
bipush 114
bastore
dup
bipush 54
bipush 115
bastore
dup
bipush 55
bipush 116
bastore
dup
bipush 56
8: .line 98
bipush 117
bastore
dup
bipush 57
bipush 118
bastore
dup
bipush 58
bipush 119
bastore
dup
bipush 59
bipush 120
bastore
dup
bipush 60
bipush 121
bastore
dup
bipush 61
bipush 122
bastore
dup
bipush 62
bipush 40
bastore
dup
bipush 63
bipush 41
bastore
9: .line 89
putstatic sun.misc.UCEncoder.map_array:[B
10: .line 99
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // sun.misc.UCEncoder this
0: .line 76
aload 0 /* this */
invokespecial sun.misc.CharacterEncoder.<init>:()V
1: .line 102
aload 0 /* this */
iconst_2
newarray 8
putfield sun.misc.UCEncoder.tmp:[B
2: .line 103
aload 0 /* this */
new sun.misc.CRC16
dup
invokespecial sun.misc.CRC16.<init>:()V
putfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
3: .line 76
return
end local 0 // sun.misc.UCEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/misc/UCEncoder;
protected int bytesPerAtom();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.misc.UCEncoder this
0: .line 80
iconst_2
ireturn
end local 0 // sun.misc.UCEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/UCEncoder;
protected int bytesPerLine();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.misc.UCEncoder this
0: .line 85
bipush 48
ireturn
end local 0 // sun.misc.UCEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/UCEncoder;
protected void encodeAtom(java.io.OutputStream, byte[], int, int);
descriptor: (Ljava/io/OutputStream;[BII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=5
start local 0 // sun.misc.UCEncoder this
start local 1 // java.io.OutputStream outStream
start local 2 // byte[] data
start local 3 // int offset
start local 4 // int len
0: .line 116
aload 2 /* data */
iload 3 /* offset */
baload
istore 8 /* a */
start local 8 // byte a
1: .line 117
iload 4 /* len */
iconst_2
if_icmpne 4
2: .line 118
aload 2 /* data */
iload 3 /* offset */
iconst_1
iadd
baload
istore 9 /* b */
start local 9 // byte b
3: .line 119
goto 5
end local 9 // byte b
4: .line 120
StackMap locals: sun.misc.UCEncoder java.io.OutputStream byte[] int int top top top int
StackMap stack:
iconst_0
istore 9 /* b */
start local 9 // byte b
5: .line 122
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
iload 8 /* a */
invokevirtual sun.misc.CRC16.update:(B)V
6: .line 123
iload 4 /* len */
iconst_2
if_icmpne 8
7: .line 124
aload 0 /* this */
getfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
iload 9 /* b */
invokevirtual sun.misc.CRC16.update:(B)V
8: .line 126
StackMap locals:
StackMap stack:
aload 1 /* outStream */
getstatic sun.misc.UCEncoder.map_array:[B
iload 8 /* a */
iconst_2
iushr
bipush 56
iand
iload 9 /* b */
iconst_5
iushr
bipush 7
iand
iadd
baload
invokevirtual java.io.OutputStream.write:(I)V
9: .line 127
iconst_0
istore 6 /* p1 */
start local 6 // int p1
10: iconst_0
istore 7 /* p2 */
start local 7 // int p2
11: .line 128
iconst_1
istore 5 /* i */
start local 5 // int i
12: goto 18
13: .line 129
StackMap locals: sun.misc.UCEncoder java.io.OutputStream byte[] int int int int int int int
StackMap stack:
iload 8 /* a */
iload 5 /* i */
iand
ifeq 15
14: .line 130
iinc 6 /* p1 */ 1
15: .line 132
StackMap locals:
StackMap stack:
iload 9 /* b */
iload 5 /* i */
iand
ifeq 17
16: .line 133
iinc 7 /* p2 */ 1
17: .line 128
StackMap locals:
StackMap stack:
iload 5 /* i */
iconst_2
imul
istore 5 /* i */
StackMap locals:
StackMap stack:
18: iload 5 /* i */
sipush 256
if_icmplt 13
19: .line 136
iload 6 /* p1 */
iconst_1
iand
bipush 32
imul
istore 6 /* p1 */
20: .line 137
iload 7 /* p2 */
iconst_1
iand
bipush 32
imul
istore 7 /* p2 */
21: .line 138
aload 1 /* outStream */
getstatic sun.misc.UCEncoder.map_array:[B
iload 8 /* a */
bipush 31
iand
iload 6 /* p1 */
iadd
baload
invokevirtual java.io.OutputStream.write:(I)V
22: .line 139
aload 1 /* outStream */
getstatic sun.misc.UCEncoder.map_array:[B
iload 9 /* b */
bipush 31
iand
iload 7 /* p2 */
iadd
baload
invokevirtual java.io.OutputStream.write:(I)V
23: .line 140
return
end local 9 // byte b
end local 8 // byte a
end local 7 // int p2
end local 6 // int p1
end local 5 // int i
end local 4 // int len
end local 3 // int offset
end local 2 // byte[] data
end local 1 // java.io.OutputStream outStream
end local 0 // sun.misc.UCEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/misc/UCEncoder;
0 24 1 outStream Ljava/io/OutputStream;
0 24 2 data [B
0 24 3 offset I
0 24 4 len I
12 24 5 i I
10 24 6 p1 I
11 24 7 p2 I
1 24 8 a B
3 4 9 b B
5 24 9 b B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
outStream
data
offset
len
protected void encodeLinePrefix(java.io.OutputStream, int);
descriptor: (Ljava/io/OutputStream;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 // sun.misc.UCEncoder this
start local 1 // java.io.OutputStream outStream
start local 2 // int length
0: .line 149
aload 1 /* outStream */
bipush 42
invokevirtual java.io.OutputStream.write:(I)V
1: .line 150
aload 0 /* this */
getfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
iconst_0
putfield sun.misc.CRC16.value:I
2: .line 151
aload 0 /* this */
getfield sun.misc.UCEncoder.tmp:[B
iconst_0
iload 2 /* length */
i2b
bastore
3: .line 152
aload 0 /* this */
getfield sun.misc.UCEncoder.tmp:[B
iconst_1
aload 0 /* this */
getfield sun.misc.UCEncoder.sequence:I
i2b
bastore
4: .line 153
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.UCEncoder.sequence:I
iconst_1
iadd
sipush 255
iand
putfield sun.misc.UCEncoder.sequence:I
5: .line 154
aload 0 /* this */
aload 1 /* outStream */
aload 0 /* this */
getfield sun.misc.UCEncoder.tmp:[B
iconst_0
iconst_2
invokevirtual sun.misc.UCEncoder.encodeAtom:(Ljava/io/OutputStream;[BII)V
6: .line 155
return
end local 2 // int length
end local 1 // java.io.OutputStream outStream
end local 0 // sun.misc.UCEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/misc/UCEncoder;
0 7 1 outStream Ljava/io/OutputStream;
0 7 2 length I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
outStream
length
protected void encodeLineSuffix(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 // sun.misc.UCEncoder this
start local 1 // java.io.OutputStream outStream
0: .line 164
aload 0 /* this */
getfield sun.misc.UCEncoder.tmp:[B
iconst_0
aload 0 /* this */
getfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
getfield sun.misc.CRC16.value:I
bipush 8
iushr
sipush 255
iand
i2b
bastore
1: .line 165
aload 0 /* this */
getfield sun.misc.UCEncoder.tmp:[B
iconst_1
aload 0 /* this */
getfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
getfield sun.misc.CRC16.value:I
sipush 255
iand
i2b
bastore
2: .line 166
aload 0 /* this */
aload 1 /* outStream */
aload 0 /* this */
getfield sun.misc.UCEncoder.tmp:[B
iconst_0
iconst_2
invokevirtual sun.misc.UCEncoder.encodeAtom:(Ljava/io/OutputStream;[BII)V
3: .line 167
aload 0 /* this */
getfield sun.misc.CharacterEncoder.pStream:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
4: .line 168
return
end local 1 // java.io.OutputStream outStream
end local 0 // sun.misc.UCEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/misc/UCEncoder;
0 5 1 outStream Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
outStream
protected void encodeBufferPrefix(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.misc.UCEncoder this
start local 1 // java.io.OutputStream a
0: .line 175
aload 0 /* this */
iconst_0
putfield sun.misc.UCEncoder.sequence:I
1: .line 176
aload 0 /* this */
aload 1 /* a */
invokespecial sun.misc.CharacterEncoder.encodeBufferPrefix:(Ljava/io/OutputStream;)V
2: .line 177
return
end local 1 // java.io.OutputStream a
end local 0 // sun.misc.UCEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/misc/UCEncoder;
0 3 1 a Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
a
}
SourceFile: "UCEncoder.java"