class com.mongodb.util.JSONParser
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.util.JSONParser
super_class: java.lang.Object
{
final java.lang.String s;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
int pos;
descriptor: I
flags: (0x0000)
final org.bson.BSONCallback _callback;
descriptor: Lorg/bson/BSONCallback;
flags: (0x0010) ACC_FINAL
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokespecial com.mongodb.util.JSONParser.<init>:(Ljava/lang/String;Lorg/bson/BSONCallback;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/util/JSONParser;
0 2 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s final
void <init>(java.lang.String, org.bson.BSONCallback);
descriptor: (Ljava/lang/String;Lorg/bson/BSONCallback;)V
flags: (0x0000)
Code:
stack=3, 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
iconst_0
putfield com.mongodb.util.JSONParser.pos:I
2: aload 0
aload 1
putfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
3: aload 0
aload 2
ifnonnull 4
new com.mongodb.util.JSONCallback
dup
invokespecial com.mongodb.util.JSONCallback.<init>:()V
goto 5
StackMap locals: com.mongodb.util.JSONParser java.lang.String org.bson.BSONCallback
StackMap stack: com.mongodb.util.JSONParser
4: aload 2
StackMap locals: com.mongodb.util.JSONParser java.lang.String org.bson.BSONCallback
StackMap stack: com.mongodb.util.JSONParser org.bson.BSONCallback
5: putfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/mongodb/util/JSONParser;
0 7 1 s Ljava/lang/String;
0 7 2 callback Lorg/bson/BSONCallback;
MethodParameters:
Name Flags
s final
callback final
public java.lang.Object parse();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual com.mongodb.util.JSONParser.parse:(Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/util/JSONParser;
protected java.lang.Object parse(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
invokevirtual com.mongodb.util.JSONParser.get:()C
istore 3
start local 3 2: iload 3
lookupswitch { // 20
34: 27
39: 27
43: 29
45: 29
48: 29
49: 29
50: 29
51: 29
52: 29
53: 29
54: 29
55: 29
56: 29
57: 29
78: 9
91: 31
102: 20
110: 3
116: 14
123: 33
default: 35
}
3: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
bipush 110
invokevirtual com.mongodb.util.JSONParser.read:(C)V
4: aload 0
bipush 117
invokevirtual com.mongodb.util.JSONParser.read:(C)V
5: aload 0
bipush 108
invokevirtual com.mongodb.util.JSONParser.read:(C)V
6: aload 0
bipush 108
invokevirtual com.mongodb.util.JSONParser.read:(C)V
7: aconst_null
astore 2
8: goto 36
9: StackMap locals:
StackMap stack:
aload 0
bipush 78
invokevirtual com.mongodb.util.JSONParser.read:(C)V
10: aload 0
bipush 97
invokevirtual com.mongodb.util.JSONParser.read:(C)V
11: aload 0
bipush 78
invokevirtual com.mongodb.util.JSONParser.read:(C)V
12: ldc NaN
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
astore 2
13: goto 36
14: StackMap locals:
StackMap stack:
aload 0
bipush 116
invokevirtual com.mongodb.util.JSONParser.read:(C)V
15: aload 0
bipush 114
invokevirtual com.mongodb.util.JSONParser.read:(C)V
16: aload 0
bipush 117
invokevirtual com.mongodb.util.JSONParser.read:(C)V
17: aload 0
bipush 101
invokevirtual com.mongodb.util.JSONParser.read:(C)V
18: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 2
19: goto 36
20: StackMap locals:
StackMap stack:
aload 0
bipush 102
invokevirtual com.mongodb.util.JSONParser.read:(C)V
21: aload 0
bipush 97
invokevirtual com.mongodb.util.JSONParser.read:(C)V
22: aload 0
bipush 108
invokevirtual com.mongodb.util.JSONParser.read:(C)V
23: aload 0
bipush 115
invokevirtual com.mongodb.util.JSONParser.read:(C)V
24: aload 0
bipush 101
invokevirtual com.mongodb.util.JSONParser.read:(C)V
25: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 2
26: goto 36
27: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual com.mongodb.util.JSONParser.parseString:(Z)Ljava/lang/String;
astore 2
28: goto 36
29: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mongodb.util.JSONParser.parseNumber:()Ljava/lang/Number;
astore 2
30: goto 36
31: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.mongodb.util.JSONParser.parseArray:(Ljava/lang/String;)Ljava/lang/Object;
astore 2
32: goto 36
33: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.mongodb.util.JSONParser.parseObject:(Ljava/lang/String;)Ljava/lang/Object;
astore 2
34: goto 36
35: StackMap locals:
StackMap stack:
new com.mongodb.util.JSONParseException
dup
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokespecial com.mongodb.util.JSONParseException.<init>:(Ljava/lang/String;I)V
athrow
36: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/mongodb/util/JSONParser;
0 37 1 name Ljava/lang/String;
1 37 2 value Ljava/lang/Object;
2 37 3 current C
MethodParameters:
Name Flags
name final
public java.lang.Object parseObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual com.mongodb.util.JSONParser.parseObject:(Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/util/JSONParser;
protected java.lang.Object parseObject(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
1: aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
aload 1
invokeinterface org.bson.BSONCallback.objectStart:(Ljava/lang/String;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
invokeinterface org.bson.BSONCallback.objectStart:()V
4: StackMap locals:
StackMap stack:
aload 0
bipush 123
invokevirtual com.mongodb.util.JSONParser.read:(C)V
5: aload 0
invokevirtual com.mongodb.util.JSONParser.get:()C
pop
6: goto 13
7: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual com.mongodb.util.JSONParser.parseString:(Z)Ljava/lang/String;
astore 2
start local 2 8: aload 0
bipush 58
invokevirtual com.mongodb.util.JSONParser.read:(C)V
9: aload 0
aload 2
invokevirtual com.mongodb.util.JSONParser.parse:(Ljava/lang/String;)Ljava/lang/Object;
astore 3
start local 3 10: aload 0
aload 2
aload 3
invokevirtual com.mongodb.util.JSONParser.doCallback:(Ljava/lang/String;Ljava/lang/Object;)V
11: aload 0
invokevirtual com.mongodb.util.JSONParser.get:()C
bipush 44
if_icmpne 14
12: aload 0
bipush 44
invokevirtual com.mongodb.util.JSONParser.read:(C)V
end local 3 end local 2 13: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mongodb.util.JSONParser.get:()C
bipush 125
if_icmpne 7
14: StackMap locals:
StackMap stack:
aload 0
bipush 125
invokevirtual com.mongodb.util.JSONParser.read:(C)V
15: aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
invokeinterface org.bson.BSONCallback.objectDone:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/mongodb/util/JSONParser;
0 16 1 name Ljava/lang/String;
8 13 2 key Ljava/lang/String;
10 13 3 value Ljava/lang/Object;
MethodParameters:
Name Flags
name final
protected void doCallback(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 3
1: aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
aload 1
invokeinterface org.bson.BSONCallback.gotNull:(Ljava/lang/String;)V
2: goto 17
StackMap locals:
StackMap stack:
3: aload 2
instanceof java.lang.String
ifeq 6
4: aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
aload 1
aload 2
checkcast java.lang.String
invokeinterface org.bson.BSONCallback.gotString:(Ljava/lang/String;Ljava/lang/String;)V
5: goto 17
StackMap locals:
StackMap stack:
6: aload 2
instanceof java.lang.Boolean
ifeq 9
7: aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
aload 1
aload 2
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
invokeinterface org.bson.BSONCallback.gotBoolean:(Ljava/lang/String;Z)V
8: goto 17
StackMap locals:
StackMap stack:
9: aload 2
instanceof java.lang.Integer
ifeq 12
10: aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
aload 1
aload 2
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokeinterface org.bson.BSONCallback.gotInt:(Ljava/lang/String;I)V
11: goto 17
StackMap locals:
StackMap stack:
12: aload 2
instanceof java.lang.Long
ifeq 15
13: aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
aload 1
aload 2
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokeinterface org.bson.BSONCallback.gotLong:(Ljava/lang/String;J)V
14: goto 17
StackMap locals:
StackMap stack:
15: aload 2
instanceof java.lang.Double
ifeq 17
16: aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
aload 1
aload 2
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokeinterface org.bson.BSONCallback.gotDouble:(Ljava/lang/String;D)V
17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/mongodb/util/JSONParser;
0 18 1 name Ljava/lang/String;
0 18 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
name final
value final
public void read(char);
descriptor: (C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.mongodb.util.JSONParser.check:(C)Z
ifne 2
1: new com.mongodb.util.JSONParseException
dup
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokespecial com.mongodb.util.JSONParseException.<init>:(Ljava/lang/String;I)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/util/JSONParser;
0 4 1 ch C
MethodParameters:
Name Flags
ch final
public char read();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.util.JSONParser.pos:I
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 2
1: new java.lang.IllegalStateException
dup
ldc "string done"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
dup_x1
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/util/JSONParser;
public void readHex();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.util.JSONParser.pos:I
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpge 6
1: aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
bipush 48
if_icmplt 2
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
bipush 57
if_icmple 4
2: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
bipush 65
if_icmplt 3
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
bipush 70
if_icmple 4
3: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
bipush 97
if_icmplt 6
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
bipush 102
if_icmpgt 6
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
5: goto 7
6: StackMap locals:
StackMap stack:
new com.mongodb.util.JSONParseException
dup
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokespecial com.mongodb.util.JSONParseException.<init>:(Ljava/lang/String;I)V
athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/mongodb/util/JSONParser;
public boolean check(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.mongodb.util.JSONParser.get:()C
iload 1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/util/JSONParser;
0 2 1 ch C
MethodParameters:
Name Flags
ch final
public void skipWS();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
2: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.pos:I
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpge 3
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isWhitespace:(C)Z
ifne 1
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/util/JSONParser;
public char get();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.mongodb.util.JSONParser.skipWS:()V
1: aload 0
getfield com.mongodb.util.JSONParser.pos:I
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpge 3
2: aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
ireturn
3: StackMap locals:
StackMap stack:
ldc 65535
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/util/JSONParser;
public java.lang.String parseString(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
bipush 39
invokevirtual com.mongodb.util.JSONParser.check:(C)Z
ifeq 4
2: bipush 39
istore 2
3: goto 9
StackMap locals: int
StackMap stack:
4: aload 0
bipush 34
invokevirtual com.mongodb.util.JSONParser.check:(C)Z
ifeq 7
5: bipush 34
istore 2
6: goto 9
StackMap locals:
StackMap stack:
7: iload 1
ifeq 9
8: new com.mongodb.util.JSONParseException
dup
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokespecial com.mongodb.util.JSONParseException.<init>:(Ljava/lang/String;I)V
athrow
9: StackMap locals:
StackMap stack:
iload 2
ifle 11
10: aload 0
iload 2
invokevirtual com.mongodb.util.JSONParser.read:(C)V
11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 12: aload 0
getfield com.mongodb.util.JSONParser.pos:I
istore 5
start local 5 13: goto 55
14: StackMap locals: com.mongodb.util.JSONParser int int top java.lang.StringBuilder int
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 15: iload 2
ifle 18
16: iload 3
iload 2
if_icmpne 20
17: goto 56
18: StackMap locals: com.mongodb.util.JSONParser int int int java.lang.StringBuilder int
StackMap stack:
iload 3
bipush 58
if_icmpeq 56
iload 3
bipush 32
if_icmpne 20
19: goto 56
20: StackMap locals:
StackMap stack:
iload 3
bipush 92
if_icmpne 54
21: aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
22: aload 0
invokevirtual com.mongodb.util.JSONParser.get:()C
istore 6
start local 6 23: iconst_0
istore 7
start local 7 24: iload 6
lookupswitch { // 7
34: 44
92: 46
98: 42
110: 36
114: 38
116: 40
117: 25
default: 48
}
25: StackMap locals: int int
StackMap stack:
aload 4
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
iload 5
aload 0
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
27: aload 0
getfield com.mongodb.util.JSONParser.pos:I
istore 8
start local 8 28: aload 0
invokevirtual com.mongodb.util.JSONParser.readHex:()V
29: aload 0
invokevirtual com.mongodb.util.JSONParser.readHex:()V
30: aload 0
invokevirtual com.mongodb.util.JSONParser.readHex:()V
31: aload 0
invokevirtual com.mongodb.util.JSONParser.readHex:()V
32: aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
iload 8
iload 8
iconst_4
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
bipush 16
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
istore 9
start local 9 33: aload 4
iload 9
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
34: aload 0
getfield com.mongodb.util.JSONParser.pos:I
istore 5
35: goto 55
end local 9 end local 8 36: StackMap locals:
StackMap stack:
bipush 10
istore 7
37: goto 48
38: StackMap locals:
StackMap stack:
bipush 13
istore 7
39: goto 48
40: StackMap locals:
StackMap stack:
bipush 9
istore 7
41: goto 48
42: StackMap locals:
StackMap stack:
bipush 8
istore 7
43: goto 48
44: StackMap locals:
StackMap stack:
bipush 34
istore 7
45: goto 48
46: StackMap locals:
StackMap stack:
bipush 92
istore 7
47: goto 48
48: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
iload 5
aload 0
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
49: iload 7
ifeq 52
50: aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
51: aload 4
iload 7
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
52: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.pos:I
istore 5
53: goto 55
end local 7 end local 6 54: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
end local 3 55: StackMap locals: com.mongodb.util.JSONParser int int top java.lang.StringBuilder int
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.pos:I
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 14
56: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
iload 5
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
57: iload 2
ifle 59
58: aload 0
iload 2
invokevirtual com.mongodb.util.JSONParser.read:(C)V
59: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lcom/mongodb/util/JSONParser;
0 60 1 needQuote Z
1 60 2 quot C
15 55 3 current C
12 60 4 buf Ljava/lang/StringBuilder;
13 60 5 start I
23 54 6 x C
24 54 7 special C
28 36 8 tempPos I
33 36 9 codePoint I
MethodParameters:
Name Flags
needQuote final
public java.lang.Number parseNumber();
descriptor: ()Ljava/lang/Number;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.mongodb.util.JSONParser.get:()C
pop
1: aload 0
getfield com.mongodb.util.JSONParser.pos:I
istore 1
start local 1 2: iconst_0
istore 2
start local 2 3: aload 0
bipush 45
invokevirtual com.mongodb.util.JSONParser.check:(C)Z
ifne 4
aload 0
bipush 43
invokevirtual com.mongodb.util.JSONParser.check:(C)Z
ifeq 16
4: StackMap locals: int int
StackMap stack:
aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
5: goto 16
6: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 13
46: 9
48: 7
49: 7
50: 7
51: 7
52: 7
53: 7
54: 7
55: 7
56: 7
57: 7
69: 12
101: 12
default: 15
}
7: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
8: goto 16
9: StackMap locals:
StackMap stack:
iconst_1
istore 2
10: aload 0
invokevirtual com.mongodb.util.JSONParser.parseFraction:()V
11: goto 16
12: StackMap locals:
StackMap stack:
iconst_1
istore 2
13: aload 0
invokevirtual com.mongodb.util.JSONParser.parseExponent:()V
14: goto 16
15: StackMap locals:
StackMap stack:
goto 17
16: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.pos:I
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 6
17: StackMap locals:
StackMap stack:
iload 2
ifeq 20
18: aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
iload 1
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
19: areturn
20: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
iload 1
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
astore 3
start local 3 21: aload 3
invokevirtual java.lang.Long.longValue:()J
ldc 2147483647
lcmp
ifgt 24
aload 3
invokevirtual java.lang.Long.longValue:()J
ldc -2147483648
lcmp
iflt 24
22: aload 3
invokevirtual java.lang.Long.intValue:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
23: areturn
24: StackMap locals: java.lang.Long
StackMap stack:
aload 3
25: areturn
end local 3 26: StackMap locals: com.mongodb.util.JSONParser int int
StackMap stack: java.lang.NumberFormatException
astore 3
start local 3 27: new com.mongodb.util.JSONParseException
dup
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
iload 1
aload 3
invokespecial com.mongodb.util.JSONParseException.<init>:(Ljava/lang/String;ILjava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/mongodb/util/JSONParser;
2 28 1 start I
3 28 2 isDouble Z
21 26 3 val Ljava/lang/Long;
27 28 3 e Ljava/lang/NumberFormatException;
Exception table:
from to target type
17 19 26 Class java.lang.NumberFormatException
20 23 26 Class java.lang.NumberFormatException
24 25 26 Class java.lang.NumberFormatException
public void parseFraction();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
1: goto 8
2: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 12
48: 3
49: 3
50: 3
51: 3
52: 3
53: 3
54: 3
55: 3
56: 3
57: 3
69: 5
101: 5
default: 7
}
3: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
4: goto 8
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mongodb.util.JSONParser.parseExponent:()V
6: goto 8
7: StackMap locals:
StackMap stack:
goto 9
8: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.pos:I
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 2
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mongodb/util/JSONParser;
public void parseExponent();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
1: aload 0
bipush 45
invokevirtual com.mongodb.util.JSONParser.check:(C)Z
ifne 2
aload 0
bipush 43
invokevirtual com.mongodb.util.JSONParser.check:(C)Z
ifeq 8
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
3: goto 8
4: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
tableswitch { // 48 - 57
48: 5
49: 5
50: 5
51: 5
52: 5
53: 5
54: 5
55: 5
56: 5
57: 5
default: 7
}
5: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.mongodb.util.JSONParser.pos:I
iconst_1
iadd
putfield com.mongodb.util.JSONParser.pos:I
6: goto 8
7: StackMap locals:
StackMap stack:
goto 9
8: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser.pos:I
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 4
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mongodb/util/JSONParser;
public java.lang.Object parseArray();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual com.mongodb.util.JSONParser.parseArray:(Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/util/JSONParser;
protected java.lang.Object parseArray(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
1: aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
aload 1
invokeinterface org.bson.BSONCallback.arrayStart:(Ljava/lang/String;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
invokeinterface org.bson.BSONCallback.arrayStart:()V
4: StackMap locals:
StackMap stack:
aload 0
bipush 91
invokevirtual com.mongodb.util.JSONParser.read:(C)V
5: iconst_0
istore 2
start local 2 6: aload 0
invokevirtual com.mongodb.util.JSONParser.get:()C
istore 3
start local 3 7: goto 17
8: StackMap locals: int int
StackMap stack:
iload 2
iinc 2 1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
astore 4
start local 4 9: aload 0
aload 4
invokevirtual com.mongodb.util.JSONParser.parse:(Ljava/lang/String;)Ljava/lang/Object;
astore 5
start local 5 10: aload 0
aload 4
aload 5
invokevirtual com.mongodb.util.JSONParser.doCallback:(Ljava/lang/String;Ljava/lang/Object;)V
11: aload 0
invokevirtual com.mongodb.util.JSONParser.get:()C
dup
istore 3
bipush 44
if_icmpne 14
12: aload 0
bipush 44
invokevirtual com.mongodb.util.JSONParser.read:(C)V
13: goto 17
StackMap locals: java.lang.String java.lang.Object
StackMap stack:
14: iload 3
bipush 93
if_icmpne 16
15: goto 18
16: StackMap locals:
StackMap stack:
new com.mongodb.util.JSONParseException
dup
aload 0
getfield com.mongodb.util.JSONParser.s:Ljava/lang/String;
aload 0
getfield com.mongodb.util.JSONParser.pos:I
invokespecial com.mongodb.util.JSONParseException.<init>:(Ljava/lang/String;I)V
athrow
end local 5 end local 4 17: StackMap locals:
StackMap stack:
iload 3
bipush 93
if_icmpne 8
18: StackMap locals:
StackMap stack:
aload 0
bipush 93
invokevirtual com.mongodb.util.JSONParser.read:(C)V
19: aload 0
getfield com.mongodb.util.JSONParser._callback:Lorg/bson/BSONCallback;
invokeinterface org.bson.BSONCallback.arrayDone:()Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/mongodb/util/JSONParser;
0 20 1 name Ljava/lang/String;
6 20 2 i I
7 20 3 current C
9 17 4 elemName Ljava/lang/String;
10 17 5 elem Ljava/lang/Object;
MethodParameters:
Name Flags
name final
}
SourceFile: "JSON.java"