public class org.apache.batik.util.io.UTF8Decoder extends org.apache.batik.util.io.AbstractCharDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.batik.util.io.UTF8Decoder
super_class: org.apache.batik.util.io.AbstractCharDecoder
{
protected static final byte[] UTF8_BYTES;
descriptor: [B
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected int nextChar;
descriptor: I
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 38
sipush 256
newarray 8
dup
iconst_0
1: .line 39
iconst_1
bastore
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_1
bastore
dup
iconst_3
iconst_1
bastore
dup
iconst_4
iconst_1
bastore
dup
iconst_5
iconst_1
bastore
dup
bipush 6
iconst_1
bastore
dup
bipush 7
iconst_1
bastore
dup
bipush 8
iconst_1
bastore
dup
bipush 9
iconst_1
bastore
dup
bipush 10
iconst_1
bastore
dup
bipush 11
iconst_1
bastore
dup
bipush 12
iconst_1
bastore
dup
bipush 13
iconst_1
bastore
dup
bipush 14
iconst_1
bastore
dup
bipush 15
iconst_1
bastore
dup
bipush 16
iconst_1
bastore
dup
bipush 17
iconst_1
bastore
dup
bipush 18
iconst_1
bastore
dup
bipush 19
iconst_1
bastore
dup
bipush 20
iconst_1
bastore
dup
bipush 21
iconst_1
bastore
dup
bipush 22
iconst_1
bastore
dup
bipush 23
iconst_1
bastore
dup
bipush 24
iconst_1
bastore
dup
bipush 25
iconst_1
bastore
dup
bipush 26
iconst_1
bastore
dup
bipush 27
iconst_1
bastore
dup
bipush 28
iconst_1
bastore
dup
bipush 29
iconst_1
bastore
dup
bipush 30
iconst_1
bastore
dup
bipush 31
iconst_1
bastore
dup
bipush 32
2: .line 40
iconst_1
bastore
dup
bipush 33
iconst_1
bastore
dup
bipush 34
iconst_1
bastore
dup
bipush 35
iconst_1
bastore
dup
bipush 36
iconst_1
bastore
dup
bipush 37
iconst_1
bastore
dup
bipush 38
iconst_1
bastore
dup
bipush 39
iconst_1
bastore
dup
bipush 40
iconst_1
bastore
dup
bipush 41
iconst_1
bastore
dup
bipush 42
iconst_1
bastore
dup
bipush 43
iconst_1
bastore
dup
bipush 44
iconst_1
bastore
dup
bipush 45
iconst_1
bastore
dup
bipush 46
iconst_1
bastore
dup
bipush 47
iconst_1
bastore
dup
bipush 48
iconst_1
bastore
dup
bipush 49
iconst_1
bastore
dup
bipush 50
iconst_1
bastore
dup
bipush 51
iconst_1
bastore
dup
bipush 52
iconst_1
bastore
dup
bipush 53
iconst_1
bastore
dup
bipush 54
iconst_1
bastore
dup
bipush 55
iconst_1
bastore
dup
bipush 56
iconst_1
bastore
dup
bipush 57
iconst_1
bastore
dup
bipush 58
iconst_1
bastore
dup
bipush 59
iconst_1
bastore
dup
bipush 60
iconst_1
bastore
dup
bipush 61
iconst_1
bastore
dup
bipush 62
iconst_1
bastore
dup
bipush 63
iconst_1
bastore
dup
bipush 64
3: .line 41
iconst_1
bastore
dup
bipush 65
iconst_1
bastore
dup
bipush 66
iconst_1
bastore
dup
bipush 67
iconst_1
bastore
dup
bipush 68
iconst_1
bastore
dup
bipush 69
iconst_1
bastore
dup
bipush 70
iconst_1
bastore
dup
bipush 71
iconst_1
bastore
dup
bipush 72
iconst_1
bastore
dup
bipush 73
iconst_1
bastore
dup
bipush 74
iconst_1
bastore
dup
bipush 75
iconst_1
bastore
dup
bipush 76
iconst_1
bastore
dup
bipush 77
iconst_1
bastore
dup
bipush 78
iconst_1
bastore
dup
bipush 79
iconst_1
bastore
dup
bipush 80
iconst_1
bastore
dup
bipush 81
iconst_1
bastore
dup
bipush 82
iconst_1
bastore
dup
bipush 83
iconst_1
bastore
dup
bipush 84
iconst_1
bastore
dup
bipush 85
iconst_1
bastore
dup
bipush 86
iconst_1
bastore
dup
bipush 87
iconst_1
bastore
dup
bipush 88
iconst_1
bastore
dup
bipush 89
iconst_1
bastore
dup
bipush 90
iconst_1
bastore
dup
bipush 91
iconst_1
bastore
dup
bipush 92
iconst_1
bastore
dup
bipush 93
iconst_1
bastore
dup
bipush 94
iconst_1
bastore
dup
bipush 95
iconst_1
bastore
dup
bipush 96
4: .line 42
iconst_1
bastore
dup
bipush 97
iconst_1
bastore
dup
bipush 98
iconst_1
bastore
dup
bipush 99
iconst_1
bastore
dup
bipush 100
iconst_1
bastore
dup
bipush 101
iconst_1
bastore
dup
bipush 102
iconst_1
bastore
dup
bipush 103
iconst_1
bastore
dup
bipush 104
iconst_1
bastore
dup
bipush 105
iconst_1
bastore
dup
bipush 106
iconst_1
bastore
dup
bipush 107
iconst_1
bastore
dup
bipush 108
iconst_1
bastore
dup
bipush 109
iconst_1
bastore
dup
bipush 110
iconst_1
bastore
dup
bipush 111
iconst_1
bastore
dup
bipush 112
iconst_1
bastore
dup
bipush 113
iconst_1
bastore
dup
bipush 114
iconst_1
bastore
dup
bipush 115
iconst_1
bastore
dup
bipush 116
iconst_1
bastore
dup
bipush 117
iconst_1
bastore
dup
bipush 118
iconst_1
bastore
dup
bipush 119
iconst_1
bastore
dup
bipush 120
iconst_1
bastore
dup
bipush 121
iconst_1
bastore
dup
bipush 122
iconst_1
bastore
dup
bipush 123
iconst_1
bastore
dup
bipush 124
iconst_1
bastore
dup
bipush 125
iconst_1
bastore
dup
bipush 126
iconst_1
bastore
dup
bipush 127
iconst_1
bastore
dup
sipush 192
5: .line 45
iconst_2
bastore
dup
sipush 193
iconst_2
bastore
dup
sipush 194
iconst_2
bastore
dup
sipush 195
iconst_2
bastore
dup
sipush 196
iconst_2
bastore
dup
sipush 197
iconst_2
bastore
dup
sipush 198
iconst_2
bastore
dup
sipush 199
iconst_2
bastore
dup
sipush 200
iconst_2
bastore
dup
sipush 201
iconst_2
bastore
dup
sipush 202
iconst_2
bastore
dup
sipush 203
iconst_2
bastore
dup
sipush 204
iconst_2
bastore
dup
sipush 205
iconst_2
bastore
dup
sipush 206
iconst_2
bastore
dup
sipush 207
iconst_2
bastore
dup
sipush 208
iconst_2
bastore
dup
sipush 209
iconst_2
bastore
dup
sipush 210
iconst_2
bastore
dup
sipush 211
iconst_2
bastore
dup
sipush 212
iconst_2
bastore
dup
sipush 213
iconst_2
bastore
dup
sipush 214
iconst_2
bastore
dup
sipush 215
iconst_2
bastore
dup
sipush 216
iconst_2
bastore
dup
sipush 217
iconst_2
bastore
dup
sipush 218
iconst_2
bastore
dup
sipush 219
iconst_2
bastore
dup
sipush 220
iconst_2
bastore
dup
sipush 221
iconst_2
bastore
dup
sipush 222
iconst_2
bastore
dup
sipush 223
iconst_2
bastore
dup
sipush 224
6: .line 46
iconst_3
bastore
dup
sipush 225
iconst_3
bastore
dup
sipush 226
iconst_3
bastore
dup
sipush 227
iconst_3
bastore
dup
sipush 228
iconst_3
bastore
dup
sipush 229
iconst_3
bastore
dup
sipush 230
iconst_3
bastore
dup
sipush 231
iconst_3
bastore
dup
sipush 232
iconst_3
bastore
dup
sipush 233
iconst_3
bastore
dup
sipush 234
iconst_3
bastore
dup
sipush 235
iconst_3
bastore
dup
sipush 236
iconst_3
bastore
dup
sipush 237
iconst_3
bastore
dup
sipush 238
iconst_3
bastore
dup
sipush 239
iconst_3
bastore
dup
sipush 240
iconst_4
bastore
dup
sipush 241
iconst_4
bastore
dup
sipush 242
iconst_4
bastore
dup
sipush 243
iconst_4
bastore
dup
sipush 244
iconst_4
bastore
dup
sipush 245
iconst_4
bastore
dup
sipush 246
iconst_4
bastore
dup
sipush 247
iconst_4
bastore
7: .line 38
putstatic org.apache.batik.util.io.UTF8Decoder.UTF8_BYTES:[B
8: .line 47
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.apache.batik.util.io.UTF8Decoder this
start local 1 // java.io.InputStream is
0: .line 58
aload 0 /* this */
aload 1 /* is */
invokespecial org.apache.batik.util.io.AbstractCharDecoder.<init>:(Ljava/io/InputStream;)V
1: .line 52
aload 0 /* this */
iconst_m1
putfield org.apache.batik.util.io.UTF8Decoder.nextChar:I
2: .line 59
return
end local 1 // java.io.InputStream is
end local 0 // org.apache.batik.util.io.UTF8Decoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/batik/util/io/UTF8Decoder;
0 3 1 is Ljava/io/InputStream;
MethodParameters:
Name Flags
is
public int readChar();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=1
start local 0 // org.apache.batik.util.io.UTF8Decoder this
0: .line 66
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.nextChar:I
iconst_m1
if_icmpeq 4
1: .line 67
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.nextChar:I
istore 1 /* result */
start local 1 // int result
2: .line 68
aload 0 /* this */
iconst_m1
putfield org.apache.batik.util.io.UTF8Decoder.nextChar:I
3: .line 69
iload 1 /* result */
ireturn
end local 1 // int result
4: .line 71
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.position:I
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
if_icmpne 6
5: .line 72
aload 0 /* this */
invokevirtual org.apache.batik.util.io.UTF8Decoder.fillBuffer:()V
6: .line 74
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
iconst_m1
if_icmpne 8
7: .line 75
iconst_m1
ireturn
8: .line 77
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.buffer:[B
aload 0 /* this */
dup
getfield org.apache.batik.util.io.UTF8Decoder.position:I
dup_x1
iconst_1
iadd
putfield org.apache.batik.util.io.UTF8Decoder.position:I
baload
sipush 255
iand
istore 1 /* b1 */
start local 1 // int b1
9: .line 78
getstatic org.apache.batik.util.io.UTF8Decoder.UTF8_BYTES:[B
iload 1 /* b1 */
baload
tableswitch { // 1 - 4
1: 11
2: 12
3: 17
4: 30
default: 10
}
10: .line 80
StackMap locals: int
StackMap stack:
aload 0 /* this */
ldc "UTF-8"
invokevirtual org.apache.batik.util.io.UTF8Decoder.charError:(Ljava/lang/String;)V
11: .line 83
StackMap locals:
StackMap stack:
iload 1 /* b1 */
ireturn
12: .line 86
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.position:I
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
if_icmpne 14
13: .line 87
aload 0 /* this */
invokevirtual org.apache.batik.util.io.UTF8Decoder.fillBuffer:()V
14: .line 89
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
iconst_m1
if_icmpne 16
15: .line 90
aload 0 /* this */
ldc "UTF-8"
invokevirtual org.apache.batik.util.io.UTF8Decoder.endOfStreamError:(Ljava/lang/String;)V
16: .line 92
StackMap locals:
StackMap stack:
iload 1 /* b1 */
bipush 31
iand
bipush 6
ishl
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.buffer:[B
aload 0 /* this */
dup
getfield org.apache.batik.util.io.UTF8Decoder.position:I
dup_x1
iconst_1
iadd
putfield org.apache.batik.util.io.UTF8Decoder.position:I
baload
bipush 63
iand
ior
ireturn
17: .line 95
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.position:I
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
if_icmpne 19
18: .line 96
aload 0 /* this */
invokevirtual org.apache.batik.util.io.UTF8Decoder.fillBuffer:()V
19: .line 98
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
iconst_m1
if_icmpne 21
20: .line 99
aload 0 /* this */
ldc "UTF-8"
invokevirtual org.apache.batik.util.io.UTF8Decoder.endOfStreamError:(Ljava/lang/String;)V
21: .line 101
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.buffer:[B
aload 0 /* this */
dup
getfield org.apache.batik.util.io.UTF8Decoder.position:I
dup_x1
iconst_1
iadd
putfield org.apache.batik.util.io.UTF8Decoder.position:I
baload
istore 2 /* b2 */
start local 2 // int b2
22: .line 102
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.position:I
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
if_icmpne 24
23: .line 103
aload 0 /* this */
invokevirtual org.apache.batik.util.io.UTF8Decoder.fillBuffer:()V
24: .line 105
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
iconst_m1
if_icmpne 26
25: .line 106
aload 0 /* this */
ldc "UTF-8"
invokevirtual org.apache.batik.util.io.UTF8Decoder.endOfStreamError:(Ljava/lang/String;)V
26: .line 108
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.buffer:[B
aload 0 /* this */
dup
getfield org.apache.batik.util.io.UTF8Decoder.position:I
dup_x1
iconst_1
iadd
putfield org.apache.batik.util.io.UTF8Decoder.position:I
baload
istore 3 /* b3 */
start local 3 // int b3
27: .line 109
iload 2 /* b2 */
sipush 192
iand
sipush 128
if_icmpne 28
iload 3 /* b3 */
sipush 192
iand
sipush 128
if_icmpeq 29
28: .line 110
StackMap locals: int
StackMap stack:
aload 0 /* this */
ldc "UTF-8"
invokevirtual org.apache.batik.util.io.UTF8Decoder.charError:(Ljava/lang/String;)V
29: .line 112
StackMap locals:
StackMap stack:
iload 1 /* b1 */
bipush 31
iand
bipush 12
ishl
iload 2 /* b2 */
bipush 63
iand
bipush 6
ishl
ior
iload 3 /* b3 */
bipush 31
iand
ior
ireturn
end local 3 // int b3
end local 2 // int b2
30: .line 115
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.position:I
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
if_icmpne 32
31: .line 116
aload 0 /* this */
invokevirtual org.apache.batik.util.io.UTF8Decoder.fillBuffer:()V
32: .line 118
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
iconst_m1
if_icmpne 34
33: .line 119
aload 0 /* this */
ldc "UTF-8"
invokevirtual org.apache.batik.util.io.UTF8Decoder.endOfStreamError:(Ljava/lang/String;)V
34: .line 121
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.buffer:[B
aload 0 /* this */
dup
getfield org.apache.batik.util.io.UTF8Decoder.position:I
dup_x1
iconst_1
iadd
putfield org.apache.batik.util.io.UTF8Decoder.position:I
baload
istore 2 /* b2 */
start local 2 // int b2
35: .line 122
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.position:I
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
if_icmpne 37
36: .line 123
aload 0 /* this */
invokevirtual org.apache.batik.util.io.UTF8Decoder.fillBuffer:()V
37: .line 125
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
iconst_m1
if_icmpne 39
38: .line 126
aload 0 /* this */
ldc "UTF-8"
invokevirtual org.apache.batik.util.io.UTF8Decoder.endOfStreamError:(Ljava/lang/String;)V
39: .line 128
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.buffer:[B
aload 0 /* this */
dup
getfield org.apache.batik.util.io.UTF8Decoder.position:I
dup_x1
iconst_1
iadd
putfield org.apache.batik.util.io.UTF8Decoder.position:I
baload
istore 3 /* b3 */
start local 3 // int b3
40: .line 129
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.position:I
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
if_icmpne 42
41: .line 130
aload 0 /* this */
invokevirtual org.apache.batik.util.io.UTF8Decoder.fillBuffer:()V
42: .line 132
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.count:I
iconst_m1
if_icmpne 44
43: .line 133
aload 0 /* this */
ldc "UTF-8"
invokevirtual org.apache.batik.util.io.UTF8Decoder.endOfStreamError:(Ljava/lang/String;)V
44: .line 135
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.batik.util.io.UTF8Decoder.buffer:[B
aload 0 /* this */
dup
getfield org.apache.batik.util.io.UTF8Decoder.position:I
dup_x1
iconst_1
iadd
putfield org.apache.batik.util.io.UTF8Decoder.position:I
baload
istore 4 /* b4 */
start local 4 // int b4
45: .line 136
iload 2 /* b2 */
sipush 192
iand
sipush 128
if_icmpne 48
46: .line 137
iload 3 /* b3 */
sipush 192
iand
sipush 128
if_icmpne 48
47: .line 138
iload 4 /* b4 */
sipush 192
iand
sipush 128
if_icmpeq 49
48: .line 139
StackMap locals: int
StackMap stack:
aload 0 /* this */
ldc "UTF-8"
invokevirtual org.apache.batik.util.io.UTF8Decoder.charError:(Ljava/lang/String;)V
49: .line 141
StackMap locals:
StackMap stack:
iload 1 /* b1 */
bipush 31
iand
bipush 18
ishl
50: .line 142
iload 2 /* b2 */
bipush 63
iand
bipush 12
ishl
51: .line 141
ior
52: .line 143
iload 3 /* b3 */
bipush 31
iand
bipush 6
ishl
53: .line 141
ior
54: .line 144
iload 4 /* b4 */
bipush 31
iand
55: .line 141
ior
istore 5 /* c */
start local 5 // int c
56: .line 145
aload 0 /* this */
iload 5 /* c */
ldc 65536
isub
sipush 1024
irem
ldc 56320
iadd
putfield org.apache.batik.util.io.UTF8Decoder.nextChar:I
57: .line 146
iload 5 /* c */
ldc 65536
isub
sipush 1024
idiv
ldc 55296
iadd
ireturn
end local 5 // int c
end local 4 // int b4
end local 3 // int b3
end local 2 // int b2
end local 1 // int b1
end local 0 // org.apache.batik.util.io.UTF8Decoder this
LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lorg/apache/batik/util/io/UTF8Decoder;
2 4 1 result I
9 58 1 b1 I
22 30 2 b2 I
35 58 2 b2 I
27 30 3 b3 I
40 58 3 b3 I
45 58 4 b4 I
56 58 5 c I
Exceptions:
throws java.io.IOException
}
SourceFile: "UTF8Decoder.java"