public final class com.fasterxml.jackson.core.io.JsonStringEncoder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.fasterxml.jackson.core.io.JsonStringEncoder
super_class: java.lang.Object
{
private static final char[] HC;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] HB;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int SURR1_FIRST;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 55296
private static final int SURR1_LAST;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 56319
private static final int SURR2_FIRST;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 56320
private static final int SURR2_LAST;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 57343
protected com.fasterxml.jackson.core.util.TextBuffer _text;
descriptor: Lcom/fasterxml/jackson/core/util/TextBuffer;
flags: (0x0004) ACC_PROTECTED
protected com.fasterxml.jackson.core.util.ByteArrayBuilder _bytes;
descriptor: Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
flags: (0x0004) ACC_PROTECTED
protected final char[] _qbuf;
descriptor: [C
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 20
invokestatic com.fasterxml.jackson.core.io.CharTypes.copyHexChars:()[C
putstatic com.fasterxml.jackson.core.io.JsonStringEncoder.HC:[C
1: .line 22
invokestatic com.fasterxml.jackson.core.io.CharTypes.copyHexBytes:()[B
putstatic com.fasterxml.jackson.core.io.JsonStringEncoder.HB:[B
2: .line 27
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 // com.fasterxml.jackson.core.io.JsonStringEncoder this
0: .line 56
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 57
aload 0 /* this */
bipush 6
newarray 5
putfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
2: .line 58
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
iconst_0
bipush 92
castore
3: .line 59
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
iconst_2
bipush 48
castore
4: .line 60
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
iconst_3
bipush 48
castore
5: .line 61
return
end local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/fasterxml/jackson/core/io/JsonStringEncoder;
public static com.fasterxml.jackson.core.io.JsonStringEncoder getInstance();
descriptor: ()Lcom/fasterxml/jackson/core/io/JsonStringEncoder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 71
invokestatic com.fasterxml.jackson.core.util.BufferRecyclers.getJsonStringEncoder:()Lcom/fasterxml/jackson/core/io/JsonStringEncoder;
areturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public char[] quoteAsString(java.lang.String);
descriptor: (Ljava/lang/String;)[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=2
start local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
start local 1 // java.lang.String input
0: .line 86
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._text:Lcom/fasterxml/jackson/core/util/TextBuffer;
astore 2 /* textBuffer */
start local 2 // com.fasterxml.jackson.core.util.TextBuffer textBuffer
1: .line 87
aload 2 /* textBuffer */
ifnonnull 3
2: .line 89
aload 0 /* this */
new com.fasterxml.jackson.core.util.TextBuffer
dup
aconst_null
invokespecial com.fasterxml.jackson.core.util.TextBuffer.<init>:(Lcom/fasterxml/jackson/core/util/BufferRecycler;)V
dup
astore 2 /* textBuffer */
putfield com.fasterxml.jackson.core.io.JsonStringEncoder._text:Lcom/fasterxml/jackson/core/util/TextBuffer;
3: .line 91
StackMap locals: com.fasterxml.jackson.core.util.TextBuffer
StackMap stack:
aload 2 /* textBuffer */
invokevirtual com.fasterxml.jackson.core.util.TextBuffer.emptyAndGetCurrentSegment:()[C
astore 3 /* outputBuffer */
start local 3 // char[] outputBuffer
4: .line 92
invokestatic com.fasterxml.jackson.core.io.CharTypes.get7BitOutputEscapes:()[I
astore 4 /* escCodes */
start local 4 // int[] escCodes
5: .line 93
aload 4 /* escCodes */
arraylength
istore 5 /* escCodeCount */
start local 5 // int escCodeCount
6: .line 94
iconst_0
istore 6 /* inPtr */
start local 6 // int inPtr
7: .line 95
aload 1 /* input */
invokevirtual java.lang.String.length:()I
istore 7 /* inputLen */
start local 7 // int inputLen
8: .line 96
iconst_0
istore 8 /* outPtr */
start local 8 // int outPtr
9: .line 99
goto 36
10: .line 102
StackMap locals: com.fasterxml.jackson.core.io.JsonStringEncoder java.lang.String com.fasterxml.jackson.core.util.TextBuffer char[] int[] int int int int
StackMap stack:
aload 1 /* input */
iload 6 /* inPtr */
invokevirtual java.lang.String.charAt:(I)C
istore 9 /* c */
start local 9 // char c
11: .line 103
iload 9 /* c */
iload 5 /* escCodeCount */
if_icmpge 13
aload 4 /* escCodes */
iload 9 /* c */
iaload
ifeq 13
12: .line 104
goto 19
13: .line 106
StackMap locals: int
StackMap stack:
iload 8 /* outPtr */
aload 3 /* outputBuffer */
arraylength
if_icmplt 16
14: .line 107
aload 2 /* textBuffer */
invokevirtual com.fasterxml.jackson.core.util.TextBuffer.finishCurrentSegment:()[C
astore 3 /* outputBuffer */
15: .line 108
iconst_0
istore 8 /* outPtr */
16: .line 110
StackMap locals:
StackMap stack:
aload 3 /* outputBuffer */
iload 8 /* outPtr */
iinc 8 /* outPtr */ 1
iload 9 /* c */
castore
17: .line 111
iinc 6 /* inPtr */ 1
iload 6 /* inPtr */
iload 7 /* inputLen */
if_icmplt 10
18: .line 112
goto 37
end local 9 // char c
19: .line 116
StackMap locals:
StackMap stack:
aload 1 /* input */
iload 6 /* inPtr */
iinc 6 /* inPtr */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 9 /* d */
start local 9 // char d
20: .line 117
aload 4 /* escCodes */
iload 9 /* d */
iaload
istore 10 /* escCode */
start local 10 // int escCode
21: .line 118
iload 10 /* escCode */
ifge 23
22: .line 119
aload 0 /* this */
iload 9 /* d */
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
invokevirtual com.fasterxml.jackson.core.io.JsonStringEncoder._appendNumeric:(I[C)I
goto 24
23: .line 120
StackMap locals: int int
StackMap stack:
aload 0 /* this */
iload 10 /* escCode */
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
invokevirtual com.fasterxml.jackson.core.io.JsonStringEncoder._appendNamed:(I[C)I
24: .line 118
StackMap locals:
StackMap stack: int
istore 11 /* length */
start local 11 // int length
25: .line 122
iload 8 /* outPtr */
iload 11 /* length */
iadd
aload 3 /* outputBuffer */
arraylength
if_icmple 34
26: .line 123
aload 3 /* outputBuffer */
arraylength
iload 8 /* outPtr */
isub
istore 12 /* first */
start local 12 // int first
27: .line 124
iload 12 /* first */
ifle 29
28: .line 125
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
iconst_0
aload 3 /* outputBuffer */
iload 8 /* outPtr */
iload 12 /* first */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
29: .line 127
StackMap locals: int int
StackMap stack:
aload 2 /* textBuffer */
invokevirtual com.fasterxml.jackson.core.util.TextBuffer.finishCurrentSegment:()[C
astore 3 /* outputBuffer */
30: .line 128
iload 11 /* length */
iload 12 /* first */
isub
istore 13 /* second */
start local 13 // int second
31: .line 129
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
iload 12 /* first */
aload 3 /* outputBuffer */
iconst_0
iload 13 /* second */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
32: .line 130
iload 13 /* second */
istore 8 /* outPtr */
end local 13 // int second
end local 12 // int first
33: .line 131
goto 36
34: .line 132
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
iconst_0
aload 3 /* outputBuffer */
iload 8 /* outPtr */
iload 11 /* length */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
35: .line 133
iload 8 /* outPtr */
iload 11 /* length */
iadd
istore 8 /* outPtr */
end local 11 // int length
end local 10 // int escCode
end local 9 // char d
36: .line 99
StackMap locals:
StackMap stack:
iload 6 /* inPtr */
iload 7 /* inputLen */
if_icmplt 10
37: .line 136
StackMap locals:
StackMap stack:
aload 2 /* textBuffer */
iload 8 /* outPtr */
invokevirtual com.fasterxml.jackson.core.util.TextBuffer.setCurrentLength:(I)V
38: .line 137
aload 2 /* textBuffer */
invokevirtual com.fasterxml.jackson.core.util.TextBuffer.contentsAsArray:()[C
areturn
end local 8 // int outPtr
end local 7 // int inputLen
end local 6 // int inPtr
end local 5 // int escCodeCount
end local 4 // int[] escCodes
end local 3 // char[] outputBuffer
end local 2 // com.fasterxml.jackson.core.util.TextBuffer textBuffer
end local 1 // java.lang.String input
end local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lcom/fasterxml/jackson/core/io/JsonStringEncoder;
0 39 1 input Ljava/lang/String;
1 39 2 textBuffer Lcom/fasterxml/jackson/core/util/TextBuffer;
4 39 3 outputBuffer [C
5 39 4 escCodes [I
6 39 5 escCodeCount I
7 39 6 inPtr I
8 39 7 inputLen I
9 39 8 outPtr I
11 19 9 c C
20 36 9 d C
21 36 10 escCode I
25 36 11 length I
27 33 12 first I
31 33 13 second I
MethodParameters:
Name Flags
input
public void quoteAsString(java.lang.CharSequence, java.lang.StringBuilder);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/StringBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=3
start local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
start local 1 // java.lang.CharSequence input
start local 2 // java.lang.StringBuilder output
0: .line 149
invokestatic com.fasterxml.jackson.core.io.CharTypes.get7BitOutputEscapes:()[I
astore 3 /* escCodes */
start local 3 // int[] escCodes
1: .line 150
aload 3 /* escCodes */
arraylength
istore 4 /* escCodeCount */
start local 4 // int escCodeCount
2: .line 151
iconst_0
istore 5 /* inPtr */
start local 5 // int inPtr
3: .line 152
aload 1 /* input */
invokeinterface java.lang.CharSequence.length:()I
istore 6 /* inputLen */
start local 6 // int inputLen
4: .line 155
goto 18
5: .line 158
StackMap locals: com.fasterxml.jackson.core.io.JsonStringEncoder java.lang.CharSequence java.lang.StringBuilder int[] int int int
StackMap stack:
aload 1 /* input */
iload 5 /* inPtr */
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 7 /* c */
start local 7 // char c
6: .line 159
iload 7 /* c */
iload 4 /* escCodeCount */
if_icmpge 8
aload 3 /* escCodes */
iload 7 /* c */
iaload
ifeq 8
7: .line 160
goto 11
8: .line 162
StackMap locals: int
StackMap stack:
aload 2 /* output */
iload 7 /* c */
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: .line 163
iinc 5 /* inPtr */ 1
iload 5 /* inPtr */
iload 6 /* inputLen */
if_icmplt 5
10: .line 164
goto 19
end local 7 // char c
11: .line 168
StackMap locals:
StackMap stack:
aload 1 /* input */
iload 5 /* inPtr */
iinc 5 /* inPtr */ 1
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 7 /* d */
start local 7 // char d
12: .line 169
aload 3 /* escCodes */
iload 7 /* d */
iaload
istore 8 /* escCode */
start local 8 // int escCode
13: .line 170
iload 8 /* escCode */
ifge 15
14: .line 171
aload 0 /* this */
iload 7 /* d */
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
invokevirtual com.fasterxml.jackson.core.io.JsonStringEncoder._appendNumeric:(I[C)I
goto 16
15: .line 172
StackMap locals: int int
StackMap stack:
aload 0 /* this */
iload 8 /* escCode */
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
invokevirtual com.fasterxml.jackson.core.io.JsonStringEncoder._appendNamed:(I[C)I
16: .line 170
StackMap locals:
StackMap stack: int
istore 9 /* length */
start local 9 // int length
17: .line 174
aload 2 /* output */
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._qbuf:[C
iconst_0
iload 9 /* length */
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
end local 9 // int length
end local 8 // int escCode
end local 7 // char d
18: .line 155
StackMap locals:
StackMap stack:
iload 5 /* inPtr */
iload 6 /* inputLen */
if_icmplt 5
19: .line 176
StackMap locals:
StackMap stack:
return
end local 6 // int inputLen
end local 5 // int inPtr
end local 4 // int escCodeCount
end local 3 // int[] escCodes
end local 2 // java.lang.StringBuilder output
end local 1 // java.lang.CharSequence input
end local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/fasterxml/jackson/core/io/JsonStringEncoder;
0 20 1 input Ljava/lang/CharSequence;
0 20 2 output Ljava/lang/StringBuilder;
1 20 3 escCodes [I
2 20 4 escCodeCount I
3 20 5 inPtr I
4 20 6 inputLen I
6 11 7 c C
12 18 7 d C
13 18 8 escCode I
17 18 9 length I
MethodParameters:
Name Flags
input
output
public byte[] quoteAsUTF8(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=2
start local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
start local 1 // java.lang.String text
0: .line 185
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._bytes:Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
astore 2 /* bb */
start local 2 // com.fasterxml.jackson.core.util.ByteArrayBuilder bb
1: .line 186
aload 2 /* bb */
ifnonnull 3
2: .line 188
aload 0 /* this */
new com.fasterxml.jackson.core.util.ByteArrayBuilder
dup
aconst_null
invokespecial com.fasterxml.jackson.core.util.ByteArrayBuilder.<init>:(Lcom/fasterxml/jackson/core/util/BufferRecycler;)V
dup
astore 2 /* bb */
putfield com.fasterxml.jackson.core.io.JsonStringEncoder._bytes:Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
3: .line 190
StackMap locals: com.fasterxml.jackson.core.util.ByteArrayBuilder
StackMap stack:
iconst_0
istore 3 /* inputPtr */
start local 3 // int inputPtr
4: .line 191
aload 1 /* text */
invokevirtual java.lang.String.length:()I
istore 4 /* inputEnd */
start local 4 // int inputEnd
5: .line 192
iconst_0
istore 5 /* outputPtr */
start local 5 // int outputPtr
6: .line 193
aload 2 /* bb */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.resetAndGetFirstSegment:()[B
astore 6 /* outputBuffer */
start local 6 // byte[] outputBuffer
7: .line 196
goto 60
8: .line 197
StackMap locals: com.fasterxml.jackson.core.io.JsonStringEncoder java.lang.String com.fasterxml.jackson.core.util.ByteArrayBuilder int int int byte[]
StackMap stack:
invokestatic com.fasterxml.jackson.core.io.CharTypes.get7BitOutputEscapes:()[I
astore 7 /* escCodes */
start local 7 // int[] escCodes
9: .line 201
StackMap locals: int[]
StackMap stack:
aload 1 /* text */
iload 3 /* inputPtr */
invokevirtual java.lang.String.charAt:(I)C
istore 8 /* ch */
start local 8 // int ch
10: .line 202
iload 8 /* ch */
bipush 127
if_icmpgt 18
aload 7 /* escCodes */
iload 8 /* ch */
iaload
ifeq 12
11: .line 203
goto 18
12: .line 205
StackMap locals: int
StackMap stack:
iload 5 /* outputPtr */
aload 6 /* outputBuffer */
arraylength
if_icmplt 15
13: .line 206
aload 2 /* bb */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
14: .line 207
iconst_0
istore 5 /* outputPtr */
15: .line 209
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
iload 8 /* ch */
i2b
bastore
16: .line 210
iinc 3 /* inputPtr */ 1
iload 3 /* inputPtr */
iload 4 /* inputEnd */
if_icmplt 9
17: .line 211
goto 61
end local 8 // int ch
18: .line 214
StackMap locals:
StackMap stack:
iload 5 /* outputPtr */
aload 6 /* outputBuffer */
arraylength
if_icmplt 21
19: .line 215
aload 2 /* bb */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
20: .line 216
iconst_0
istore 5 /* outputPtr */
21: .line 219
StackMap locals:
StackMap stack:
aload 1 /* text */
iload 3 /* inputPtr */
iinc 3 /* inputPtr */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 8 /* ch */
start local 8 // int ch
22: .line 220
iload 8 /* ch */
bipush 127
if_icmpgt 27
23: .line 221
aload 7 /* escCodes */
iload 8 /* ch */
iaload
istore 9 /* escape */
start local 9 // int escape
24: .line 223
aload 0 /* this */
iload 8 /* ch */
iload 9 /* escape */
aload 2 /* bb */
iload 5 /* outputPtr */
invokevirtual com.fasterxml.jackson.core.io.JsonStringEncoder._appendByte:(IILcom/fasterxml/jackson/core/util/ByteArrayBuilder;I)I
istore 5 /* outputPtr */
25: .line 224
aload 2 /* bb */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.getCurrentSegment:()[B
astore 6 /* outputBuffer */
26: .line 225
goto 60
end local 9 // int escape
27: .line 227
StackMap locals: int
StackMap stack:
iload 8 /* ch */
sipush 2047
if_icmpgt 31
28: .line 228
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 192
iload 8 /* ch */
bipush 6
ishr
ior
i2b
bastore
29: .line 229
sipush 128
iload 8 /* ch */
bipush 63
iand
ior
istore 8 /* ch */
30: .line 230
goto 56
31: .line 232
StackMap locals:
StackMap stack:
iload 8 /* ch */
ldc 55296
if_icmplt 32
iload 8 /* ch */
ldc 57343
if_icmple 39
32: .line 233
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 224
iload 8 /* ch */
bipush 12
ishr
ior
i2b
bastore
33: .line 234
iload 5 /* outputPtr */
aload 6 /* outputBuffer */
arraylength
if_icmplt 36
34: .line 235
aload 2 /* bb */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
35: .line 236
iconst_0
istore 5 /* outputPtr */
36: .line 238
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 128
iload 8 /* ch */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
37: .line 239
sipush 128
iload 8 /* ch */
bipush 63
iand
ior
istore 8 /* ch */
38: .line 240
goto 56
39: .line 241
StackMap locals:
StackMap stack:
iload 8 /* ch */
ldc 56319
if_icmple 41
40: .line 242
iload 8 /* ch */
invokestatic com.fasterxml.jackson.core.io.JsonStringEncoder._illegal:(I)V
41: .line 245
StackMap locals:
StackMap stack:
iload 3 /* inputPtr */
iload 4 /* inputEnd */
if_icmplt 43
42: .line 246
iload 8 /* ch */
invokestatic com.fasterxml.jackson.core.io.JsonStringEncoder._illegal:(I)V
43: .line 248
StackMap locals:
StackMap stack:
iload 8 /* ch */
aload 1 /* text */
iload 3 /* inputPtr */
iinc 3 /* inputPtr */ 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic com.fasterxml.jackson.core.io.JsonStringEncoder._convert:(II)I
istore 8 /* ch */
44: .line 249
iload 8 /* ch */
ldc 1114111
if_icmple 46
45: .line 250
iload 8 /* ch */
invokestatic com.fasterxml.jackson.core.io.JsonStringEncoder._illegal:(I)V
46: .line 252
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 240
iload 8 /* ch */
bipush 18
ishr
ior
i2b
bastore
47: .line 253
iload 5 /* outputPtr */
aload 6 /* outputBuffer */
arraylength
if_icmplt 50
48: .line 254
aload 2 /* bb */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
49: .line 255
iconst_0
istore 5 /* outputPtr */
50: .line 257
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 128
iload 8 /* ch */
bipush 12
ishr
bipush 63
iand
ior
i2b
bastore
51: .line 258
iload 5 /* outputPtr */
aload 6 /* outputBuffer */
arraylength
if_icmplt 54
52: .line 259
aload 2 /* bb */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
53: .line 260
iconst_0
istore 5 /* outputPtr */
54: .line 262
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 128
iload 8 /* ch */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
55: .line 263
sipush 128
iload 8 /* ch */
bipush 63
iand
ior
istore 8 /* ch */
56: .line 266
StackMap locals:
StackMap stack:
iload 5 /* outputPtr */
aload 6 /* outputBuffer */
arraylength
if_icmplt 59
57: .line 267
aload 2 /* bb */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
58: .line 268
iconst_0
istore 5 /* outputPtr */
59: .line 270
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
iload 8 /* ch */
i2b
bastore
end local 8 // int ch
end local 7 // int[] escCodes
60: .line 196
StackMap locals:
StackMap stack:
iload 3 /* inputPtr */
iload 4 /* inputEnd */
if_icmplt 8
61: .line 272
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._bytes:Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
iload 5 /* outputPtr */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.completeAndCoalesce:(I)[B
areturn
end local 6 // byte[] outputBuffer
end local 5 // int outputPtr
end local 4 // int inputEnd
end local 3 // int inputPtr
end local 2 // com.fasterxml.jackson.core.util.ByteArrayBuilder bb
end local 1 // java.lang.String text
end local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lcom/fasterxml/jackson/core/io/JsonStringEncoder;
0 62 1 text Ljava/lang/String;
1 62 2 bb Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
4 62 3 inputPtr I
5 62 4 inputEnd I
6 62 5 outputPtr I
7 62 6 outputBuffer [B
9 60 7 escCodes [I
10 18 8 ch I
22 60 8 ch I
24 27 9 escape I
MethodParameters:
Name Flags
text
public byte[] encodeAsUTF8(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
start local 1 // java.lang.String text
0: .line 282
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._bytes:Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
astore 2 /* byteBuilder */
start local 2 // com.fasterxml.jackson.core.util.ByteArrayBuilder byteBuilder
1: .line 283
aload 2 /* byteBuilder */
ifnonnull 3
2: .line 285
aload 0 /* this */
new com.fasterxml.jackson.core.util.ByteArrayBuilder
dup
aconst_null
invokespecial com.fasterxml.jackson.core.util.ByteArrayBuilder.<init>:(Lcom/fasterxml/jackson/core/util/BufferRecycler;)V
dup
astore 2 /* byteBuilder */
putfield com.fasterxml.jackson.core.io.JsonStringEncoder._bytes:Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
3: .line 287
StackMap locals: com.fasterxml.jackson.core.util.ByteArrayBuilder
StackMap stack:
iconst_0
istore 3 /* inputPtr */
start local 3 // int inputPtr
4: .line 288
aload 1 /* text */
invokevirtual java.lang.String.length:()I
istore 4 /* inputEnd */
start local 4 // int inputEnd
5: .line 289
iconst_0
istore 5 /* outputPtr */
start local 5 // int outputPtr
6: .line 290
aload 2 /* byteBuilder */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.resetAndGetFirstSegment:()[B
astore 6 /* outputBuffer */
start local 6 // byte[] outputBuffer
7: .line 291
aload 6 /* outputBuffer */
arraylength
istore 7 /* outputEnd */
start local 7 // int outputEnd
8: .line 294
goto 58
9: .line 295
StackMap locals: com.fasterxml.jackson.core.io.JsonStringEncoder java.lang.String com.fasterxml.jackson.core.util.ByteArrayBuilder int int int byte[] int
StackMap stack:
aload 1 /* text */
iload 3 /* inputPtr */
iinc 3 /* inputPtr */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 8 /* c */
start local 8 // int c
10: .line 298
goto 19
11: .line 299
StackMap locals: int
StackMap stack:
iload 5 /* outputPtr */
iload 7 /* outputEnd */
if_icmplt 15
12: .line 300
aload 2 /* byteBuilder */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
13: .line 301
aload 6 /* outputBuffer */
arraylength
istore 7 /* outputEnd */
14: .line 302
iconst_0
istore 5 /* outputPtr */
15: .line 304
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
iload 8 /* c */
i2b
bastore
16: .line 305
iload 3 /* inputPtr */
iload 4 /* inputEnd */
if_icmplt 18
17: .line 306
goto 59
18: .line 308
StackMap locals:
StackMap stack:
aload 1 /* text */
iload 3 /* inputPtr */
iinc 3 /* inputPtr */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 8 /* c */
19: .line 298
StackMap locals:
StackMap stack:
iload 8 /* c */
bipush 127
if_icmple 11
20: .line 312
iload 5 /* outputPtr */
iload 7 /* outputEnd */
if_icmplt 24
21: .line 313
aload 2 /* byteBuilder */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
22: .line 314
aload 6 /* outputBuffer */
arraylength
istore 7 /* outputEnd */
23: .line 315
iconst_0
istore 5 /* outputPtr */
24: .line 317
StackMap locals:
StackMap stack:
iload 8 /* c */
sipush 2048
if_icmpge 27
25: .line 318
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 192
iload 8 /* c */
bipush 6
ishr
ior
i2b
bastore
26: .line 319
goto 53
27: .line 321
StackMap locals:
StackMap stack:
iload 8 /* c */
ldc 55296
if_icmplt 28
iload 8 /* c */
ldc 57343
if_icmple 35
28: .line 322
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 224
iload 8 /* c */
bipush 12
ishr
ior
i2b
bastore
29: .line 323
iload 5 /* outputPtr */
iload 7 /* outputEnd */
if_icmplt 33
30: .line 324
aload 2 /* byteBuilder */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
31: .line 325
aload 6 /* outputBuffer */
arraylength
istore 7 /* outputEnd */
32: .line 326
iconst_0
istore 5 /* outputPtr */
33: .line 328
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 128
iload 8 /* c */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
34: .line 329
goto 53
35: .line 330
StackMap locals:
StackMap stack:
iload 8 /* c */
ldc 56319
if_icmple 37
36: .line 331
iload 8 /* c */
invokestatic com.fasterxml.jackson.core.io.JsonStringEncoder._illegal:(I)V
37: .line 334
StackMap locals:
StackMap stack:
iload 3 /* inputPtr */
iload 4 /* inputEnd */
if_icmplt 39
38: .line 335
iload 8 /* c */
invokestatic com.fasterxml.jackson.core.io.JsonStringEncoder._illegal:(I)V
39: .line 337
StackMap locals:
StackMap stack:
iload 8 /* c */
aload 1 /* text */
iload 3 /* inputPtr */
iinc 3 /* inputPtr */ 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic com.fasterxml.jackson.core.io.JsonStringEncoder._convert:(II)I
istore 8 /* c */
40: .line 338
iload 8 /* c */
ldc 1114111
if_icmple 42
41: .line 339
iload 8 /* c */
invokestatic com.fasterxml.jackson.core.io.JsonStringEncoder._illegal:(I)V
42: .line 341
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 240
iload 8 /* c */
bipush 18
ishr
ior
i2b
bastore
43: .line 342
iload 5 /* outputPtr */
iload 7 /* outputEnd */
if_icmplt 47
44: .line 343
aload 2 /* byteBuilder */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
45: .line 344
aload 6 /* outputBuffer */
arraylength
istore 7 /* outputEnd */
46: .line 345
iconst_0
istore 5 /* outputPtr */
47: .line 347
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 128
iload 8 /* c */
bipush 12
ishr
bipush 63
iand
ior
i2b
bastore
48: .line 348
iload 5 /* outputPtr */
iload 7 /* outputEnd */
if_icmplt 52
49: .line 349
aload 2 /* byteBuilder */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
50: .line 350
aload 6 /* outputBuffer */
arraylength
istore 7 /* outputEnd */
51: .line 351
iconst_0
istore 5 /* outputPtr */
52: .line 353
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 128
iload 8 /* c */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
53: .line 356
StackMap locals:
StackMap stack:
iload 5 /* outputPtr */
iload 7 /* outputEnd */
if_icmplt 57
54: .line 357
aload 2 /* byteBuilder */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.finishCurrentSegment:()[B
astore 6 /* outputBuffer */
55: .line 358
aload 6 /* outputBuffer */
arraylength
istore 7 /* outputEnd */
56: .line 359
iconst_0
istore 5 /* outputPtr */
57: .line 361
StackMap locals:
StackMap stack:
aload 6 /* outputBuffer */
iload 5 /* outputPtr */
iinc 5 /* outputPtr */ 1
sipush 128
iload 8 /* c */
bipush 63
iand
ior
i2b
bastore
end local 8 // int c
58: .line 294
StackMap locals:
StackMap stack:
iload 3 /* inputPtr */
iload 4 /* inputEnd */
if_icmplt 9
59: .line 363
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.fasterxml.jackson.core.io.JsonStringEncoder._bytes:Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
iload 5 /* outputPtr */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.completeAndCoalesce:(I)[B
areturn
end local 7 // int outputEnd
end local 6 // byte[] outputBuffer
end local 5 // int outputPtr
end local 4 // int inputEnd
end local 3 // int inputPtr
end local 2 // com.fasterxml.jackson.core.util.ByteArrayBuilder byteBuilder
end local 1 // java.lang.String text
end local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lcom/fasterxml/jackson/core/io/JsonStringEncoder;
0 60 1 text Ljava/lang/String;
1 60 2 byteBuilder Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
4 60 3 inputPtr I
5 60 4 inputEnd I
6 60 5 outputPtr I
7 60 6 outputBuffer [B
8 60 7 outputEnd I
10 58 8 c I
MethodParameters:
Name Flags
text
private int _appendNumeric(int, char[]);
descriptor: (I[C)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
start local 1 // int value
start local 2 // char[] qbuf
0: .line 373
aload 2 /* qbuf */
iconst_1
bipush 117
castore
1: .line 375
aload 2 /* qbuf */
iconst_4
getstatic com.fasterxml.jackson.core.io.JsonStringEncoder.HC:[C
iload 1 /* value */
iconst_4
ishr
caload
castore
2: .line 376
aload 2 /* qbuf */
iconst_5
getstatic com.fasterxml.jackson.core.io.JsonStringEncoder.HC:[C
iload 1 /* value */
bipush 15
iand
caload
castore
3: .line 377
bipush 6
ireturn
end local 2 // char[] qbuf
end local 1 // int value
end local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/fasterxml/jackson/core/io/JsonStringEncoder;
0 4 1 value I
0 4 2 qbuf [C
MethodParameters:
Name Flags
value
qbuf
private int _appendNamed(int, char[]);
descriptor: (I[C)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
start local 1 // int esc
start local 2 // char[] qbuf
0: .line 381
aload 2 /* qbuf */
iconst_1
iload 1 /* esc */
i2c
castore
1: .line 382
iconst_2
ireturn
end local 2 // char[] qbuf
end local 1 // int esc
end local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/core/io/JsonStringEncoder;
0 2 1 esc I
0 2 2 qbuf [C
MethodParameters:
Name Flags
esc
qbuf
private int _appendByte(int, int, com.fasterxml.jackson.core.util.ByteArrayBuilder, int);
descriptor: (IILcom/fasterxml/jackson/core/util/ByteArrayBuilder;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=5
start local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
start local 1 // int ch
start local 2 // int esc
start local 3 // com.fasterxml.jackson.core.util.ByteArrayBuilder bb
start local 4 // int ptr
0: .line 387
aload 3 /* bb */
iload 4 /* ptr */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.setCurrentSegmentLength:(I)V
1: .line 388
aload 3 /* bb */
bipush 92
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.append:(I)V
2: .line 389
iload 2 /* esc */
ifge 15
3: .line 390
aload 3 /* bb */
bipush 117
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.append:(I)V
4: .line 391
iload 1 /* ch */
sipush 255
if_icmple 10
5: .line 392
iload 1 /* ch */
bipush 8
ishr
istore 5 /* hi */
start local 5 // int hi
6: .line 393
aload 3 /* bb */
getstatic com.fasterxml.jackson.core.io.JsonStringEncoder.HB:[B
iload 5 /* hi */
iconst_4
ishr
baload
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.append:(I)V
7: .line 394
aload 3 /* bb */
getstatic com.fasterxml.jackson.core.io.JsonStringEncoder.HB:[B
iload 5 /* hi */
bipush 15
iand
baload
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.append:(I)V
8: .line 395
iload 1 /* ch */
sipush 255
iand
istore 1 /* ch */
end local 5 // int hi
9: .line 396
goto 12
10: .line 397
StackMap locals:
StackMap stack:
aload 3 /* bb */
bipush 48
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.append:(I)V
11: .line 398
aload 3 /* bb */
bipush 48
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.append:(I)V
12: .line 400
StackMap locals:
StackMap stack:
aload 3 /* bb */
getstatic com.fasterxml.jackson.core.io.JsonStringEncoder.HB:[B
iload 1 /* ch */
iconst_4
ishr
baload
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.append:(I)V
13: .line 401
aload 3 /* bb */
getstatic com.fasterxml.jackson.core.io.JsonStringEncoder.HB:[B
iload 1 /* ch */
bipush 15
iand
baload
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.append:(I)V
14: .line 402
goto 16
15: .line 403
StackMap locals:
StackMap stack:
aload 3 /* bb */
iload 2 /* esc */
i2b
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.append:(I)V
16: .line 405
StackMap locals:
StackMap stack:
aload 3 /* bb */
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.getCurrentSegmentLength:()I
ireturn
end local 4 // int ptr
end local 3 // com.fasterxml.jackson.core.util.ByteArrayBuilder bb
end local 2 // int esc
end local 1 // int ch
end local 0 // com.fasterxml.jackson.core.io.JsonStringEncoder this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/fasterxml/jackson/core/io/JsonStringEncoder;
0 17 1 ch I
0 17 2 esc I
0 17 3 bb Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
0 17 4 ptr I
6 9 5 hi I
MethodParameters:
Name Flags
ch
esc
bb
ptr
private static int _convert(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 // int p1
start local 1 // int p2
0: .line 410
iload 1 /* p2 */
ldc 56320
if_icmplt 1
iload 1 /* p2 */
ldc 57343
if_icmple 2
1: .line 411
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Broken surrogate pair: first char 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0 /* p1 */
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 /* p2 */
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.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 413
StackMap locals:
StackMap stack:
ldc 65536
iload 0 /* p1 */
ldc 55296
isub
bipush 10
ishl
iadd
iload 1 /* p2 */
ldc 56320
isub
iadd
ireturn
end local 1 // int p2
end local 0 // int p1
LocalVariableTable:
Start End Slot Name Signature
0 3 0 p1 I
0 3 1 p2 I
MethodParameters:
Name Flags
p1
p2
private static void _illegal(int);
descriptor: (I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // int c
0: .line 417
new java.lang.IllegalArgumentException
dup
iload 0 /* c */
invokestatic com.fasterxml.jackson.core.io.UTF8Writer.illegalSurrogateDesc:(I)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 // int c
LocalVariableTable:
Start End Slot Name Signature
0 1 0 c I
MethodParameters:
Name Flags
c
}
SourceFile: "JsonStringEncoder.java"