public class com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper
super_class: java.lang.Object
{
protected final com.fasterxml.jackson.core.io.IOContext _context;
descriptor: Lcom/fasterxml/jackson/core/io/IOContext;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.io.InputStream _in;
descriptor: Ljava/io/InputStream;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final byte[] _inputBuffer;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected int _inputPtr;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int _inputEnd;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected final boolean _bufferRecyclable;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected int _inputProcessed;
descriptor: I
flags: (0x0004) ACC_PROTECTED
public void <init>(com.fasterxml.jackson.core.io.IOContext, java.io.InputStream);
descriptor: (Lcom/fasterxml/jackson/core/io/IOContext;Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._context:Lcom/fasterxml/jackson/core/io/IOContext;
2: aload 0
aload 2
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._in:Ljava/io/InputStream;
3: aload 0
aload 1
invokevirtual com.fasterxml.jackson.core.io.IOContext.allocReadIOBuffer:()[B
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputBuffer:[B
4: aload 0
aload 0
iconst_0
dup_x1
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputPtr:I
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputEnd:I
5: aload 0
iconst_0
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputProcessed:I
6: aload 0
iconst_1
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._bufferRecyclable:Z
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/fasterxml/jackson/dataformat/smile/SmileParserBootstrapper;
0 8 1 ctxt Lcom/fasterxml/jackson/core/io/IOContext;
0 8 2 in Ljava/io/InputStream;
MethodParameters:
Name Flags
ctxt
in
public void <init>(com.fasterxml.jackson.core.io.IOContext, byte[], int, int);
descriptor: (Lcom/fasterxml/jackson/core/io/IOContext;[BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._context:Lcom/fasterxml/jackson/core/io/IOContext;
2: aload 0
aconst_null
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._in:Ljava/io/InputStream;
3: aload 0
aload 2
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputBuffer:[B
4: aload 0
iload 3
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputPtr:I
5: aload 0
iload 3
iload 4
iadd
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputEnd:I
6: aload 0
iload 3
ineg
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputProcessed:I
7: aload 0
iconst_0
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._bufferRecyclable:Z
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/jackson/dataformat/smile/SmileParserBootstrapper;
0 9 1 ctxt Lcom/fasterxml/jackson/core/io/IOContext;
0 9 2 inputBuffer [B
0 9 3 inputStart I
0 9 4 inputLen I
MethodParameters:
Name Flags
ctxt
inputBuffer
inputStart
inputLen
public com.fasterxml.jackson.dataformat.smile.SmileParser constructParser(int, int, int, com.fasterxml.jackson.core.ObjectCodec, com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer);
descriptor: (IIILcom/fasterxml/jackson/core/ObjectCodec;Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;)Lcom/fasterxml/jackson/dataformat/smile/SmileParser;
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
iload 1
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.makeChild:(I)Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
astore 6
start local 6 1: aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputEnd:I
istore 7
start local 7 2: aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputPtr:I
iload 7
if_icmpge 6
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._in:Ljava/io/InputStream;
ifnull 6
3: aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._in:Ljava/io/InputStream;
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputBuffer:[B
iload 7
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputBuffer:[B
arraylength
iload 7
isub
invokevirtual java.io.InputStream.read:([BII)I
istore 8
start local 8 4: iload 8
ifle 6
5: aload 0
dup
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputEnd:I
iload 8
iadd
putfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputEnd:I
end local 8 6: StackMap locals: com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer int
StackMap stack:
new com.fasterxml.jackson.dataformat.smile.SmileParser
dup
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._context:Lcom/fasterxml/jackson/core/io/IOContext;
iload 2
iload 3
7: aload 4
aload 6
8: aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._in:Ljava/io/InputStream;
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputBuffer:[B
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputPtr:I
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputEnd:I
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._bufferRecyclable:Z
9: invokespecial com.fasterxml.jackson.dataformat.smile.SmileParser.<init>:(Lcom/fasterxml/jackson/core/io/IOContext;IILcom/fasterxml/jackson/core/ObjectCodec;Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;Ljava/io/InputStream;[BIIZ)V
astore 8
start local 8 10: iconst_0
istore 9
start local 9 11: aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputPtr:I
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputEnd:I
if_icmpge 15
12: aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputBuffer:[B
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputPtr:I
baload
bipush 58
if_icmpne 16
13: aload 8
iconst_1
iconst_1
invokevirtual com.fasterxml.jackson.dataformat.smile.SmileParser.handleSignature:(ZZ)Z
istore 9
14: goto 16
15: StackMap locals: com.fasterxml.jackson.dataformat.smile.SmileParser int
StackMap stack:
aload 8
areturn
16: StackMap locals:
StackMap stack:
iload 9
ifne 30
getstatic com.fasterxml.jackson.dataformat.smile.SmileParser$Feature.REQUIRE_HEADER:Lcom/fasterxml/jackson/dataformat/smile/SmileParser$Feature;
iload 3
invokevirtual com.fasterxml.jackson.dataformat.smile.SmileParser$Feature.enabledIn:(I)Z
ifeq 30
17: aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputPtr:I
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputEnd:I
if_icmpge 18
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputBuffer:[B
aload 0
getfield com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper._inputPtr:I
baload
goto 19
StackMap locals:
StackMap stack:
18: iconst_0
StackMap locals:
StackMap stack: int
19: istore 11
start local 11 20: iload 11
bipush 123
if_icmpeq 21
iload 11
bipush 91
if_icmpne 26
21: StackMap locals: com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper int int int com.fasterxml.jackson.core.ObjectCodec com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer int com.fasterxml.jackson.dataformat.smile.SmileParser int top int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Input does not start with Smile format header (first byte = 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: iload 11
sipush 255
iand
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") -- rather, it starts with '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 11
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
23: ldc "' (plain JSON input?) -- can not parse"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 25: goto 29
end local 10 26: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Input does not start with Smile format header (first byte = 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
27: iload 11
sipush 255
iand
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") and parser has REQUIRE_HEADER enabled: can not parse"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
28: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 29: StackMap locals: com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper int int int com.fasterxml.jackson.core.ObjectCodec com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer int com.fasterxml.jackson.dataformat.smile.SmileParser int java.lang.String int
StackMap stack:
new com.fasterxml.jackson.core.JsonParseException
dup
aload 8
aload 10
invokespecial com.fasterxml.jackson.core.JsonParseException.<init>:(Lcom/fasterxml/jackson/core/JsonParser;Ljava/lang/String;)V
athrow
end local 11 end local 10 30: StackMap locals:
StackMap stack:
aload 8
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/fasterxml/jackson/dataformat/smile/SmileParserBootstrapper;
0 31 1 factoryFeatures I
0 31 2 generalParserFeatures I
0 31 3 smileFeatures I
0 31 4 codec Lcom/fasterxml/jackson/core/ObjectCodec;
0 31 5 rootByteSymbols Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
1 31 6 can Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
2 31 7 end I
4 6 8 count I
10 31 8 p Lcom/fasterxml/jackson/dataformat/smile/SmileParser;
11 31 9 hadSig Z
25 26 10 msg Ljava/lang/String;
29 30 10 msg Ljava/lang/String;
20 30 11 firstByte B
Exceptions:
throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
MethodParameters:
Name Flags
factoryFeatures
generalParserFeatures
smileFeatures
codec
rootByteSymbols
public static com.fasterxml.jackson.core.format.MatchStrength hasSmileFormat(com.fasterxml.jackson.core.format.InputAccessor);
descriptor: (Lcom/fasterxml/jackson/core/format/InputAccessor;)Lcom/fasterxml/jackson/core/format/MatchStrength;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface com.fasterxml.jackson.core.format.InputAccessor.hasMoreBytes:()Z
ifne 2
1: getstatic com.fasterxml.jackson.core.format.MatchStrength.INCONCLUSIVE:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface com.fasterxml.jackson.core.format.InputAccessor.nextByte:()B
istore 1
start local 1 3: aload 0
invokeinterface com.fasterxml.jackson.core.format.InputAccessor.hasMoreBytes:()Z
ifne 5
4: getstatic com.fasterxml.jackson.core.format.MatchStrength.INCONCLUSIVE:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
5: StackMap locals: int
StackMap stack:
aload 0
invokeinterface com.fasterxml.jackson.core.format.InputAccessor.nextByte:()B
istore 2
start local 2 6: iload 1
bipush 58
if_icmpne 15
7: iload 2
bipush 41
if_icmpeq 9
8: getstatic com.fasterxml.jackson.core.format.MatchStrength.NO_MATCH:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
9: StackMap locals: int
StackMap stack:
aload 0
invokeinterface com.fasterxml.jackson.core.format.InputAccessor.hasMoreBytes:()Z
ifne 11
10: getstatic com.fasterxml.jackson.core.format.MatchStrength.INCONCLUSIVE:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
11: StackMap locals:
StackMap stack:
aload 0
invokeinterface com.fasterxml.jackson.core.format.InputAccessor.nextByte:()B
bipush 10
if_icmpne 13
12: getstatic com.fasterxml.jackson.core.format.MatchStrength.FULL_MATCH:Lcom/fasterxml/jackson/core/format/MatchStrength;
goto 14
StackMap locals:
StackMap stack:
13: getstatic com.fasterxml.jackson.core.format.MatchStrength.NO_MATCH:Lcom/fasterxml/jackson/core/format/MatchStrength;
14: StackMap locals:
StackMap stack: com.fasterxml.jackson.core.format.MatchStrength
areturn
15: StackMap locals:
StackMap stack:
iload 1
bipush -6
if_icmpne 22
16: iload 2
bipush 52
if_icmpne 18
17: getstatic com.fasterxml.jackson.core.format.MatchStrength.SOLID_MATCH:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
18: StackMap locals:
StackMap stack:
iload 2
sipush 255
iand
istore 3
start local 3 19: iload 3
sipush 128
if_icmplt 21
iload 3
sipush 248
if_icmpge 21
20: getstatic com.fasterxml.jackson.core.format.MatchStrength.SOLID_MATCH:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
21: StackMap locals: int
StackMap stack:
getstatic com.fasterxml.jackson.core.format.MatchStrength.NO_MATCH:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
end local 3 22: StackMap locals:
StackMap stack:
iload 1
bipush -8
if_icmpne 28
23: aload 0
invokeinterface com.fasterxml.jackson.core.format.InputAccessor.hasMoreBytes:()Z
ifne 25
24: getstatic com.fasterxml.jackson.core.format.MatchStrength.INCONCLUSIVE:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
25: StackMap locals:
StackMap stack:
iload 2
invokestatic com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper.likelySmileValue:(B)Z
ifne 26
iload 2
iconst_1
invokestatic com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper.possibleSmileValue:(BZ)Z
ifeq 27
26: StackMap locals:
StackMap stack:
getstatic com.fasterxml.jackson.core.format.MatchStrength.SOLID_MATCH:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
27: StackMap locals:
StackMap stack:
getstatic com.fasterxml.jackson.core.format.MatchStrength.NO_MATCH:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
28: StackMap locals:
StackMap stack:
iload 1
invokestatic com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper.likelySmileValue:(B)Z
ifne 29
iload 2
iconst_0
invokestatic com.fasterxml.jackson.dataformat.smile.SmileParserBootstrapper.possibleSmileValue:(BZ)Z
ifeq 30
29: StackMap locals:
StackMap stack:
getstatic com.fasterxml.jackson.core.format.MatchStrength.SOLID_MATCH:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
30: StackMap locals:
StackMap stack:
getstatic com.fasterxml.jackson.core.format.MatchStrength.NO_MATCH:Lcom/fasterxml/jackson/core/format/MatchStrength;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 acc Lcom/fasterxml/jackson/core/format/InputAccessor;
3 31 1 b1 B
6 31 2 b2 B
19 22 3 ch I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
acc
private static boolean likelySmileValue(byte);
descriptor: (B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iload 0
bipush -32
if_icmpeq 5
1: iload 0
bipush -28
if_icmpeq 5
2: iload 0
bipush -24
if_icmpeq 5
3: iload 0
bipush -8
if_icmpeq 5
4: iload 0
bipush -6
if_icmpne 6
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iload 0
sipush 255
iand
istore 1
start local 1 7: iload 1
sipush 128
if_icmplt 9
iload 1
sipush 159
if_icmpgt 9
8: iconst_1
ireturn
9: StackMap locals: int
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 b B
7 10 1 ch I
MethodParameters:
Name Flags
b
private static boolean possibleSmileValue(byte, boolean);
descriptor: (BZ)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 0
sipush 255
iand
istore 2
start local 2 1: iload 2
sipush 128
if_icmplt 4
2: iload 2
sipush 224
if_icmpgt 3
iconst_1
ireturn
StackMap locals: int
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iload 1
ifeq 10
5: iload 2
bipush 64
if_icmplt 7
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iload 2
bipush -32
if_icmple 10
8: iload 2
bipush 44
if_icmpge 9
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 b B
0 11 1 lenient Z
1 11 2 ch I
MethodParameters:
Name Flags
b
lenient
}
SourceFile: "SmileParserBootstrapper.java"
InnerClasses:
public final Feature = com.fasterxml.jackson.dataformat.smile.SmileParser$Feature of com.fasterxml.jackson.dataformat.smile.SmileParser