public final class com.fasterxml.aalto.io.UTF8Writer extends java.io.Writer
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.fasterxml.aalto.io.UTF8Writer
super_class: java.io.Writer
{
static final int SURR1_FIRST;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 55296
static final int SURR1_LAST;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 56319
static final int SURR2_FIRST;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 56320
static final int SURR2_LAST;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 57343
final com.fasterxml.aalto.out.WriterConfig mConfig;
descriptor: Lcom/fasterxml/aalto/out/WriterConfig;
flags: (0x0010) ACC_FINAL
final boolean mAutoCloseOutput;
descriptor: Z
flags: (0x0010) ACC_FINAL
java.io.OutputStream mOut;
descriptor: Ljava/io/OutputStream;
flags: (0x0000)
byte[] mOutBuffer;
descriptor: [B
flags: (0x0000)
final int mOutBufferLast;
descriptor: I
flags: (0x0010) ACC_FINAL
int mOutPtr;
descriptor: I
flags: (0x0000)
int mSurrogate;
descriptor: I
flags: (0x0000)
public void <init>(com.fasterxml.aalto.out.WriterConfig, java.io.OutputStream, boolean);
descriptor: (Lcom/fasterxml/aalto/out/WriterConfig;Ljava/io/OutputStream;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 // com.fasterxml.aalto.io.UTF8Writer this
start local 1 // com.fasterxml.aalto.out.WriterConfig cfg
start local 2 // java.io.OutputStream out
start local 3 // boolean autoclose
0: .line 34
aload 0 /* this */
invokespecial java.io.Writer.<init>:()V
1: .line 32
aload 0 /* this */
iconst_0
putfield com.fasterxml.aalto.io.UTF8Writer.mSurrogate:I
2: .line 36
aload 0 /* this */
aload 1 /* cfg */
putfield com.fasterxml.aalto.io.UTF8Writer.mConfig:Lcom/fasterxml/aalto/out/WriterConfig;
3: .line 37
aload 0 /* this */
iload 3 /* autoclose */
putfield com.fasterxml.aalto.io.UTF8Writer.mAutoCloseOutput:Z
4: .line 38
aload 0 /* this */
aload 2 /* out */
putfield com.fasterxml.aalto.io.UTF8Writer.mOut:Ljava/io/OutputStream;
5: .line 39
aload 0 /* this */
aload 1 /* cfg */
sipush 4000
invokevirtual com.fasterxml.aalto.out.WriterConfig.allocFullBBuffer:(I)[B
putfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
6: .line 44
aload 0 /* this */
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
arraylength
iconst_4
isub
putfield com.fasterxml.aalto.io.UTF8Writer.mOutBufferLast:I
7: .line 45
aload 0 /* this */
iconst_0
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
8: .line 46
return
end local 3 // boolean autoclose
end local 2 // java.io.OutputStream out
end local 1 // com.fasterxml.aalto.out.WriterConfig cfg
end local 0 // com.fasterxml.aalto.io.UTF8Writer this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/aalto/io/UTF8Writer;
0 9 1 cfg Lcom/fasterxml/aalto/out/WriterConfig;
0 9 2 out Ljava/io/OutputStream;
0 9 3 autoclose Z
MethodParameters:
Name Flags
cfg
out
autoclose
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 // com.fasterxml.aalto.io.UTF8Writer this
0: .line 66
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOut:Ljava/io/OutputStream;
ifnull 15
1: .line 67
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
ifle 4
2: .line 68
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOut:Ljava/io/OutputStream;
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iconst_0
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
invokevirtual java.io.OutputStream.write:([BII)V
3: .line 69
aload 0 /* this */
iconst_0
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
4: .line 71
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOut:Ljava/io/OutputStream;
astore 1 /* out */
start local 1 // java.io.OutputStream out
5: .line 72
aload 0 /* this */
aconst_null
putfield com.fasterxml.aalto.io.UTF8Writer.mOut:Ljava/io/OutputStream;
6: .line 73
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
astore 2 /* buf */
start local 2 // byte[] buf
7: .line 74
aload 0 /* this */
aconst_null
putfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
8: .line 76
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mAutoCloseOutput:Z
ifeq 10
9: .line 77
aload 1 /* out */
invokevirtual java.io.OutputStream.close:()V
10: .line 79
StackMap locals: java.io.OutputStream byte[]
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mConfig:Lcom/fasterxml/aalto/out/WriterConfig;
aload 2 /* buf */
invokevirtual com.fasterxml.aalto.out.WriterConfig.freeFullBBuffer:([B)V
11: .line 84
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mSurrogate:I
istore 3 /* code */
start local 3 // int code
12: .line 85
aload 0 /* this */
iconst_0
putfield com.fasterxml.aalto.io.UTF8Writer.mSurrogate:I
13: .line 86
iload 3 /* code */
ifle 15
14: .line 87
aload 0 /* this */
iload 3 /* code */
invokevirtual com.fasterxml.aalto.io.UTF8Writer.throwIllegal:(I)V
end local 3 // int code
end local 2 // byte[] buf
end local 1 // java.io.OutputStream out
15: .line 90
StackMap locals:
StackMap stack:
return
end local 0 // com.fasterxml.aalto.io.UTF8Writer this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/fasterxml/aalto/io/UTF8Writer;
5 15 1 out Ljava/io/OutputStream;
7 15 2 buf [B
12 15 3 code I
Exceptions:
throws java.io.IOException
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 // com.fasterxml.aalto.io.UTF8Writer this
0: .line 95
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
ifle 3
1: .line 96
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOut:Ljava/io/OutputStream;
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iconst_0
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
invokevirtual java.io.OutputStream.write:([BII)V
2: .line 97
aload 0 /* this */
iconst_0
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
3: .line 99
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOut:Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.flush:()V
4: .line 100
return
end local 0 // com.fasterxml.aalto.io.UTF8Writer this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/fasterxml/aalto/io/UTF8Writer;
Exceptions:
throws java.io.IOException
public void write(char[]);
descriptor: ([C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // com.fasterxml.aalto.io.UTF8Writer this
start local 1 // char[] cbuf
0: .line 105
aload 0 /* this */
aload 1 /* cbuf */
iconst_0
aload 1 /* cbuf */
arraylength
invokevirtual com.fasterxml.aalto.io.UTF8Writer.write:([CII)V
1: .line 106
return
end local 1 // char[] cbuf
end local 0 // com.fasterxml.aalto.io.UTF8Writer this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/aalto/io/UTF8Writer;
0 2 1 cbuf [C
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cbuf
public void write(char[], int, int);
descriptor: ([CII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=4
start local 0 // com.fasterxml.aalto.io.UTF8Writer this
start local 1 // char[] cbuf
start local 2 // int off
start local 3 // int len
0: .line 111
iload 3 /* len */
iconst_2
if_icmpge 4
1: .line 112
iload 3 /* len */
iconst_1
if_icmpne 3
2: .line 113
aload 0 /* this */
aload 1 /* cbuf */
iload 2 /* off */
caload
invokevirtual com.fasterxml.aalto.io.UTF8Writer.write:(I)V
3: .line 115
StackMap locals:
StackMap stack:
return
4: .line 119
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mSurrogate:I
ifle 8
5: .line 120
aload 1 /* cbuf */
iload 2 /* off */
iinc 2 /* off */ 1
caload
istore 4 /* second */
start local 4 // char second
6: .line 121
iinc 3 /* len */ -1
7: .line 122
aload 0 /* this */
aload 0 /* this */
iload 4 /* second */
invokevirtual com.fasterxml.aalto.io.UTF8Writer.convertSurrogate:(I)I
invokevirtual com.fasterxml.aalto.io.UTF8Writer.write:(I)V
end local 4 // char second
8: .line 126
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
istore 4 /* outPtr */
start local 4 // int outPtr
9: .line 127
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
astore 5 /* outBuf */
start local 5 // byte[] outBuf
10: .line 128
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBufferLast:I
istore 6 /* outBufLast */
start local 6 // int outBufLast
11: .line 131
iload 3 /* len */
iload 2 /* off */
iadd
istore 3 /* len */
12: .line 134
goto 54
13: .line 138
StackMap locals: int byte[] int
StackMap stack:
iload 4 /* outPtr */
iload 6 /* outBufLast */
if_icmplt 16
14: .line 139
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOut:Ljava/io/OutputStream;
aload 5 /* outBuf */
iconst_0
iload 4 /* outPtr */
invokevirtual java.io.OutputStream.write:([BII)V
15: .line 140
iconst_0
istore 4 /* outPtr */
16: .line 143
StackMap locals:
StackMap stack:
aload 1 /* cbuf */
iload 2 /* off */
iinc 2 /* off */ 1
caload
istore 7 /* c */
start local 7 // int c
17: .line 145
iload 7 /* c */
sipush 128
if_icmpge 31
18: .line 146
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
iload 7 /* c */
i2b
bastore
19: .line 148
iload 3 /* len */
iload 2 /* off */
isub
istore 8 /* maxInCount */
start local 8 // int maxInCount
20: .line 149
iload 6 /* outBufLast */
iload 4 /* outPtr */
isub
istore 9 /* maxOutCount */
start local 9 // int maxOutCount
21: .line 151
iload 8 /* maxInCount */
iload 9 /* maxOutCount */
if_icmple 23
22: .line 152
iload 9 /* maxOutCount */
istore 8 /* maxInCount */
23: .line 154
StackMap locals: int int int
StackMap stack:
iload 8 /* maxInCount */
iload 2 /* off */
iadd
istore 8 /* maxInCount */
24: .line 157
StackMap locals:
StackMap stack:
iload 2 /* off */
iload 8 /* maxInCount */
if_icmplt 26
25: .line 158
goto 54
26: .line 160
StackMap locals:
StackMap stack:
aload 1 /* cbuf */
iload 2 /* off */
iinc 2 /* off */ 1
caload
istore 7 /* c */
27: .line 161
iload 7 /* c */
sipush 128
if_icmplt 29
28: .line 162
goto 31
29: .line 164
StackMap locals:
StackMap stack:
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
iload 7 /* c */
i2b
bastore
30: .line 156
goto 24
end local 9 // int maxOutCount
end local 8 // int maxInCount
31: .line 169
StackMap locals:
StackMap stack:
iload 7 /* c */
sipush 2048
if_icmpge 35
32: .line 170
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 192
iload 7 /* c */
bipush 6
ishr
ior
i2b
bastore
33: .line 171
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 63
iand
ior
i2b
bastore
34: .line 172
goto 54
35: .line 174
StackMap locals:
StackMap stack:
iload 7 /* c */
ldc 55296
if_icmplt 36
iload 7 /* c */
ldc 57343
if_icmple 40
36: .line 175
StackMap locals:
StackMap stack:
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 224
iload 7 /* c */
bipush 12
ishr
ior
i2b
bastore
37: .line 176
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
38: .line 177
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 63
iand
ior
i2b
bastore
39: .line 178
goto 54
40: .line 181
StackMap locals:
StackMap stack:
iload 7 /* c */
ldc 56319
if_icmple 43
41: .line 182
aload 0 /* this */
iload 4 /* outPtr */
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
42: .line 183
aload 0 /* this */
iload 7 /* c */
invokevirtual com.fasterxml.aalto.io.UTF8Writer.throwIllegal:(I)V
43: .line 185
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 7 /* c */
putfield com.fasterxml.aalto.io.UTF8Writer.mSurrogate:I
44: .line 187
iload 2 /* off */
iload 3 /* len */
if_icmplt 46
45: .line 188
goto 55
46: .line 190
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* cbuf */
iload 2 /* off */
iinc 2 /* off */ 1
caload
invokevirtual com.fasterxml.aalto.io.UTF8Writer.convertSurrogate:(I)I
istore 7 /* c */
47: .line 191
iload 7 /* c */
ldc 1114111
if_icmple 50
48: .line 192
aload 0 /* this */
iload 4 /* outPtr */
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
49: .line 193
aload 0 /* this */
iload 7 /* c */
invokevirtual com.fasterxml.aalto.io.UTF8Writer.throwIllegal:(I)V
50: .line 195
StackMap locals:
StackMap stack:
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 240
iload 7 /* c */
bipush 18
ishr
ior
i2b
bastore
51: .line 196
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 12
ishr
bipush 63
iand
ior
i2b
bastore
52: .line 197
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
53: .line 198
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 63
iand
ior
i2b
bastore
end local 7 // int c
54: .line 134
StackMap locals:
StackMap stack:
iload 2 /* off */
iload 3 /* len */
if_icmplt 13
55: .line 201
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 4 /* outPtr */
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
56: .line 202
return
end local 6 // int outBufLast
end local 5 // byte[] outBuf
end local 4 // int outPtr
end local 3 // int len
end local 2 // int off
end local 1 // char[] cbuf
end local 0 // com.fasterxml.aalto.io.UTF8Writer this
LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lcom/fasterxml/aalto/io/UTF8Writer;
0 57 1 cbuf [C
0 57 2 off I
0 57 3 len I
6 8 4 second C
9 57 4 outPtr I
10 57 5 outBuf [B
11 57 6 outBufLast I
17 54 7 c I
20 31 8 maxInCount I
21 31 9 maxOutCount I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cbuf
off
len
public void write(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 // com.fasterxml.aalto.io.UTF8Writer this
start local 1 // int c
0: .line 208
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mSurrogate:I
ifle 3
1: .line 209
aload 0 /* this */
iload 1 /* c */
invokevirtual com.fasterxml.aalto.io.UTF8Writer.convertSurrogate:(I)I
istore 1 /* c */
2: .line 211
goto 8
StackMap locals:
StackMap stack:
3: iload 1 /* c */
ldc 55296
if_icmplt 8
iload 1 /* c */
ldc 57343
if_icmpgt 8
4: .line 213
iload 1 /* c */
ldc 56319
if_icmple 6
5: .line 214
aload 0 /* this */
iload 1 /* c */
invokevirtual com.fasterxml.aalto.io.UTF8Writer.throwIllegal:(I)V
6: .line 217
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* c */
putfield com.fasterxml.aalto.io.UTF8Writer.mSurrogate:I
7: .line 218
return
8: .line 221
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBufferLast:I
if_icmplt 11
9: .line 222
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOut:Ljava/io/OutputStream;
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iconst_0
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
invokevirtual java.io.OutputStream.write:([BII)V
10: .line 223
aload 0 /* this */
iconst_0
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
11: .line 226
StackMap locals:
StackMap stack:
iload 1 /* c */
sipush 128
if_icmpge 14
12: .line 227
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
aload 0 /* this */
dup
getfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
dup_x1
iconst_1
iadd
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
iload 1 /* c */
i2b
bastore
13: .line 228
goto 31
14: .line 229
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
istore 2 /* ptr */
start local 2 // int ptr
15: .line 230
iload 1 /* c */
sipush 2048
if_icmpge 19
16: .line 231
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iload 2 /* ptr */
iinc 2 /* ptr */ 1
sipush 192
iload 1 /* c */
bipush 6
ishr
ior
i2b
bastore
17: .line 232
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iload 2 /* ptr */
iinc 2 /* ptr */ 1
sipush 128
iload 1 /* c */
bipush 63
iand
ior
i2b
bastore
18: .line 233
goto 30
StackMap locals: int
StackMap stack:
19: iload 1 /* c */
ldc 65535
if_icmpgt 24
20: .line 234
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iload 2 /* ptr */
iinc 2 /* ptr */ 1
sipush 224
iload 1 /* c */
bipush 12
ishr
ior
i2b
bastore
21: .line 235
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iload 2 /* ptr */
iinc 2 /* ptr */ 1
sipush 128
iload 1 /* c */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
22: .line 236
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iload 2 /* ptr */
iinc 2 /* ptr */ 1
sipush 128
iload 1 /* c */
bipush 63
iand
ior
i2b
bastore
23: .line 237
goto 30
24: .line 238
StackMap locals:
StackMap stack:
iload 1 /* c */
ldc 1114111
if_icmple 26
25: .line 239
aload 0 /* this */
iload 1 /* c */
invokevirtual com.fasterxml.aalto.io.UTF8Writer.throwIllegal:(I)V
26: .line 241
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iload 2 /* ptr */
iinc 2 /* ptr */ 1
sipush 240
iload 1 /* c */
bipush 18
ishr
ior
i2b
bastore
27: .line 242
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iload 2 /* ptr */
iinc 2 /* ptr */ 1
sipush 128
iload 1 /* c */
bipush 12
ishr
bipush 63
iand
ior
i2b
bastore
28: .line 243
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iload 2 /* ptr */
iinc 2 /* ptr */ 1
sipush 128
iload 1 /* c */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
29: .line 244
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
iload 2 /* ptr */
iinc 2 /* ptr */ 1
sipush 128
iload 1 /* c */
bipush 63
iand
ior
i2b
bastore
30: .line 246
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 2 /* ptr */
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
end local 2 // int ptr
31: .line 248
StackMap locals:
StackMap stack:
return
end local 1 // int c
end local 0 // com.fasterxml.aalto.io.UTF8Writer this
LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/fasterxml/aalto/io/UTF8Writer;
0 32 1 c I
15 31 2 ptr I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
c
public void write(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // com.fasterxml.aalto.io.UTF8Writer this
start local 1 // java.lang.String str
0: .line 253
aload 0 /* this */
aload 1 /* str */
iconst_0
aload 1 /* str */
invokevirtual java.lang.String.length:()I
invokevirtual com.fasterxml.aalto.io.UTF8Writer.write:(Ljava/lang/String;II)V
1: .line 254
return
end local 1 // java.lang.String str
end local 0 // com.fasterxml.aalto.io.UTF8Writer this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/aalto/io/UTF8Writer;
0 2 1 str Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
str
public void write(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=4
start local 0 // com.fasterxml.aalto.io.UTF8Writer this
start local 1 // java.lang.String str
start local 2 // int off
start local 3 // int len
0: .line 259
iload 3 /* len */
iconst_2
if_icmpge 4
1: .line 260
iload 3 /* len */
iconst_1
if_icmpne 3
2: .line 261
aload 0 /* this */
aload 1 /* str */
iload 2 /* off */
invokevirtual java.lang.String.charAt:(I)C
invokevirtual com.fasterxml.aalto.io.UTF8Writer.write:(I)V
3: .line 263
StackMap locals:
StackMap stack:
return
4: .line 267
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mSurrogate:I
ifle 8
5: .line 268
aload 1 /* str */
iload 2 /* off */
iinc 2 /* off */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 4 /* second */
start local 4 // char second
6: .line 269
iinc 3 /* len */ -1
7: .line 270
aload 0 /* this */
aload 0 /* this */
iload 4 /* second */
invokevirtual com.fasterxml.aalto.io.UTF8Writer.convertSurrogate:(I)I
invokevirtual com.fasterxml.aalto.io.UTF8Writer.write:(I)V
end local 4 // char second
8: .line 274
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
istore 4 /* outPtr */
start local 4 // int outPtr
9: .line 275
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBuffer:[B
astore 5 /* outBuf */
start local 5 // byte[] outBuf
10: .line 276
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOutBufferLast:I
istore 6 /* outBufLast */
start local 6 // int outBufLast
11: .line 279
iload 3 /* len */
iload 2 /* off */
iadd
istore 3 /* len */
12: .line 282
goto 54
13: .line 286
StackMap locals: int byte[] int
StackMap stack:
iload 4 /* outPtr */
iload 6 /* outBufLast */
if_icmplt 16
14: .line 287
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mOut:Ljava/io/OutputStream;
aload 5 /* outBuf */
iconst_0
iload 4 /* outPtr */
invokevirtual java.io.OutputStream.write:([BII)V
15: .line 288
iconst_0
istore 4 /* outPtr */
16: .line 291
StackMap locals:
StackMap stack:
aload 1 /* str */
iload 2 /* off */
iinc 2 /* off */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 7 /* c */
start local 7 // int c
17: .line 293
iload 7 /* c */
sipush 128
if_icmpge 31
18: .line 294
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
iload 7 /* c */
i2b
bastore
19: .line 296
iload 3 /* len */
iload 2 /* off */
isub
istore 8 /* maxInCount */
start local 8 // int maxInCount
20: .line 297
iload 6 /* outBufLast */
iload 4 /* outPtr */
isub
istore 9 /* maxOutCount */
start local 9 // int maxOutCount
21: .line 299
iload 8 /* maxInCount */
iload 9 /* maxOutCount */
if_icmple 23
22: .line 300
iload 9 /* maxOutCount */
istore 8 /* maxInCount */
23: .line 302
StackMap locals: int int int
StackMap stack:
iload 8 /* maxInCount */
iload 2 /* off */
iadd
istore 8 /* maxInCount */
24: .line 305
StackMap locals:
StackMap stack:
iload 2 /* off */
iload 8 /* maxInCount */
if_icmplt 26
25: .line 306
goto 54
26: .line 308
StackMap locals:
StackMap stack:
aload 1 /* str */
iload 2 /* off */
iinc 2 /* off */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 7 /* c */
27: .line 309
iload 7 /* c */
sipush 128
if_icmplt 29
28: .line 310
goto 31
29: .line 312
StackMap locals:
StackMap stack:
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
iload 7 /* c */
i2b
bastore
30: .line 304
goto 24
end local 9 // int maxOutCount
end local 8 // int maxInCount
31: .line 317
StackMap locals:
StackMap stack:
iload 7 /* c */
sipush 2048
if_icmpge 35
32: .line 318
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 192
iload 7 /* c */
bipush 6
ishr
ior
i2b
bastore
33: .line 319
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 63
iand
ior
i2b
bastore
34: .line 320
goto 54
35: .line 322
StackMap locals:
StackMap stack:
iload 7 /* c */
ldc 55296
if_icmplt 36
iload 7 /* c */
ldc 57343
if_icmple 40
36: .line 323
StackMap locals:
StackMap stack:
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 224
iload 7 /* c */
bipush 12
ishr
ior
i2b
bastore
37: .line 324
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
38: .line 325
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 63
iand
ior
i2b
bastore
39: .line 326
goto 54
40: .line 329
StackMap locals:
StackMap stack:
iload 7 /* c */
ldc 56319
if_icmple 43
41: .line 330
aload 0 /* this */
iload 4 /* outPtr */
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
42: .line 331
aload 0 /* this */
iload 7 /* c */
invokevirtual com.fasterxml.aalto.io.UTF8Writer.throwIllegal:(I)V
43: .line 333
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 7 /* c */
putfield com.fasterxml.aalto.io.UTF8Writer.mSurrogate:I
44: .line 335
iload 2 /* off */
iload 3 /* len */
if_icmplt 46
45: .line 336
goto 55
46: .line 338
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* str */
iload 2 /* off */
iinc 2 /* off */ 1
invokevirtual java.lang.String.charAt:(I)C
invokevirtual com.fasterxml.aalto.io.UTF8Writer.convertSurrogate:(I)I
istore 7 /* c */
47: .line 339
iload 7 /* c */
ldc 1114111
if_icmple 50
48: .line 340
aload 0 /* this */
iload 4 /* outPtr */
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
49: .line 341
aload 0 /* this */
iload 7 /* c */
invokevirtual com.fasterxml.aalto.io.UTF8Writer.throwIllegal:(I)V
50: .line 343
StackMap locals:
StackMap stack:
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 240
iload 7 /* c */
bipush 18
ishr
ior
i2b
bastore
51: .line 344
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 12
ishr
bipush 63
iand
ior
i2b
bastore
52: .line 345
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
53: .line 346
aload 5 /* outBuf */
iload 4 /* outPtr */
iinc 4 /* outPtr */ 1
sipush 128
iload 7 /* c */
bipush 63
iand
ior
i2b
bastore
end local 7 // int c
54: .line 282
StackMap locals:
StackMap stack:
iload 2 /* off */
iload 3 /* len */
if_icmplt 13
55: .line 349
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 4 /* outPtr */
putfield com.fasterxml.aalto.io.UTF8Writer.mOutPtr:I
56: .line 350
return
end local 6 // int outBufLast
end local 5 // byte[] outBuf
end local 4 // int outPtr
end local 3 // int len
end local 2 // int off
end local 1 // java.lang.String str
end local 0 // com.fasterxml.aalto.io.UTF8Writer this
LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lcom/fasterxml/aalto/io/UTF8Writer;
0 57 1 str Ljava/lang/String;
0 57 2 off I
0 57 3 len I
6 8 4 second C
9 57 4 outPtr I
10 57 5 outBuf [B
11 57 6 outBufLast I
17 54 7 c I
20 31 8 maxInCount I
21 31 9 maxOutCount I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
str
off
len
private int convertSurrogate(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 // com.fasterxml.aalto.io.UTF8Writer this
start local 1 // int secondPart
0: .line 364
aload 0 /* this */
getfield com.fasterxml.aalto.io.UTF8Writer.mSurrogate:I
istore 2 /* firstPart */
start local 2 // int firstPart
1: .line 365
aload 0 /* this */
iconst_0
putfield com.fasterxml.aalto.io.UTF8Writer.mSurrogate:I
2: .line 368
iload 1 /* secondPart */
ldc 56320
if_icmplt 3
iload 1 /* secondPart */
ldc 57343
if_icmple 4
3: .line 369
StackMap locals: int
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Broken surrogate pair: first char 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2 /* firstPart */
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", second 0x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1 /* secondPart */
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "; illegal combination"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: .line 371
StackMap locals:
StackMap stack:
ldc 65536
iload 2 /* firstPart */
ldc 55296
isub
bipush 10
ishl
iadd
iload 1 /* secondPart */
ldc 56320
isub
iadd
ireturn
end local 2 // int firstPart
end local 1 // int secondPart
end local 0 // com.fasterxml.aalto.io.UTF8Writer this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/fasterxml/aalto/io/UTF8Writer;
0 5 1 secondPart I
1 5 2 firstPart I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
secondPart
private void throwIllegal(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 // com.fasterxml.aalto.io.UTF8Writer this
start local 1 // int code
0: .line 377
iload 1 /* code */
ldc 1114111
if_icmple 2
1: .line 378
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Illegal character point (0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1 /* code */
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") to output; max is 0x10FFFF as per RFC 3629"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: .line 380
StackMap locals:
StackMap stack:
iload 1 /* code */
ldc 55296
if_icmplt 6
3: .line 381
iload 1 /* code */
ldc 56319
if_icmpgt 5
4: .line 382
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unmatched first part of surrogate pair (0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1 /* code */
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
5: .line 384
StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unmatched second part of surrogate pair (0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1 /* code */
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: .line 388
StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Illegal character point (0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1 /* code */
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") to output"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 // int code
end local 0 // com.fasterxml.aalto.io.UTF8Writer this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/fasterxml/aalto/io/UTF8Writer;
0 7 1 code I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
code
}
SourceFile: "UTF8Writer.java"