public class com.oracle.truffle.js.builtins.helper.TruffleJSONParser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.builtins.helper.TruffleJSONParser
super_class: java.lang.Object
{
protected final com.oracle.truffle.js.runtime.JSContext context;
descriptor: Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected int pos;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int len;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected java.lang.String parseStr;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected int parseDepth;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected static final char[] NullLiteral;
descriptor: [C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final char[] BooleanTrueLiteral;
descriptor: [C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final char[] BooleanFalseLiteral;
descriptor: [C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final int MAX_PARSE_DEPTH;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 100000
private static final java.lang.String MALFORMED_NUMBER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "malformed number"
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.$assertionsDisabled:Z
3: iconst_4
newarray 5
dup
iconst_0
bipush 110
castore
dup
iconst_1
bipush 117
castore
dup
iconst_2
bipush 108
castore
dup
iconst_3
bipush 108
castore
putstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.NullLiteral:[C
4: iconst_4
newarray 5
dup
iconst_0
bipush 116
castore
dup
iconst_1
bipush 114
castore
dup
iconst_2
bipush 117
castore
dup
iconst_3
bipush 101
castore
putstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.BooleanTrueLiteral:[C
5: iconst_5
newarray 5
dup
iconst_0
bipush 102
castore
dup
iconst_1
bipush 97
castore
dup
iconst_2
bipush 108
castore
dup
iconst_3
bipush 115
castore
dup
iconst_4
bipush 101
castore
putstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.BooleanFalseLiteral:[C
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.context:Lcom/oracle/truffle/js/runtime/JSContext;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 3 1 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
context
public java.lang.Object parse(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
1: aload 0
iconst_0
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseDepth:I
2: aload 0
aload 1
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
3: aload 0
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.len:I
4: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
5: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONValue:()Ljava/lang/Object;
astore 2
start local 2 6: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
7: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.posValid:()Z
ifeq 9
8: ldc "JSON cannot be fully parsed"
invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
9: StackMap locals: java.lang.Object
StackMap stack:
aload 2
astore 4
10: aload 0
aconst_null
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
11: aload 4
areturn
end local 2 12: StackMap locals: com.oracle.truffle.js.builtins.helper.TruffleJSONParser java.lang.String
StackMap stack: java.lang.StackOverflowError
pop
13: invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.throwStackError:()V
14: aload 0
aconst_null
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
goto 26
15: StackMap locals:
StackMap stack: com.oracle.truffle.js.runtime.JSException
astore 2
start local 2 16: aload 2
athrow
end local 2 17: StackMap locals:
StackMap stack: java.lang.StringIndexOutOfBoundsException
pop
18: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.unexpectedEndOfInputMessage:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.throwSyntaxError:(Ljava/lang/String;)V
19: aload 0
aconst_null
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
goto 26
20: StackMap locals:
StackMap stack: java.lang.Exception
pop
21: aconst_null
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.throwSyntaxError:(Ljava/lang/String;)V
22: aload 0
aconst_null
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
goto 26
23: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
24: aload 0
aconst_null
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
25: aload 3
athrow
26: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 27 1 value Ljava/lang/String;
6 12 2 result Ljava/lang/Object;
16 17 2 ex Lcom/oracle/truffle/js/runtime/JSException;
Exception table:
from to target type
4 10 12 Class java.lang.StackOverflowError
4 10 15 Class com.oracle.truffle.js.runtime.JSException
4 10 17 Class java.lang.StringIndexOutOfBoundsException
4 10 20 Class java.lang.Exception
4 10 23 any
12 14 23 any
15 19 23 any
20 22 23 any
MethodParameters:
Name Flags
value
private java.lang.String unexpectedEndOfInputMessage();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
ifeq 1
ldc "Unexpected end of input"
goto 2
StackMap locals:
StackMap stack:
1: ldc "Unexpected end of JSON input"
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
protected java.lang.Object parseJSONValue();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
istore 1
start local 1 1: iload 1
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isStringQuote:(C)Z
ifeq 3
2: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONString:()Ljava/lang/String;
areturn
3: StackMap locals: int
StackMap stack:
iload 1
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isObjectStart:(C)Z
ifeq 5
4: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONObject:()Ljava/lang/Object;
areturn
5: StackMap locals:
StackMap stack:
iload 1
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isArrayStart:(C)Z
ifeq 7
6: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONArray:()Ljava/lang/Object;
areturn
7: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isNullLiteral:(C)Z
ifeq 9
8: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseNullLiteral:()Ljava/lang/Object;
areturn
9: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isBooleanLiteral:(C)Z
ifeq 11
10: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseBooleanLiteral:()Ljava/lang/Object;
areturn
11: StackMap locals:
StackMap stack:
iload 1
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isNumber:(C)Z
ifeq 13
12: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONNumber:()Ljava/lang/Number;
areturn
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.unexpectedToken:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
1 14 1 c C
protected static boolean isNumber(char);
descriptor: (C)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 45
if_icmpeq 1
iload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 cur C
MethodParameters:
Name Flags
cur
protected static boolean isObjectStart(char);
descriptor: (C)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 123
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
protected static boolean isArrayStart(char);
descriptor: (C)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 91
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
private java.lang.Object parseJSONObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isObjectStart:(C)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.incDepth:()V
2: aload 0
bipush 123
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
3: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
4: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 5: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 125
if_icmpeq 12
6: aload 0
aload 1
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONMemberList:(Lcom/oracle/truffle/api/object/DynamicObject;)V
7: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 125
if_icmpeq 12
8: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 34
if_icmpne 11
9: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.unexpectedString:()Ljava/lang/Object;
pop
10: goto 12
11: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.unexpectedToken:()Ljava/lang/Object;
pop
12: StackMap locals:
StackMap stack:
aload 0
bipush 125
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
13: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
14: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.decDepth:()V
15: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
5 16 1 object Lcom/oracle/truffle/api/object/DynamicObject;
private void parseJSONMemberList(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONMember:()Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser$Member;
astore 2
start local 2 1: aload 1
aload 2
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser$Member.getKey:()Ljava/lang/String;
aload 2
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser$Member.getValue:()Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.createDataProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
2: goto 7
3: StackMap locals: com.oracle.truffle.js.builtins.helper.TruffleJSONParser$Member
StackMap stack:
aload 0
bipush 44
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
4: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
5: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONMember:()Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser$Member;
astore 2
6: aload 1
aload 2
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser$Member.getKey:()Ljava/lang/String;
aload 2
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser$Member.getValue:()Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.createDataProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 44
if_icmpeq 3
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 9 1 object Lcom/oracle/truffle/api/object/DynamicObject;
1 9 2 member Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser$Member;
MethodParameters:
Name Flags
object
private com.oracle.truffle.js.builtins.helper.TruffleJSONParser$Member parseJSONMember();
descriptor: ()Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser$Member;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONString:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
bipush 58
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.expectChar:(C)V
2: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
3: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONValue:()Ljava/lang/Object;
astore 2
start local 2 4: new com.oracle.truffle.js.builtins.helper.TruffleJSONParser$Member
dup
aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.js.builtins.helper.TruffleJSONParser$Member.<init>:(Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;Ljava/lang/String;Ljava/lang/Object;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
1 5 1 jsonString Ljava/lang/String;
4 5 2 jsonValue Ljava/lang/Object;
private java.lang.Object parseJSONArray();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isArrayStart:(C)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.incDepth:()V
2: aload 0
bipush 91
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
3: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
4: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createEmptyZeroLength:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 5: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 93
if_icmpeq 9
6: aload 0
aload 1
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONElementList:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
pop
7: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 93
if_icmpeq 9
8: aload 0
ldc "closing quote ] expected"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
9: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 0
bipush 93
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
10: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
11: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.decDepth:()V
12: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
5 13 1 array Lcom/oracle/truffle/api/object/DynamicObject;
private void incDepth();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseDepth:I
iconst_1
iadd
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseDepth:I
1: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseDepth:I
ldc 100000
if_icmple 3
2: invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.throwStackError:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
protected static void throwStackError();
descriptor: ()V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "Cannot parse JSON constructs nested that deep"
invokestatic com.oracle.truffle.js.runtime.Errors.createRangeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
LocalVariableTable:
Start End Slot Name Signature
protected static void throwSyntaxError(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 1
ldc "Cannot parse JSON"
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: java.lang.String
2: invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
protected void decDepth();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseDepth:I
iconst_1
isub
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseDepth:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
protected com.oracle.truffle.js.runtime.array.ScriptArray parseJSONElementList(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSAbstractArray.arrayGetArrayType:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
astore 3
start local 3 2: aload 3
aload 1
iload 2
i2l
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONValue:()Ljava/lang/Object;
iconst_0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.setElement:(Lcom/oracle/truffle/api/object/DynamicObject;JLjava/lang/Object;Z)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
astore 3
3: goto 8
4: StackMap locals: int com.oracle.truffle.js.runtime.array.ScriptArray
StackMap stack:
aload 0
bipush 44
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
5: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
6: iinc 2 1
7: aload 3
aload 1
iload 2
i2l
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONValue:()Ljava/lang/Object;
iconst_0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.setElement:(Lcom/oracle/truffle/api/object/DynamicObject;JLjava/lang/Object;Z)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
astore 3
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 44
if_icmpeq 4
9: aload 1
aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSAbstractArray.arraySetArrayType:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/array/ScriptArray;)V
10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 11 1 arrayObject Lcom/oracle/truffle/api/object/DynamicObject;
1 11 2 index I
2 11 3 scriptArray Lcom/oracle/truffle/js/runtime/array/ScriptArray;
MethodParameters:
Name Flags
arrayObject
protected java.lang.String parseJSONString();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isStringQuote:(C)Z
ifne 5
1: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isDigit:(C)Z
ifeq 4
2: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.unexpectedNumber:()Ljava/lang/Object;
pop
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.unexpectedToken:()Ljava/lang/Object;
pop
5: StackMap locals:
StackMap stack:
aload 0
bipush 34
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
6: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseJSONStringCharacters:()Ljava/lang/String;
astore 1
start local 1 7: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isStringQuote:(C)Z
ifne 9
8: aload 0
ldc "String quote expected"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
9: StackMap locals: java.lang.String
StackMap stack:
aload 0
bipush 34
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
10: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
11: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
7 12 1 str Ljava/lang/String;
protected static boolean isStringQuote(char);
descriptor: (C)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 34
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
protected static boolean isDigit(char);
descriptor: (C)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush 48
iload 0
if_icmpgt 1
iload 0
bipush 57
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
protected java.lang.String parseJSONStringCharacters();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: iconst_m1
istore 3
start local 3 3: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
istore 4
start local 4 4: goto 15
5: StackMap locals: com.oracle.truffle.js.builtins.helper.TruffleJSONParser int int int int
StackMap stack:
iload 4
bipush 32
if_icmpge 8
6: aload 0
ldc "invalid string"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
7: goto 13
StackMap locals:
StackMap stack:
8: iload 4
bipush 92
if_icmpne 13
9: iload 2
ifne 11
10: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
istore 3
11: StackMap locals:
StackMap stack:
iconst_1
istore 2
12: aload 0
bipush 92
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:()V
14: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
istore 4
15: StackMap locals:
StackMap stack:
iload 4
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isStringQuote:(C)Z
ifeq 5
16: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
iload 1
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
start local 5 17: iload 2
ifeq 19
18: aload 0
aload 5
iload 3
iload 1
isub
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.unquoteJSON:(Ljava/lang/String;I)Ljava/lang/String;
areturn
19: StackMap locals: java.lang.String
StackMap stack:
aload 5
areturn
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 20 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
1 20 1 startPos I
2 20 2 hasEscapes Z
3 20 3 firstEscape I
4 20 4 c C
17 20 5 s Ljava/lang/String;
protected java.lang.String unquoteJSON(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.$assertionsDisabled:Z
ifne 1
iload 2
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 2
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.String.length:()I
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 4: goto 31
5: StackMap locals: int int java.lang.StringBuilder
StackMap stack:
aload 5
aload 1
iload 4
iload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
6: iload 3
istore 4
7: aload 1
iload 3
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 8: iload 6
lookupswitch { // 9
34: 9
47: 23
92: 11
98: 13
102: 15
110: 17
114: 19
116: 21
117: 25
default: 28
}
9: StackMap locals: int
StackMap stack:
aload 5
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: goto 29
11: StackMap locals:
StackMap stack:
aload 5
bipush 92
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: goto 29
13: StackMap locals:
StackMap stack:
aload 5
bipush 8
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
14: goto 29
15: StackMap locals:
StackMap stack:
aload 5
bipush 12
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
16: goto 29
17: StackMap locals:
StackMap stack:
aload 5
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: goto 29
19: StackMap locals:
StackMap stack:
aload 5
bipush 13
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
20: goto 29
21: StackMap locals:
StackMap stack:
aload 5
bipush 9
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
22: goto 29
23: StackMap locals:
StackMap stack:
aload 5
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
24: goto 29
25: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
aload 5
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.unquoteJSONUnicode:(Ljava/lang/String;ILjava/lang/StringBuilder;)V
26: iinc 4 4
27: goto 29
28: StackMap locals:
StackMap stack:
aload 0
ldc "wrong escape sequence"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
29: StackMap locals:
StackMap stack:
iinc 4 2
30: aload 1
bipush 92
iload 4
invokevirtual java.lang.String.indexOf:(II)I
istore 3
end local 6 31: StackMap locals:
StackMap stack:
iload 3
ifge 5
32: iload 4
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 34
33: aload 5
aload 1
iload 4
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
34: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 35 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 35 1 string Ljava/lang/String;
0 35 2 posFirstBackslash I
2 35 3 posBackslash I
3 35 4 curPos I
4 35 5 builder Ljava/lang/StringBuilder;
8 31 6 c C
MethodParameters:
Name Flags
string
posFirstBackslash
protected int hexDigitValue(char);
descriptor: (C)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.valueInHex:(C)I
istore 2
start local 2 1: iload 2
ifge 4
2: aload 0
ldc "invalid string"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
3: iconst_m1
ireturn
4: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 5 1 c C
1 5 2 value I
MethodParameters:
Name Flags
c
protected void unquoteJSONUnicode(java.lang.String, int, java.lang.StringBuilder);
descriptor: (Ljava/lang/String;ILjava/lang/StringBuilder;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 2
iconst_2
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 1: aload 1
iload 2
iconst_3
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 2: aload 1
iload 2
iconst_4
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 3: aload 1
iload 2
iconst_5
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 4: aload 0
iload 4
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.hexDigitValue:(C)I
bipush 12
ishl
aload 0
iload 5
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.hexDigitValue:(C)I
bipush 8
ishl
ior
aload 0
iload 6
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.hexDigitValue:(C)I
iconst_4
ishl
ior
aload 0
iload 7
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.hexDigitValue:(C)I
ior
i2c
istore 8
start local 8 5: aload 3
iload 8
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: return
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 7 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 7 1 string Ljava/lang/String;
0 7 2 posBackslash I
0 7 3 builder Ljava/lang/StringBuilder;
1 7 4 c1 C
2 7 5 c2 C
3 7 6 c3 C
4 7 7 c4 C
5 7 8 unencodedC C
MethodParameters:
Name Flags
string
posBackslash
builder
protected java.lang.Number parseJSONNumber();
descriptor: ()Ljava/lang/Number;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 45
if_icmpne 4
2: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:()V
3: iconst_m1
istore 1
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.posValid:()Z
ifne 6
5: aload 0
ldc "malformed number"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
istore 2
start local 2 7: iconst_m1
istore 3
start local 3 8: iconst_0
istore 4
start local 4 9: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
istore 5
start local 5 10: goto 22
11: StackMap locals: com.oracle.truffle.js.builtins.helper.TruffleJSONParser int int int int int
StackMap stack:
iload 5
bipush 46
if_icmpne 16
12: iload 3
iflt 14
13: aload 0
ldc "malformed number"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
14: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
istore 3
15: goto 18
StackMap locals:
StackMap stack:
16: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
iload 2
if_icmpne 18
iload 5
bipush 48
if_icmpne 18
17: iconst_1
istore 4
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:()V
19: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.posValid:()Z
ifne 21
20: goto 23
21: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:(I)C
istore 5
22: StackMap locals:
StackMap stack:
iload 5
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifne 11
iload 5
bipush 46
if_icmpeq 11
23: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
iload 2
if_icmpne 26
24: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.unexpectedToken:()Ljava/lang/Object;
pop
25: goto 31
StackMap locals:
StackMap stack:
26: iload 4
ifeq 31
27: iload 2
iconst_1
iadd
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.len:I
if_icmpge 31
28: aload 0
iload 2
iconst_1
iadd
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:(I)C
istore 5
29: iload 5
bipush 120
if_icmpeq 30
iload 5
bipush 88
if_icmpeq 30
iload 5
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifeq 31
30: StackMap locals:
StackMap stack:
aload 0
ldc "octal and hexadecimal not allowed"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
31: StackMap locals:
StackMap stack:
iload 3
iload 2
if_icmpeq 32
iload 3
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
iconst_1
isub
if_icmpne 33
32: StackMap locals:
StackMap stack:
aload 0
ldc "malformed number"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
33: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 34: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.posValid:()Z
ifeq 37
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isExponentPart:()Z
ifeq 37
35: iconst_1
istore 6
36: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipExponent:()V
37: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
istore 7
start local 7 38: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
39: iload 4
ifeq 43
iload 7
iload 2
isub
iconst_1
if_icmpne 43
40: iload 1
iconst_1
if_icmpne 42
41: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
42: StackMap locals: int
StackMap stack:
ldc -0.0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
43: StackMap locals:
StackMap stack:
iload 3
iconst_m1
if_icmpne 51
iload 6
ifne 51
iload 7
iload 2
isub
bipush 16
if_icmpgt 51
44: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
iload 2
iload 7
bipush 10
invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseSafeInteger:(Ljava/lang/String;III)J
lstore 8
start local 8 45: getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.$assertionsDisabled:Z
ifne 46
lload 8
lconst_0
lcmp
ifne 46
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
46: StackMap locals: long
StackMap stack:
lload 8
ldc -9223372036854775808
lcmp
ifeq 51
47: lload 8
iload 1
i2l
lmul
lstore 8
48: lload 8
invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
ifeq 50
49: lload 8
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
50: StackMap locals:
StackMap stack:
lload 8
l2d
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 8 51: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
iload 2
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 8
start local 8 52: iload 1
aload 8
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseAsDouble:(ILjava/lang/String;)Ljava/lang/Number;
areturn
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 53 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
1 53 1 sign I
7 53 2 startPos I
8 53 3 fractionPos I
9 53 4 firstPosIsZero Z
10 53 5 c C
34 53 6 hasExponent Z
38 53 7 endPos I
45 51 8 safeInt J
52 53 8 valueStr Ljava/lang/String;
protected static java.lang.Number parseAsDouble(int, java.lang.String);
descriptor: (ILjava/lang/String;)Ljava/lang/Number;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
iload 0
i2d
dmul
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sign I
0 1 1 valueStr Ljava/lang/String;
MethodParameters:
Name Flags
sign
valueStr
protected void skipExponent();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:()V
1: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
istore 1
start local 1 2: iload 1
bipush 45
if_icmpne 5
3: aload 0
bipush 45
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
4: goto 7
StackMap locals: int
StackMap stack:
5: iload 1
bipush 43
if_icmpne 7
6: aload 0
bipush 43
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.posValid:()Z
ifne 9
8: aload 0
ldc "malformed number"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
istore 1
10: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
istore 2
start local 2 11: goto 16
12: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:()V
13: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.posValid:()Z
ifne 15
14: goto 17
15: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:(I)C
istore 1
16: StackMap locals:
StackMap stack:
iload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifne 12
17: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
iload 2
if_icmpne 19
18: aload 0
ldc "Expected number but found ident"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
19: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
2 20 1 cur C
11 20 2 startPos I
protected boolean isExponentPart();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 101
if_icmpeq 1
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 69
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
protected boolean isNullLiteral(char);
descriptor: (C)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 110
if_icmpne 1
aload 0
getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.NullLiteral:[C
iconst_1
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isLiteral:([CI)Z
ifeq 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/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 2 1 c C
MethodParameters:
Name Flags
c
protected java.lang.Object parseNullLiteral();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.$assertionsDisabled:Z
ifne 1
aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isNullLiteral:(C)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
ldc "null"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipString:(Ljava/lang/String;)V
2: getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
protected boolean isBooleanLiteral(char);
descriptor: (C)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 116
if_icmpne 1
aload 0
getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.BooleanTrueLiteral:[C
iconst_1
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isLiteral:([CI)Z
ifne 3
StackMap locals:
StackMap stack:
1: iload 1
bipush 102
if_icmpne 2
aload 0
getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.BooleanFalseLiteral:[C
iconst_1
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isLiteral:([CI)Z
ifne 3
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 4 1 c C
MethodParameters:
Name Flags
c
protected java.lang.Object parseBooleanLiteral();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.$assertionsDisabled:Z
ifne 1
aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isBooleanLiteral:(C)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 116
if_icmpne 4
2: aload 0
ldc "true"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipString:(Ljava/lang/String;)V
3: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
bipush 102
if_icmpne 7
5: aload 0
ldc "false"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipString:(Ljava/lang/String;)V
6: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
7: StackMap locals:
StackMap stack:
aload 0
ldc "cannot parse JSONBooleanLiteral"
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
protected static boolean isWhitespace(char);
descriptor: (C)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 32
if_icmpeq 1
iload 0
bipush 10
if_icmpeq 1
iload 0
bipush 13
if_icmpeq 1
iload 0
bipush 9
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
protected java.lang.Object error(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
ifeq 8
1: new com.oracle.truffle.js.builtins.helper.NashornJSONParser
dup
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokespecial com.oracle.truffle.js.builtins.helper.NashornJSONParser.<init>:(Ljava/lang/String;Lcom/oracle/truffle/js/runtime/JSContext;)V
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.js.builtins.helper.NashornJSONParser.parse:()Ljava/lang/Object;
pop
3: goto 7
StackMap locals: com.oracle.truffle.js.builtins.helper.TruffleJSONParser java.lang.String com.oracle.truffle.js.builtins.helper.NashornJSONParser
StackMap stack: com.oracle.js.parser.ParserException
4: astore 3
start local 3 5: aload 3
invokevirtual com.oracle.js.parser.ParserException.getMessage:()Ljava/lang/String;
ldc "\r\n"
ldc "\n"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 4
start local 4 6: new java.lang.StringBuilder
dup
ldc "Invalid JSON: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 4 end local 3 7: StackMap locals:
StackMap stack:
ldc "JSON parser did not throw error as expected"
invokestatic com.oracle.truffle.js.runtime.Errors.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 2 8: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 9 1 message Ljava/lang/String;
2 8 2 parser Lcom/oracle/truffle/js/builtins/helper/NashornJSONParser;
5 7 3 ex Lcom/oracle/js/parser/ParserException;
6 7 4 msg Ljava/lang/String;
Exception table:
from to target type
2 3 4 Class com.oracle.js.parser.ParserException
MethodParameters:
Name Flags
message
private java.lang.Object unexpectedToken();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new java.lang.StringBuilder
dup
ldc "Unexpected token "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc " in JSON at position "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
1: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
private java.lang.Object unexpectedString();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new java.lang.StringBuilder
dup
ldc "Unexpected string in JSON at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
1: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
private java.lang.Object unexpectedNumber();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new java.lang.StringBuilder
dup
ldc "Unexpected number in JSON at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
1: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
protected char get();
descriptor: ()C
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:(I)C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
protected char get(int);
descriptor: (I)C
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
iload 1
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 1 1 posParam I
MethodParameters:
Name Flags
posParam
protected void skipString(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.len:I
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
aload 1
invokevirtual java.lang.String.length:()I
iadd
if_icmpge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parseStr:Ljava/lang/String;
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
aload 1
invokevirtual java.lang.String.length:()I
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
aload 1
invokevirtual java.lang.String.length:()I
iadd
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
3: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipWhitespace:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 5 1 expected Ljava/lang/String;
MethodParameters:
Name Flags
expected
protected void expectChar(char);
descriptor: (C)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:(I)C
iload 1
if_icmpeq 2
1: aload 0
new java.lang.StringBuilder
dup
iload 1
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " expected"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.error:(Ljava/lang/String;)Ljava/lang/Object;
pop
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:(C)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 4 1 expected C
MethodParameters:
Name Flags
expected
protected void skipChar();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.posValid:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
iconst_1
iadd
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
protected void skipChar(char);
descriptor: (C)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.$assertionsDisabled:Z
ifne 1
aload 0
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:(I)C
iload 1
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.skipChar:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 3 1 expected C
MethodParameters:
Name Flags
expected
protected void skipWhitespace();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
iconst_1
iadd
putfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.posValid:()Z
ifeq 3
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:()C
invokestatic com.oracle.truffle.js.builtins.helper.TruffleJSONParser.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/oracle/truffle/js/builtins/helper/TruffleJSONParser;
protected boolean posValid();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.len:I
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
protected boolean isLiteral(char[]);
descriptor: ([C)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.isLiteral:([CI)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 1 1 literal [C
MethodParameters:
Name Flags
literal
protected boolean isLiteral(char[], int);
descriptor: ([CI)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.len:I
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
aload 1
arraylength
iadd
if_icmpge 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 2
istore 3
start local 3 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.builtins.helper.TruffleJSONParser.pos:I
iload 3
iadd
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.get:(I)C
aload 1
iload 3
caload
if_icmpeq 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 8: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
0 9 1 literal [C
0 9 2 startPos I
3 8 3 i I
MethodParameters:
Name Flags
literal
startPos
}
SourceFile: "TruffleJSONParser.java"
NestMembers:
com.oracle.truffle.js.builtins.helper.TruffleJSONParser$Member
InnerClasses:
protected final Member = com.oracle.truffle.js.builtins.helper.TruffleJSONParser$Member of com.oracle.truffle.js.builtins.helper.TruffleJSONParser