public final class jdk.nashorn.internal.objects.NativeJSON extends jdk.nashorn.internal.runtime.ScriptObject
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.objects.NativeJSON
super_class: jdk.nashorn.internal.runtime.ScriptObject
{
private static final java.lang.Object TO_JSON;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object JSOBJECT_INVOKER;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object REPLACER_INVOKER;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static jdk.nashorn.internal.runtime.PropertyMap $nasgenmap$;
descriptor: Ljdk/nashorn/internal/runtime/PropertyMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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=2, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/objects/NativeJSON;
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 jdk.nashorn.internal.objects.NativeJSON.$assertionsDisabled:Z
3: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic jdk.nashorn.internal.objects.NativeJSON.TO_JSON:Ljava/lang/Object;
4: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic jdk.nashorn.internal.objects.NativeJSON.JSOBJECT_INVOKER:Ljava/lang/Object;
5: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic jdk.nashorn.internal.objects.NativeJSON.REPLACER_INVOKER:Ljava/lang/Object;
6: return
LocalVariableTable:
Start End Slot Name Signature
private static jdk.nashorn.internal.runtime.linker.InvokeByName getTO_JSON();
descriptor: ()Ljdk/nashorn/internal/runtime/linker/InvokeByName;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
getstatic jdk.nashorn.internal.objects.NativeJSON.TO_JSON:Ljava/lang/Object;
1: new jdk.nashorn.internal.objects.NativeJSON$1
dup
invokespecial jdk.nashorn.internal.objects.NativeJSON$1.<init>:()V
2: invokevirtual jdk.nashorn.internal.objects.Global.getInvokeByName:(Ljava/lang/Object;Ljava/util/concurrent/Callable;)Ljdk/nashorn/internal/runtime/linker/InvokeByName;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.invoke.MethodHandle getJSOBJECT_INVOKER();
descriptor: ()Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
getstatic jdk.nashorn.internal.objects.NativeJSON.JSOBJECT_INVOKER:Ljava/lang/Object;
1: new jdk.nashorn.internal.objects.NativeJSON$2
dup
invokespecial jdk.nashorn.internal.objects.NativeJSON$2.<init>:()V
2: invokevirtual jdk.nashorn.internal.objects.Global.getDynamicInvoker:(Ljava/lang/Object;Ljava/util/concurrent/Callable;)Ljava/lang/invoke/MethodHandle;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.invoke.MethodHandle getREPLACER_INVOKER();
descriptor: ()Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
getstatic jdk.nashorn.internal.objects.NativeJSON.REPLACER_INVOKER:Ljava/lang/Object;
1: new jdk.nashorn.internal.objects.NativeJSON$3
dup
invokespecial jdk.nashorn.internal.objects.NativeJSON$3.<init>:()V
2: invokevirtual jdk.nashorn.internal.objects.Global.getDynamicInvoker:(Ljava/lang/Object;Ljava/util/concurrent/Callable;)Ljava/lang/invoke/MethodHandle;
areturn
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial jdk.nashorn.internal.runtime.ScriptObject.<init>:()V
1: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/objects/NativeJSON;
public static java.lang.Object parse(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic jdk.nashorn.internal.runtime.JSONFunctions.parse:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 self Ljava/lang/Object;
0 1 1 text Ljava/lang/Object;
0 1 2 reviver Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
MethodParameters:
Name Flags
self final
text final
reviver final
public static java.lang.Object stringify(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new jdk.nashorn.internal.objects.NativeJSON$StringifyState
dup
invokespecial jdk.nashorn.internal.objects.NativeJSON$StringifyState.<init>:()V
astore 4
start local 4 1: aload 2
invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.isCallable:(Ljava/lang/Object;)Z
ifeq 4
2: aload 4
aload 2
putfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.replacerFunction:Ljava/lang/Object;
3: goto 26
StackMap locals: jdk.nashorn.internal.objects.NativeJSON$StringifyState
StackMap stack:
4: aload 2
invokestatic jdk.nashorn.internal.objects.NativeJSON.isArray:(Ljava/lang/Object;)Z
ifne 8
5: aload 2
invokestatic jdk.nashorn.internal.objects.NativeJSON.isJSObjectArray:(Ljava/lang/Object;)Z
ifne 8
6: aload 2
instanceof java.lang.Iterable
ifne 8
7: aload 2
ifnull 26
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 26
8: StackMap locals:
StackMap stack:
aload 4
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.propertyList:Ljava/util/List;
9: aload 2
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayLikeIterator.arrayLikeIterator:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/arrays/ArrayLikeIterator;
astore 5
start local 5 10: goto 25
11: StackMap locals: java.util.Iterator
StackMap stack:
aconst_null
astore 6
start local 6 12: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 7
start local 7 13: aload 7
instanceof java.lang.String
ifeq 16
14: aload 7
checkcast java.lang.String
astore 6
15: goto 23
StackMap locals: java.lang.String java.lang.Object
StackMap stack:
16: aload 7
instanceof jdk.nashorn.internal.runtime.ConsString
ifeq 19
17: aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 6
18: goto 23
StackMap locals:
StackMap stack:
19: aload 7
instanceof java.lang.Number
ifne 22
20: aload 7
instanceof jdk.nashorn.internal.objects.NativeNumber
ifne 22
21: aload 7
instanceof jdk.nashorn.internal.objects.NativeString
ifeq 23
22: StackMap locals:
StackMap stack:
aload 7
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
astore 6
23: StackMap locals:
StackMap stack:
aload 6
ifnull 25
24: aload 4
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.propertyList:Ljava/util/List;
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 25: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 5 26: StackMap locals:
StackMap stack:
aload 3
astore 6
start local 6 27: aload 6
instanceof jdk.nashorn.internal.objects.NativeNumber
ifeq 30
28: aload 6
ldc Ljava/lang/Number;
invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
invokestatic jdk.nashorn.internal.runtime.JSType.toNumber:(Ljava/lang/Object;)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
astore 6
29: goto 32
StackMap locals: java.lang.Object java.lang.Object java.lang.Object java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState top java.lang.Object
StackMap stack:
30: aload 6
instanceof jdk.nashorn.internal.objects.NativeString
ifeq 32
31: aload 6
ldc Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
astore 6
32: StackMap locals:
StackMap stack:
aload 6
instanceof java.lang.Number
ifeq 45
33: bipush 10
aload 6
invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
invokestatic java.lang.Math.min:(II)I
istore 7
start local 7 34: iload 7
iconst_1
if_icmpge 37
35: ldc ""
astore 5
start local 5 36: goto 50
end local 5 37: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 8
start local 8 38: iconst_0
istore 9
start local 9 39: goto 42
40: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 8
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
41: iinc 9 1
StackMap locals:
StackMap stack:
42: iload 9
iload 7
if_icmplt 40
end local 9 43: aload 8
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
end local 8 end local 7 start local 5 44: goto 50
end local 5 StackMap locals:
StackMap stack:
45: aload 6
invokestatic jdk.nashorn.internal.runtime.JSType.isString:(Ljava/lang/Object;)Z
ifeq 49
46: aload 6
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 7
start local 7 47: aload 7
iconst_0
bipush 10
aload 7
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Math.min:(II)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
end local 7 start local 5 48: goto 50
end local 5 49: StackMap locals:
StackMap stack:
ldc ""
astore 5
start local 5 50: StackMap locals: java.lang.Object java.lang.Object java.lang.Object java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.String java.lang.Object
StackMap stack:
aload 4
aload 5
putfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.gap:Ljava/lang/String;
51: invokestatic jdk.nashorn.internal.objects.Global.newEmptyInstance:()Ljdk/nashorn/internal/runtime/ScriptObject;
astore 7
start local 7 52: aload 7
ldc ""
aload 1
iconst_0
invokevirtual jdk.nashorn.internal.runtime.ScriptObject.set:(Ljava/lang/Object;Ljava/lang/Object;I)V
53: ldc ""
aload 7
aload 4
invokestatic jdk.nashorn.internal.objects.NativeJSON.str:(Ljava/lang/Object;Ljava/lang/Object;Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;)Ljava/lang/Object;
areturn
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 54 0 self Ljava/lang/Object;
0 54 1 value Ljava/lang/Object;
0 54 2 replacer Ljava/lang/Object;
0 54 3 space Ljava/lang/Object;
1 54 4 state Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;
10 26 5 iter Ljava/util/Iterator<Ljava/lang/Object;>;
12 25 6 item Ljava/lang/String;
13 25 7 v Ljava/lang/Object;
36 37 5 gap Ljava/lang/String;
44 45 5 gap Ljava/lang/String;
48 49 5 gap Ljava/lang/String;
50 54 5 gap Ljava/lang/String;
27 54 6 modSpace Ljava/lang/Object;
34 44 7 indent I
38 44 8 sb Ljava/lang/StringBuilder;
39 43 9 i I
47 48 7 str Ljava/lang/String;
52 54 7 wrapper Ljdk/nashorn/internal/runtime/ScriptObject;
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
MethodParameters:
Name Flags
self final
value final
replacer final
space final
private static java.lang.Object str(java.lang.Object, java.lang.Object, jdk.nashorn.internal.objects.NativeJSON$StringifyState);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.nashorn.internal.objects.NativeJSON.$assertionsDisabled:Z
ifne 1
aload 1
instanceof jdk.nashorn.internal.runtime.ScriptObject
ifne 1
aload 1
instanceof jdk.nashorn.api.scripting.JSObject
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 0
invokestatic jdk.nashorn.internal.objects.NativeJSON.getProperty:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
instanceof jdk.nashorn.internal.runtime.ScriptObject
ifeq 9
3: invokestatic jdk.nashorn.internal.objects.NativeJSON.getTO_JSON:()Ljdk/nashorn/internal/runtime/linker/InvokeByName;
astore 4
start local 4 4: aload 3
checkcast jdk.nashorn.internal.runtime.ScriptObject
astore 5
start local 5 5: aload 4
invokevirtual jdk.nashorn.internal.runtime.linker.InvokeByName.getGetter:()Ljava/lang/invoke/MethodHandle;
aload 5
invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljava/lang/Object;
astore 6
start local 6 6: aload 6
invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.isCallable:(Ljava/lang/Object;)Z
ifeq 14
7: aload 4
invokevirtual jdk.nashorn.internal.runtime.linker.InvokeByName.getInvoker:()Ljava/lang/invoke/MethodHandle;
aload 6
aload 5
aload 0
invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljava/lang/Object;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
end local 6 end local 5 end local 4 8: goto 14
StackMap locals: java.lang.Object
StackMap stack:
9: aload 3
instanceof jdk.nashorn.api.scripting.JSObject
ifeq 14
10: aload 3
checkcast jdk.nashorn.api.scripting.JSObject
astore 4
start local 4 11: aload 4
ldc "toJSON"
invokeinterface jdk.nashorn.api.scripting.JSObject.getMember:(Ljava/lang/String;)Ljava/lang/Object;
astore 5
start local 5 12: aload 5
invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.isCallable:(Ljava/lang/Object;)Z
ifeq 14
13: invokestatic jdk.nashorn.internal.objects.NativeJSON.getJSOBJECT_INVOKER:()Ljava/lang/invoke/MethodHandle;
aload 5
aload 3
invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
end local 5 end local 4 14: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.replacerFunction:Ljava/lang/Object;
ifnull 21
15: invokestatic jdk.nashorn.internal.objects.NativeJSON.getREPLACER_INVOKER:()Ljava/lang/invoke/MethodHandle;
aload 2
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.replacerFunction:Ljava/lang/Object;
aload 1
aload 0
aload 3
invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
16: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 4
start local 4 18: aload 4
athrow
end local 4 19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 20: new java.lang.RuntimeException
dup
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 21: StackMap locals:
StackMap stack:
aload 3
instanceof jdk.nashorn.internal.runtime.ScriptObject
istore 4
start local 4 22: iload 4
ifeq 31
23: aload 3
instanceof jdk.nashorn.internal.objects.NativeNumber
ifeq 26
24: aload 3
invokestatic jdk.nashorn.internal.runtime.JSType.toNumber:(Ljava/lang/Object;)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
astore 3
25: goto 31
StackMap locals: int
StackMap stack:
26: aload 3
instanceof jdk.nashorn.internal.objects.NativeString
ifeq 29
27: aload 3
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
28: goto 31
StackMap locals:
StackMap stack:
29: aload 3
instanceof jdk.nashorn.internal.objects.NativeBoolean
ifeq 31
30: aload 3
checkcast jdk.nashorn.internal.objects.NativeBoolean
invokevirtual jdk.nashorn.internal.objects.NativeBoolean.booleanValue:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 3
31: StackMap locals:
StackMap stack:
aload 3
ifnonnull 33
32: ldc "null"
areturn
33: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 3
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 35
34: ldc "true"
areturn
35: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 3
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 37
36: ldc "false"
areturn
37: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.String
ifeq 39
38: aload 3
checkcast java.lang.String
invokestatic jdk.nashorn.internal.runtime.JSONFunctions.quote:(Ljava/lang/String;)Ljava/lang/String;
areturn
39: StackMap locals:
StackMap stack:
aload 3
instanceof jdk.nashorn.internal.runtime.ConsString
ifeq 41
40: aload 3
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.JSONFunctions.quote:(Ljava/lang/String;)Ljava/lang/String;
areturn
41: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.Number
ifeq 45
42: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
invokestatic jdk.nashorn.internal.runtime.JSType.isFinite:(D)Z
ifeq 43
aload 3
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
goto 44
StackMap locals:
StackMap stack:
43: ldc "null"
StackMap locals:
StackMap stack: java.lang.String
44: areturn
45: StackMap locals:
StackMap stack:
aload 3
invokestatic jdk.nashorn.internal.runtime.JSType.of:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/JSType;
astore 5
start local 5 46: aload 5
getstatic jdk.nashorn.internal.runtime.JSType.OBJECT:Ljdk/nashorn/internal/runtime/JSType;
if_acmpne 51
47: aload 3
invokestatic jdk.nashorn.internal.objects.NativeJSON.isArray:(Ljava/lang/Object;)Z
ifne 48
aload 3
invokestatic jdk.nashorn.internal.objects.NativeJSON.isJSObjectArray:(Ljava/lang/Object;)Z
ifeq 49
48: StackMap locals: jdk.nashorn.internal.runtime.JSType
StackMap stack:
aload 3
aload 2
invokestatic jdk.nashorn.internal.objects.NativeJSON.JA:(Ljava/lang/Object;Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;)Ljava/lang/Object;
areturn
49: StackMap locals:
StackMap stack:
aload 3
instanceof jdk.nashorn.internal.runtime.ScriptObject
ifne 50
aload 3
instanceof jdk.nashorn.api.scripting.JSObject
ifeq 51
50: StackMap locals:
StackMap stack:
aload 3
aload 2
invokestatic jdk.nashorn.internal.objects.NativeJSON.JO:(Ljava/lang/Object;Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;)Ljava/lang/String;
areturn
51: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
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 52 0 key Ljava/lang/Object;
0 52 1 holder Ljava/lang/Object;
0 52 2 state Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;
2 52 3 value Ljava/lang/Object;
4 8 4 toJSONInvoker Ljdk/nashorn/internal/runtime/linker/InvokeByName;
5 8 5 svalue Ljdk/nashorn/internal/runtime/ScriptObject;
6 8 6 toJSON Ljava/lang/Object;
11 14 4 jsObj Ljdk/nashorn/api/scripting/JSObject;
12 14 5 toJSON Ljava/lang/Object;
18 19 4 t Ljava/lang/Throwable;
20 21 4 t Ljava/lang/Throwable;
22 52 4 isObj Z
46 52 5 type Ljdk/nashorn/internal/runtime/JSType;
Exception table:
from to target type
2 16 17 Class java.lang.Error
2 16 17 Class java.lang.RuntimeException
2 16 19 Class java.lang.Throwable
MethodParameters:
Name Flags
key final
holder final
state final
private static java.lang.String JO(java.lang.Object, jdk.nashorn.internal.objects.NativeJSON$StringifyState);
descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.objects.NativeJSON.$assertionsDisabled:Z
ifne 1
aload 0
instanceof jdk.nashorn.internal.runtime.ScriptObject
ifne 1
aload 0
instanceof jdk.nashorn.api.scripting.JSObject
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.stack:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 3
2: ldc "JSON.stringify.cyclic"
iconst_0
anewarray java.lang.String
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
3: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.stack:Ljava/util/Map;
aload 0
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: new java.lang.StringBuilder
dup
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.indent:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 2
start local 2 5: aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.indent:Ljava/lang/StringBuilder;
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.gap:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 7: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 8: aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.propertyList:Ljava/util/List;
ifnonnull 10
9: aload 0
invokestatic jdk.nashorn.internal.objects.NativeJSON.getOwnKeys:(Ljava/lang/Object;)[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
goto 11
StackMap locals: java.lang.StringBuilder java.lang.StringBuilder java.util.List
StackMap stack:
10: aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.propertyList:Ljava/util/List;
11: StackMap locals:
StackMap stack: java.util.List
astore 5
start local 5 12: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 22
StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List top java.util.Iterator
StackMap stack:
13: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 6
start local 6 14: aload 6
aload 0
aload 1
invokestatic jdk.nashorn.internal.objects.NativeJSON.str:(Ljava/lang/Object;Ljava/lang/Object;Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;)Ljava/lang/Object;
astore 8
start local 8 15: aload 8
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
if_acmpeq 22
16: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 9
start local 9 17: aload 9
aload 6
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.JSONFunctions.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.gap:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 20
19: aload 9
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
20: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List java.lang.Object java.util.Iterator java.lang.Object java.lang.StringBuilder
StackMap stack:
aload 9
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
21: aload 4
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 end local 6 22: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
23: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 26
24: aload 3
ldc "{}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: goto 54
26: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List
StackMap stack:
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.gap:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 39
27: aload 4
invokeinterface java.util.List.size:()I
istore 6
start local 6 28: iconst_0
istore 7
start local 7 29: aload 3
bipush 123
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
30: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 36
StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List int int top java.util.Iterator
StackMap stack:
31: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 8
start local 8 32: aload 3
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
33: iload 7
iload 6
iconst_1
isub
if_icmpge 35
34: aload 3
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
35: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List int int java.lang.Object java.util.Iterator
StackMap stack:
iinc 7 1
end local 8 36: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List int int top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
37: aload 3
bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 7 end local 6 38: goto 54
39: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List
StackMap stack:
aload 4
invokeinterface java.util.List.size:()I
istore 6
start local 6 40: iconst_0
istore 7
start local 7 41: aload 3
ldc "{\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
42: aload 3
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.indent:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
43: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 50
StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List int int top java.util.Iterator
StackMap stack:
44: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 8
start local 8 45: aload 3
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
46: iload 7
iload 6
iconst_1
isub
if_icmpge 49
47: aload 3
ldc ",\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
48: aload 3
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.indent:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
49: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List int int java.lang.Object java.util.Iterator
StackMap stack:
iinc 7 1
end local 8 50: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List int int top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 44
51: aload 3
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
52: aload 3
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
53: aload 3
bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 7 end local 6 54: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.lang.StringBuilder java.util.List java.util.List
StackMap stack:
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.stack:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
55: aload 1
aload 2
putfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.indent:Ljava/lang/StringBuilder;
56: aload 3
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 57 0 value Ljava/lang/Object;
0 57 1 state Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;
5 57 2 stepback Ljava/lang/StringBuilder;
7 57 3 finalStr Ljava/lang/StringBuilder;
8 57 4 partial Ljava/util/List<Ljava/lang/Object;>;
12 57 5 k Ljava/util/List<Ljava/lang/String;>;
14 22 6 p Ljava/lang/Object;
15 22 8 strP Ljava/lang/Object;
17 22 9 member Ljava/lang/StringBuilder;
28 38 6 size I
29 38 7 index I
32 36 8 str Ljava/lang/Object;
40 54 6 size I
41 54 7 index I
45 50 8 str Ljava/lang/Object;
MethodParameters:
Name Flags
value final
state final
private static java.lang.Object JA(java.lang.Object, jdk.nashorn.internal.objects.NativeJSON$StringifyState);
descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.objects.NativeJSON.$assertionsDisabled:Z
ifne 1
aload 0
instanceof jdk.nashorn.internal.runtime.ScriptObject
ifne 1
aload 0
instanceof jdk.nashorn.api.scripting.JSObject
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.stack:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 3
2: ldc "JSON.stringify.cyclic"
iconst_0
anewarray java.lang.String
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
3: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.stack:Ljava/util/Map;
aload 0
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: new java.lang.StringBuilder
dup
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.indent:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 2
start local 2 5: aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.indent:Ljava/lang/StringBuilder;
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.gap:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 7: aload 0
invokestatic jdk.nashorn.internal.objects.NativeJSON.getLength:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
istore 4
start local 4 8: iconst_0
istore 5
start local 5 9: goto 15
10: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.util.List int int
StackMap stack:
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 0
aload 1
invokestatic jdk.nashorn.internal.objects.NativeJSON.str:(Ljava/lang/Object;Ljava/lang/Object;Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;)Ljava/lang/Object;
astore 6
start local 6 11: aload 6
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
if_acmpne 13
12: ldc "null"
astore 6
13: StackMap locals: java.lang.Object
StackMap stack:
aload 3
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: iinc 5 1
end local 6 15: StackMap locals:
StackMap stack:
iload 5
iload 4
if_icmplt 10
16: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 17: aload 3
invokeinterface java.util.List.isEmpty:()Z
ifeq 20
18: aload 6
ldc "[]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: goto 48
20: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.gap:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 33
21: aload 3
invokeinterface java.util.List.size:()I
istore 7
start local 7 22: iconst_0
istore 5
23: aload 6
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
24: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 30
StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.util.List int int java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
25: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 8
start local 8 26: aload 6
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
27: iload 5
iload 7
iconst_1
isub
if_icmpge 29
28: aload 6
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
29: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.util.List int int java.lang.StringBuilder int java.lang.Object java.util.Iterator
StackMap stack:
iinc 5 1
end local 8 30: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.util.List int int java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
31: aload 6
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 7 32: goto 48
33: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.util.List int int java.lang.StringBuilder
StackMap stack:
aload 3
invokeinterface java.util.List.size:()I
istore 7
start local 7 34: iconst_0
istore 5
35: aload 6
ldc "[\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
36: aload 6
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.indent:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
37: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 44
StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.util.List int int java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
38: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 8
start local 8 39: aload 6
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
40: iload 5
iload 7
iconst_1
isub
if_icmpge 43
41: aload 6
ldc ",\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
42: aload 6
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.indent:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
43: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.util.List int int java.lang.StringBuilder int java.lang.Object java.util.Iterator
StackMap stack:
iinc 5 1
end local 8 44: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.util.List int int java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
45: aload 6
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
46: aload 6
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
47: aload 6
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 7 48: StackMap locals: java.lang.Object jdk.nashorn.internal.objects.NativeJSON$StringifyState java.lang.StringBuilder java.util.List int int java.lang.StringBuilder
StackMap stack:
aload 1
getfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.stack:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
49: aload 1
aload 2
putfield jdk.nashorn.internal.objects.NativeJSON$StringifyState.indent:Ljava/lang/StringBuilder;
50: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 51 0 value Ljava/lang/Object;
0 51 1 state Ljdk/nashorn/internal/objects/NativeJSON$StringifyState;
5 51 2 stepback Ljava/lang/StringBuilder;
7 51 3 partial Ljava/util/List<Ljava/lang/Object;>;
8 51 4 length I
9 51 5 index I
11 15 6 strP Ljava/lang/Object;
17 51 6 finalStr Ljava/lang/StringBuilder;
22 32 7 size I
26 30 8 str Ljava/lang/Object;
34 48 7 size I
39 44 8 str Ljava/lang/Object;
MethodParameters:
Name Flags
value final
state final
private static java.lang.String[] getOwnKeys(java.lang.Object);
descriptor: (Ljava/lang/Object;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.runtime.ScriptObject
ifeq 2
1: aload 0
checkcast jdk.nashorn.internal.runtime.ScriptObject
iconst_0
invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnKeys:(Z)[Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
ifeq 4
3: aload 0
checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
iconst_0
invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.getOwnKeys:(Z)[Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.nashorn.api.scripting.JSObject
ifeq 6
5: aload 0
checkcast jdk.nashorn.api.scripting.JSObject
invokeinterface jdk.nashorn.api.scripting.JSObject.keySet:()Ljava/util/Set;
iconst_0
anewarray java.lang.String
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
6: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "should not reach here"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj final
private static java.lang.Object getLength(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.runtime.ScriptObject
ifeq 2
1: aload 0
checkcast jdk.nashorn.internal.runtime.ScriptObject
invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getLength:()Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.nashorn.api.scripting.JSObject
ifeq 4
3: aload 0
checkcast jdk.nashorn.api.scripting.JSObject
ldc "length"
invokeinterface jdk.nashorn.api.scripting.JSObject.getMember:(Ljava/lang/String;)Ljava/lang/Object;
areturn
4: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "should not reach here"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj final
private static boolean isJSObjectArray(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.api.scripting.JSObject
ifeq 1
aload 0
checkcast jdk.nashorn.api.scripting.JSObject
invokeinterface jdk.nashorn.api.scripting.JSObject.isArray:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj final
private static java.lang.Object getProperty(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
instanceof jdk.nashorn.internal.runtime.ScriptObject
ifeq 2
1: aload 0
checkcast jdk.nashorn.internal.runtime.ScriptObject
aload 1
invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.nashorn.api.scripting.JSObject
ifeq 7
3: aload 0
checkcast jdk.nashorn.api.scripting.JSObject
astore 2
start local 2 4: aload 1
instanceof java.lang.Integer
ifeq 6
5: aload 2
aload 1
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokeinterface jdk.nashorn.api.scripting.JSObject.getSlot:(I)Ljava/lang/Object;
areturn
6: StackMap locals: jdk.nashorn.api.scripting.JSObject
StackMap stack:
aload 2
aload 1
invokestatic java.util.Objects.toString:(Ljava/lang/Object;)Ljava/lang/String;
invokeinterface jdk.nashorn.api.scripting.JSObject.getMember:(Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 2 7: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "should not reach here"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 holder Ljava/lang/Object;
0 8 1 key Ljava/lang/Object;
4 7 2 jsObj Ljdk/nashorn/api/scripting/JSObject;
MethodParameters:
Name Flags
holder final
key final
}
SourceFile: "NativeJSON.java"
NestMembers:
jdk.nashorn.internal.objects.NativeJSON$1 jdk.nashorn.internal.objects.NativeJSON$2 jdk.nashorn.internal.objects.NativeJSON$3 jdk.nashorn.internal.objects.NativeJSON$StringifyState
InnerClasses:
jdk.nashorn.internal.objects.NativeJSON$1
jdk.nashorn.internal.objects.NativeJSON$2
jdk.nashorn.internal.objects.NativeJSON$3
private StringifyState = jdk.nashorn.internal.objects.NativeJSON$StringifyState of jdk.nashorn.internal.objects.NativeJSON
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.ScriptClass(value = "JSON")