public class org.apache.dubbo.common.json.JSON extends java.lang.Object
{
public static final char LBRACE;
public static final char RBRACE;
public static final char LSQUARE;
public static final char RSQUARE;
public static final char COMMA;
public static final char COLON;
public static final char QUOTE;
public static final java.lang.String NULL;
public static final byte END;
public static final byte START;
public static final byte OBJECT_ITEM;
public static final byte OBJECT_VALUE;
public static final byte ARRAY_ITEM;
static final org.apache.dubbo.common.json.JSONConverter DEFAULT_CONVERTER;
private void <init>()
{
org.apache.dubbo.common.json.JSON v;
v := @this: org.apache.dubbo.common.json.JSON;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.lang.String json(java.lang.Object) throws java.io.IOException
{
java.lang.Throwable v;
java.lang.StringBuffer v;
java.io.StringWriter v;
java.lang.Object v;
java.lang.String v;
v := @parameter: java.lang.Object;
if v != null goto label;
return "null";
label:
v = new java.io.StringWriter;
specialinvoke v.<java.io.StringWriter: void <init>()>();
label:
staticinvoke <org.apache.dubbo.common.json.JSON: void json(java.lang.Object,java.io.Writer)>(v, v);
v = virtualinvoke v.<java.io.StringWriter: java.lang.StringBuffer getBuffer()>();
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.String toString()>();
label:
virtualinvoke v.<java.io.StringWriter: void close()>();
return v;
label:
v := @caughtexception;
virtualinvoke v.<java.io.StringWriter: void close()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
public static void json(java.lang.Object, java.io.Writer) throws java.io.IOException
{
java.io.Writer v;
java.lang.Object v;
v := @parameter: java.lang.Object;
v := @parameter: java.io.Writer;
staticinvoke <org.apache.dubbo.common.json.JSON: void json(java.lang.Object,java.io.Writer,boolean)>(v, v, 0);
return;
}
public static void json(java.lang.Object, java.io.Writer, boolean) throws java.io.IOException
{
java.io.Writer v;
java.lang.Object v;
org.apache.dubbo.common.json.JSONWriter v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: java.io.Writer;
v := @parameter: boolean;
if v != null goto label;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("null");
goto label;
label:
v = new org.apache.dubbo.common.json.JSONWriter;
specialinvoke v.<org.apache.dubbo.common.json.JSONWriter: void <init>(java.io.Writer)>(v);
staticinvoke <org.apache.dubbo.common.json.JSON: void json(java.lang.Object,org.apache.dubbo.common.json.JSONWriter,boolean)>(v, v, v);
label:
return;
}
public static java.lang.String json(java.lang.Object, java.lang.String[]) throws java.io.IOException
{
java.lang.Throwable v;
java.lang.StringBuffer v;
java.io.StringWriter v;
java.lang.Object v;
java.lang.String[] v;
java.lang.String v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String[];
if v != null goto label;
return "null";
label:
v = new java.io.StringWriter;
specialinvoke v.<java.io.StringWriter: void <init>()>();
label:
staticinvoke <org.apache.dubbo.common.json.JSON: void json(java.lang.Object,java.lang.String[],java.io.Writer)>(v, v, v);
v = virtualinvoke v.<java.io.StringWriter: java.lang.StringBuffer getBuffer()>();
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.String toString()>();
label:
virtualinvoke v.<java.io.StringWriter: void close()>();
return v;
label:
v := @caughtexception;
virtualinvoke v.<java.io.StringWriter: void close()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
public static void json(java.lang.Object, java.lang.String[], java.io.Writer) throws java.io.IOException
{
java.io.Writer v;
java.lang.Object v;
java.lang.String[] v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String[];
v := @parameter: java.io.Writer;
staticinvoke <org.apache.dubbo.common.json.JSON: void json(java.lang.Object,java.lang.String[],java.io.Writer,boolean)>(v, v, v, 0);
return;
}
public static void json(java.lang.Object, java.lang.String[], java.io.Writer, boolean) throws java.io.IOException
{
java.io.Writer v;
java.lang.Object v;
java.lang.String[] v;
org.apache.dubbo.common.json.JSONWriter v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String[];
v := @parameter: java.io.Writer;
v := @parameter: boolean;
if v != null goto label;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("null");
goto label;
label:
v = new org.apache.dubbo.common.json.JSONWriter;
specialinvoke v.<org.apache.dubbo.common.json.JSONWriter: void <init>(java.io.Writer)>(v);
staticinvoke <org.apache.dubbo.common.json.JSON: void json(java.lang.Object,java.lang.String[],org.apache.dubbo.common.json.JSONWriter,boolean)>(v, v, v, v);
label:
return;
}
private static void json(java.lang.Object, org.apache.dubbo.common.json.JSONWriter, boolean) throws java.io.IOException
{
java.lang.Object v;
org.apache.dubbo.common.json.JSONConverter v;
org.apache.dubbo.common.json.JSONWriter v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: org.apache.dubbo.common.json.JSONWriter;
v := @parameter: boolean;
if v != null goto label;
virtualinvoke v.<org.apache.dubbo.common.json.JSONWriter: org.apache.dubbo.common.json.JSONWriter valueNull()>();
goto label;
label:
v = <org.apache.dubbo.common.json.JSON: org.apache.dubbo.common.json.JSONConverter DEFAULT_CONVERTER>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONConverter: void writeValue(java.lang.Object,org.apache.dubbo.common.json.JSONWriter,boolean)>(v, v, v);
label:
return;
}
private static void json(java.lang.Object, java.lang.String[], org.apache.dubbo.common.json.JSONWriter, boolean) throws java.io.IOException
{
org.apache.dubbo.common.bytecode.Wrapper v;
java.lang.String[] v;
org.apache.dubbo.common.json.JSONConverter v;
org.apache.dubbo.common.json.JSONWriter v;
int v, v;
java.lang.Class v;
java.lang.Object v, v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String[];
v := @parameter: org.apache.dubbo.common.json.JSONWriter;
v := @parameter: boolean;
if v != null goto label;
virtualinvoke v.<org.apache.dubbo.common.json.JSONWriter: org.apache.dubbo.common.json.JSONWriter valueNull()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper: org.apache.dubbo.common.bytecode.Wrapper getWrapper(java.lang.Class)>(v);
virtualinvoke v.<org.apache.dubbo.common.json.JSONWriter: org.apache.dubbo.common.json.JSONWriter objectBegin()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
virtualinvoke v.<org.apache.dubbo.common.json.JSONWriter: org.apache.dubbo.common.json.JSONWriter objectItem(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.bytecode.Wrapper: java.lang.Object getPropertyValue(java.lang.Object,java.lang.String)>(v, v);
if v != null goto label;
virtualinvoke v.<org.apache.dubbo.common.json.JSONWriter: org.apache.dubbo.common.json.JSONWriter valueNull()>();
goto label;
label:
v = <org.apache.dubbo.common.json.JSON: org.apache.dubbo.common.json.JSONConverter DEFAULT_CONVERTER>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONConverter: void writeValue(java.lang.Object,org.apache.dubbo.common.json.JSONWriter,boolean)>(v, v, v);
label:
v = v + 1;
goto label;
label:
virtualinvoke v.<org.apache.dubbo.common.json.JSONWriter: org.apache.dubbo.common.json.JSONWriter objectEnd()>();
label:
return;
}
public static java.lang.Object parse(java.lang.String) throws org.apache.dubbo.common.json.ParseException
{
java.lang.Throwable v;
org.apache.dubbo.common.json.ParseException v;
java.io.StringReader v;
java.io.IOException v;
java.lang.Object v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v = new java.io.StringReader;
specialinvoke v.<java.io.StringReader: void <init>(java.lang.String)>(v);
label:
v = staticinvoke <org.apache.dubbo.common.json.JSON: java.lang.Object parse(java.io.Reader)>(v);
label:
virtualinvoke v.<java.io.StringReader: void close()>();
return v;
label:
v := @caughtexception;
v = new org.apache.dubbo.common.json.ParseException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
virtualinvoke v.<java.io.StringReader: void close()>();
throw v;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public static java.lang.Object parse(java.io.Reader) throws java.io.IOException, org.apache.dubbo.common.json.ParseException
{
java.lang.Object v;
java.io.Reader v;
v := @parameter: java.io.Reader;
v = staticinvoke <org.apache.dubbo.common.json.JSON: java.lang.Object parse(java.io.Reader,int)>(v, 0);
return v;
}
public static java.lang.Object parse(java.lang.String, java.lang.Class) throws org.apache.dubbo.common.json.ParseException
{
java.lang.Throwable v;
java.io.IOException v;
org.apache.dubbo.common.json.ParseException v;
java.io.StringReader v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class;
v = new java.io.StringReader;
specialinvoke v.<java.io.StringReader: void <init>(java.lang.String)>(v);
label:
v = staticinvoke <org.apache.dubbo.common.json.JSON: java.lang.Object parse(java.io.Reader,java.lang.Class)>(v, v);
label:
virtualinvoke v.<java.io.StringReader: void close()>();
return v;
label:
v := @caughtexception;
v = new org.apache.dubbo.common.json.ParseException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
virtualinvoke v.<java.io.StringReader: void close()>();
throw v;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public static java.lang.Object parse(java.io.Reader, java.lang.Class) throws java.io.IOException, org.apache.dubbo.common.json.ParseException
{
java.lang.Class v;
java.lang.Object v;
org.apache.dubbo.common.json.J2oVisitor v;
org.apache.dubbo.common.json.JSONConverter v;
java.io.Reader v;
v := @parameter: java.io.Reader;
v := @parameter: java.lang.Class;
v = new org.apache.dubbo.common.json.J2oVisitor;
v = <org.apache.dubbo.common.json.JSON: org.apache.dubbo.common.json.JSONConverter DEFAULT_CONVERTER>;
specialinvoke v.<org.apache.dubbo.common.json.J2oVisitor: void <init>(java.lang.Class,org.apache.dubbo.common.json.JSONConverter)>(v, v);
v = staticinvoke <org.apache.dubbo.common.json.JSON: java.lang.Object parse(java.io.Reader,org.apache.dubbo.common.json.JSONVisitor,int)>(v, v, 0);
return v;
}
public static java.lang.Object[] parse(java.lang.String, java.lang.Class[]) throws org.apache.dubbo.common.json.ParseException
{
java.lang.Throwable v;
java.lang.Object[] v;
java.lang.Class[] v;
java.io.IOException v;
org.apache.dubbo.common.json.ParseException v;
java.io.StringReader v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class[];
v = new java.io.StringReader;
specialinvoke v.<java.io.StringReader: void <init>(java.lang.String)>(v);
label:
v = staticinvoke <org.apache.dubbo.common.json.JSON: java.lang.Object[] parse(java.io.Reader,java.lang.Class[])>(v, v);
label:
virtualinvoke v.<java.io.StringReader: void close()>();
return v;
label:
v := @caughtexception;
v = new org.apache.dubbo.common.json.ParseException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
virtualinvoke v.<java.io.StringReader: void close()>();
throw v;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public static java.lang.Object[] parse(java.io.Reader, java.lang.Class[]) throws java.io.IOException, org.apache.dubbo.common.json.ParseException
{
java.lang.Class[] v;
java.lang.Object v;
org.apache.dubbo.common.json.J2oVisitor v;
org.apache.dubbo.common.json.JSONConverter v;
java.io.Reader v;
v := @parameter: java.io.Reader;
v := @parameter: java.lang.Class[];
v = new org.apache.dubbo.common.json.J2oVisitor;
v = <org.apache.dubbo.common.json.JSON: org.apache.dubbo.common.json.JSONConverter DEFAULT_CONVERTER>;
specialinvoke v.<org.apache.dubbo.common.json.J2oVisitor: void <init>(java.lang.Class[],org.apache.dubbo.common.json.JSONConverter)>(v, v);
v = staticinvoke <org.apache.dubbo.common.json.JSON: java.lang.Object parse(java.io.Reader,org.apache.dubbo.common.json.JSONVisitor,int)>(v, v, 3);
return v;
}
public static java.lang.Object parse(java.lang.String, org.apache.dubbo.common.json.JSONVisitor) throws org.apache.dubbo.common.json.ParseException
{
java.lang.Throwable v;
java.io.IOException v;
org.apache.dubbo.common.json.ParseException v;
java.io.StringReader v;
org.apache.dubbo.common.json.JSONVisitor v;
java.lang.Object v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: org.apache.dubbo.common.json.JSONVisitor;
v = new java.io.StringReader;
specialinvoke v.<java.io.StringReader: void <init>(java.lang.String)>(v);
label:
v = staticinvoke <org.apache.dubbo.common.json.JSON: java.lang.Object parse(java.io.Reader,org.apache.dubbo.common.json.JSONVisitor)>(v, v);
label:
virtualinvoke v.<java.io.StringReader: void close()>();
return v;
label:
v := @caughtexception;
v = new org.apache.dubbo.common.json.ParseException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
virtualinvoke v.<java.io.StringReader: void close()>();
throw v;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public static java.lang.Object parse(java.io.Reader, org.apache.dubbo.common.json.JSONVisitor) throws java.io.IOException, org.apache.dubbo.common.json.ParseException
{
java.lang.Object v;
java.io.Reader v;
org.apache.dubbo.common.json.JSONVisitor v;
v := @parameter: java.io.Reader;
v := @parameter: org.apache.dubbo.common.json.JSONVisitor;
v = staticinvoke <org.apache.dubbo.common.json.JSON: java.lang.Object parse(java.io.Reader,org.apache.dubbo.common.json.JSONVisitor,int)>(v, v, 0);
return v;
}
private static java.lang.Object parse(java.io.Reader, int) throws java.io.IOException, org.apache.dubbo.common.json.ParseException
{
byte v;
boolean v, v;
java.io.Reader v;
org.apache.dubbo.common.json.JSONObject v, v, v;
org.apache.dubbo.common.json.JSONToken v, v;
org.apache.dubbo.common.utils.Stack v;
org.apache.dubbo.common.json.JSONArray v, v, v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
org.apache.dubbo.common.json.JSON$Entry v, v, v, v, v, v, v;
org.apache.dubbo.common.json.ParseException v, v, v, v, v, v;
org.apache.dubbo.common.json.JSONReader v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: java.io.Reader;
v := @parameter: int;
v = new org.apache.dubbo.common.json.JSONReader;
specialinvoke v.<org.apache.dubbo.common.json.JSONReader: void <init>(java.io.Reader)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.json.JSONReader: org.apache.dubbo.common.json.JSONToken nextToken(int)>(v);
v = 1;
v = null;
v = new org.apache.dubbo.common.utils.Stack;
specialinvoke v.<org.apache.dubbo.common.utils.Stack: void <init>()>();
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
default: goto label;
};
label:
v = new org.apache.dubbo.common.json.ParseException;
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>("JSON source format error.");
throw v;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
tableswitch(v)
{
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
default: goto label;
};
label:
v = 0;
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
goto label;
label:
v = 4;
v = new org.apache.dubbo.common.json.JSONArray;
specialinvoke v.<org.apache.dubbo.common.json.JSONArray: void <init>()>();
v = v;
goto label;
label:
v = 2;
v = new org.apache.dubbo.common.json.JSONObject;
specialinvoke v.<org.apache.dubbo.common.json.JSONObject: void <init>()>();
v = v;
goto label;
label:
v = new org.apache.dubbo.common.json.ParseException;
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
v = staticinvoke <org.apache.dubbo.common.json.JSONToken: java.lang.String token2string(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unexpected token expect [ VALUE or \'[\' or \'{\' ] get \'\u0001\'");
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
tableswitch(v)
{
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
default: goto label;
};
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
virtualinvoke v.<org.apache.dubbo.common.json.JSONArray: void add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.common.utils.Stack: boolean isEmpty()>();
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.common.utils.Stack: java.lang.Object pop()>();
v = v.<org.apache.dubbo.common.json.JSON$Entry: byte state>;
v = v.<org.apache.dubbo.common.json.JSON$Entry: java.lang.Object value>;
goto label;
label:
v = new org.apache.dubbo.common.json.JSONArray;
specialinvoke v.<org.apache.dubbo.common.json.JSONArray: void <init>()>();
virtualinvoke v.<org.apache.dubbo.common.json.JSONArray: void add(java.lang.Object)>(v);
v = new org.apache.dubbo.common.json.JSON$Entry;
specialinvoke v.<org.apache.dubbo.common.json.JSON$Entry: void <init>(byte,java.lang.Object)>(v, v);
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void push(java.lang.Object)>(v);
v = 4;
v = v;
goto label;
label:
v = new org.apache.dubbo.common.json.JSONObject;
specialinvoke v.<org.apache.dubbo.common.json.JSONObject: void <init>()>();
virtualinvoke v.<org.apache.dubbo.common.json.JSONArray: void add(java.lang.Object)>(v);
v = new org.apache.dubbo.common.json.JSON$Entry;
specialinvoke v.<org.apache.dubbo.common.json.JSON$Entry: void <init>(byte,java.lang.Object)>(v, v);
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void push(java.lang.Object)>(v);
v = 2;
v = v;
goto label;
label:
v = new org.apache.dubbo.common.json.ParseException;
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
v = staticinvoke <org.apache.dubbo.common.json.JSONToken: java.lang.String token2string(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unexpected token expect [ VALUE or \',\' or \']\' or \'[\' or \'{\' ] get \'\u0001\'");
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
default: goto label;
};
label:
v = new org.apache.dubbo.common.json.JSON$Entry;
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
specialinvoke v.<org.apache.dubbo.common.json.JSON$Entry: void <init>(byte,java.lang.Object)>(2, v);
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void push(java.lang.Object)>(v);
v = 3;
goto label;
label:
v = new org.apache.dubbo.common.json.JSON$Entry;
specialinvoke v.<org.apache.dubbo.common.json.JSON$Entry: void <init>(byte,java.lang.Object)>(2, "null");
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void push(java.lang.Object)>(v);
v = 3;
goto label;
label:
v = new org.apache.dubbo.common.json.JSON$Entry;
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
specialinvoke v.<org.apache.dubbo.common.json.JSON$Entry: void <init>(byte,java.lang.Object)>(2, v);
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void push(java.lang.Object)>(v);
v = 3;
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.common.utils.Stack: boolean isEmpty()>();
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.common.utils.Stack: java.lang.Object pop()>();
v = v.<org.apache.dubbo.common.json.JSON$Entry: byte state>;
v = v.<org.apache.dubbo.common.json.JSON$Entry: java.lang.Object value>;
goto label;
label:
v = new org.apache.dubbo.common.json.ParseException;
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
v = staticinvoke <org.apache.dubbo.common.json.JSONToken: java.lang.String token2string(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unexpected token expect [ IDENT or VALUE or \',\' or \'}\' ] get \'\u0001\'");
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
tableswitch(v)
{
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<org.apache.dubbo.common.utils.Stack: java.lang.Object pop()>();
v = v.<org.apache.dubbo.common.json.JSON$Entry: java.lang.Object value>;
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
virtualinvoke v.<org.apache.dubbo.common.json.JSONObject: void put(java.lang.String,java.lang.Object)>(v, v);
v = 2;
goto label;
label:
v = new org.apache.dubbo.common.json.JSONArray;
specialinvoke v.<org.apache.dubbo.common.json.JSONArray: void <init>()>();
v = virtualinvoke v.<org.apache.dubbo.common.utils.Stack: java.lang.Object pop()>();
v = v.<org.apache.dubbo.common.json.JSON$Entry: java.lang.Object value>;
virtualinvoke v.<org.apache.dubbo.common.json.JSONObject: void put(java.lang.String,java.lang.Object)>(v, v);
v = new org.apache.dubbo.common.json.JSON$Entry;
specialinvoke v.<org.apache.dubbo.common.json.JSON$Entry: void <init>(byte,java.lang.Object)>(2, v);
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void push(java.lang.Object)>(v);
v = 4;
v = v;
goto label;
label:
v = new org.apache.dubbo.common.json.JSONObject;
specialinvoke v.<org.apache.dubbo.common.json.JSONObject: void <init>()>();
v = virtualinvoke v.<org.apache.dubbo.common.utils.Stack: java.lang.Object pop()>();
v = v.<org.apache.dubbo.common.json.JSON$Entry: java.lang.Object value>;
virtualinvoke v.<org.apache.dubbo.common.json.JSONObject: void put(java.lang.String,java.lang.Object)>(v, v);
v = new org.apache.dubbo.common.json.JSON$Entry;
specialinvoke v.<org.apache.dubbo.common.json.JSON$Entry: void <init>(byte,java.lang.Object)>(2, v);
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void push(java.lang.Object)>(v);
v = 2;
v = v;
goto label;
label:
v = new org.apache.dubbo.common.json.ParseException;
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
v = staticinvoke <org.apache.dubbo.common.json.JSONToken: java.lang.String token2string(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unexpected token expect [ VALUE or \'[\' or \'{\' ] get \'\u0001\'");
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.apache.dubbo.common.json.ParseException;
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>("Unexpected state.");
throw v;
label:
v = virtualinvoke v.<org.apache.dubbo.common.json.JSONReader: org.apache.dubbo.common.json.JSONToken nextToken()>();
v = v;
if v != null goto label;
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void clear()>();
return v;
}
private static java.lang.Object parse(java.io.Reader, org.apache.dubbo.common.json.JSONVisitor, int) throws java.io.IOException, org.apache.dubbo.common.json.ParseException
{
int[] v, v, v, v;
boolean v, v, v;
java.io.Reader v;
org.apache.dubbo.common.json.JSONVisitor v;
org.apache.dubbo.common.json.JSONToken v, v;
org.apache.dubbo.common.utils.Stack v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
org.apache.dubbo.common.json.ParseException v, v, v, v, v, v;
org.apache.dubbo.common.json.JSONReader v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: java.io.Reader;
v := @parameter: org.apache.dubbo.common.json.JSONVisitor;
v := @parameter: int;
v = new org.apache.dubbo.common.json.JSONReader;
specialinvoke v.<org.apache.dubbo.common.json.JSONReader: void <init>(java.io.Reader)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.json.JSONReader: org.apache.dubbo.common.json.JSONToken nextToken(int)>(v);
v = null;
v = 1;
v = 0;
v = new org.apache.dubbo.common.utils.Stack;
specialinvoke v.<org.apache.dubbo.common.utils.Stack: void <init>()>();
v = 0;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void begin()>();
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
default: goto label;
};
label:
v = new org.apache.dubbo.common.json.ParseException;
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>("JSON source format error.");
throw v;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
tableswitch(v)
{
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
default: goto label;
};
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
v = 0;
v = 1;
goto label;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
v = 0;
v = 1;
goto label;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
v = 0;
v = 1;
goto label;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
v = 0;
v = 1;
goto label;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
v = 0;
v = 1;
goto label;
label:
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayBegin()>();
v = 4;
goto label;
label:
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectBegin()>();
v = 2;
goto label;
label:
v = new org.apache.dubbo.common.json.ParseException;
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
v = staticinvoke <org.apache.dubbo.common.json.JSONToken: java.lang.String token2string(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unexpected token expect [ VALUE or \'[\' or \'{\' ] get \'\u0001\'");
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
tableswitch(v)
{
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
default: goto label;
};
label:
v = v;
v = v + 1;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItem(int)>(v);
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItemValue(int,java.lang.Object,boolean)>(v, v, 1);
goto label;
label:
v = v;
v = v + 1;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItem(int)>(v);
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItemValue(int,java.lang.Object,boolean)>(v, v, 1);
goto label;
label:
v = v;
v = v + 1;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItem(int)>(v);
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItemValue(int,java.lang.Object,boolean)>(v, v, 1);
goto label;
label:
v = v;
v = v + 1;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItem(int)>(v);
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItemValue(int,java.lang.Object,boolean)>(v, v, 1);
goto label;
label:
v = v;
v = v + 1;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItem(int)>(v);
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItemValue(int,java.lang.Object,boolean)>(v, v, 1);
goto label;
label:
v = v + 1;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItem(int)>(v);
v = newarray (int)[2];
v[0] = v;
v[1] = v;
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void push(java.lang.Object)>(v);
v = 0;
v = 4;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayBegin()>();
goto label;
label:
v = v + 1;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItem(int)>(v);
v = newarray (int)[2];
v[0] = v;
v[1] = v;
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void push(java.lang.Object)>(v);
v = 0;
v = 2;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectBegin()>();
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.common.utils.Stack: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: java.lang.Object arrayEnd(int)>(v);
v = 0;
goto label;
label:
v = interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: java.lang.Object arrayEnd(int)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.utils.Stack: java.lang.Object pop()>();
v = v[0];
v = v[1];
lookupswitch(v)
{
case 2: goto label;
case 4: goto label;
default: goto label;
};
label:
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItemValue(int,java.lang.Object,boolean)>(v, v, 0);
goto label;
label:
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectItemValue(java.lang.Object,boolean)>(v, 0);
goto label;
label:
v = new org.apache.dubbo.common.json.ParseException;
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
v = staticinvoke <org.apache.dubbo.common.json.JSONToken: java.lang.String token2string(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unexpected token expect [ VALUE or \',\' or \']\' or \'[\' or \'{\' ] get \'\u0001\'");
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
default: goto label;
};
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectItem(java.lang.String)>(v);
v = 3;
goto label;
label:
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectItem(java.lang.String)>("null");
v = 3;
goto label;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectItem(java.lang.String)>(v);
v = 3;
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.common.utils.Stack: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: java.lang.Object objectEnd(int)>(v);
v = 0;
goto label;
label:
v = interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: java.lang.Object objectEnd(int)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.utils.Stack: java.lang.Object pop()>();
v = v[0];
v = v[1];
lookupswitch(v)
{
case 2: goto label;
case 4: goto label;
default: goto label;
};
label:
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayItemValue(int,java.lang.Object,boolean)>(v, v, 0);
goto label;
label:
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectItemValue(java.lang.Object,boolean)>(v, 0);
goto label;
label:
v = new org.apache.dubbo.common.json.ParseException;
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
v = staticinvoke <org.apache.dubbo.common.json.JSONToken: java.lang.String token2string(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unexpected token expect [ IDENT or VALUE or \',\' or \'}\' ] get \'\u0001\'");
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
tableswitch(v)
{
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
default: goto label;
};
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectItemValue(java.lang.Object,boolean)>(v, 1);
v = 2;
goto label;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectItemValue(java.lang.Object,boolean)>(v, 1);
v = 2;
goto label;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectItemValue(java.lang.Object,boolean)>(v, 1);
v = 2;
goto label;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectItemValue(java.lang.Object,boolean)>(v, 1);
v = 2;
goto label;
label:
v = v.<org.apache.dubbo.common.json.JSONToken: java.lang.Object value>;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectItemValue(java.lang.Object,boolean)>(v, 1);
v = 2;
goto label;
label:
v = newarray (int)[2];
v[0] = 2;
v[1] = v;
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void push(java.lang.Object)>(v);
v = 0;
v = 4;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void arrayBegin()>();
goto label;
label:
v = newarray (int)[2];
v[0] = 2;
v[1] = v;
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void push(java.lang.Object)>(v);
v = 0;
v = 2;
interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: void objectBegin()>();
goto label;
label:
v = new org.apache.dubbo.common.json.ParseException;
v = v.<org.apache.dubbo.common.json.JSONToken: int type>;
v = staticinvoke <org.apache.dubbo.common.json.JSONToken: java.lang.String token2string(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unexpected token expect [ VALUE or \'[\' or \'{\' ] get \'\u0001\'");
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.apache.dubbo.common.json.ParseException;
specialinvoke v.<org.apache.dubbo.common.json.ParseException: void <init>(java.lang.String)>("Unexpected state.");
throw v;
label:
v = virtualinvoke v.<org.apache.dubbo.common.json.JSONReader: org.apache.dubbo.common.json.JSONToken nextToken()>();
v = v;
if v != null goto label;
virtualinvoke v.<org.apache.dubbo.common.utils.Stack: void clear()>();
v = interfaceinvoke v.<org.apache.dubbo.common.json.JSONVisitor: java.lang.Object end(java.lang.Object,boolean)>(v, v);
return v;
}
static void <clinit>()
{
org.apache.dubbo.common.json.GenericJSONConverter v;
v = new org.apache.dubbo.common.json.GenericJSONConverter;
specialinvoke v.<org.apache.dubbo.common.json.GenericJSONConverter: void <init>()>();
<org.apache.dubbo.common.json.JSON: org.apache.dubbo.common.json.JSONConverter DEFAULT_CONVERTER> = v;
return;
}
}