public class org.apache.felix.utils.json.JSONWriter extends java.lang.Object
{
private final java.io.Writer pw;
private boolean comma;
public void <init>(java.io.Writer)
{
java.io.Writer v;
org.apache.felix.utils.json.JSONWriter v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v := @parameter: java.io.Writer;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 0;
v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw> = v;
return;
}
public org.apache.felix.utils.json.JSONWriter object() throws java.io.IOException
{
org.apache.felix.utils.json.JSONWriter v;
java.io.Writer v, v;
boolean v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v = v.<org.apache.felix.utils.json.JSONWriter: boolean comma>;
if v == 0 goto label;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(44);
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("{");
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 0;
return v;
}
public org.apache.felix.utils.json.JSONWriter endObject() throws java.io.IOException
{
java.io.Writer v;
org.apache.felix.utils.json.JSONWriter v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(125);
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 1;
return v;
}
public org.apache.felix.utils.json.JSONWriter array() throws java.io.IOException
{
org.apache.felix.utils.json.JSONWriter v;
java.io.Writer v, v;
boolean v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v = v.<org.apache.felix.utils.json.JSONWriter: boolean comma>;
if v == 0 goto label;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(44);
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("[");
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 0;
return v;
}
public org.apache.felix.utils.json.JSONWriter endArray() throws java.io.IOException
{
java.io.Writer v;
org.apache.felix.utils.json.JSONWriter v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(93);
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 1;
return v;
}
public org.apache.felix.utils.json.JSONWriter key(java.lang.String) throws java.io.IOException
{
org.apache.felix.utils.json.JSONWriter v;
java.io.Writer v, v;
java.lang.String v;
boolean v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v := @parameter: java.lang.String;
v = v.<org.apache.felix.utils.json.JSONWriter: boolean comma>;
if v == 0 goto label;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(44);
label:
specialinvoke v.<org.apache.felix.utils.json.JSONWriter: void quote(java.lang.String)>(v);
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(58);
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 0;
return v;
}
public org.apache.felix.utils.json.JSONWriter value(boolean) throws java.io.IOException
{
org.apache.felix.utils.json.JSONWriter v;
java.io.Writer v, v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v := @parameter: boolean;
v = v.<org.apache.felix.utils.json.JSONWriter: boolean comma>;
if v == 0 goto label;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(44);
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
if v == 0 goto label;
v = "true";
goto label;
label:
v = "false";
label:
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>(v);
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 1;
return v;
}
public org.apache.felix.utils.json.JSONWriter value(double) throws java.io.IOException
{
org.apache.felix.utils.json.JSONWriter v, v;
java.lang.Double v;
double v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v := @parameter: double;
v = new java.lang.Double;
specialinvoke v.<java.lang.Double: void <init>(double)>(v);
v = virtualinvoke v.<org.apache.felix.utils.json.JSONWriter: org.apache.felix.utils.json.JSONWriter value(java.lang.Object)>(v);
return v;
}
public org.apache.felix.utils.json.JSONWriter value(int) throws java.io.IOException
{
org.apache.felix.utils.json.JSONWriter v;
int v;
java.io.Writer v, v;
java.lang.String v;
boolean v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v := @parameter: int;
v = v.<org.apache.felix.utils.json.JSONWriter: boolean comma>;
if v == 0 goto label;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(44);
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>(v);
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 1;
return v;
}
public org.apache.felix.utils.json.JSONWriter value(long) throws java.io.IOException
{
org.apache.felix.utils.json.JSONWriter v;
java.io.Writer v, v;
long v;
java.lang.String v;
boolean v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v := @parameter: long;
v = v.<org.apache.felix.utils.json.JSONWriter: boolean comma>;
if v == 0 goto label;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(44);
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
v = staticinvoke <java.lang.String: java.lang.String valueOf(long)>(v);
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>(v);
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 1;
return v;
}
public org.apache.felix.utils.json.JSONWriter value(java.lang.Object) throws java.io.IOException
{
boolean v, v, v, v, v, v, v, v, v, v, v;
org.apache.felix.utils.json.JSONWriter v;
java.util.Set v;
java.io.Writer v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
java.util.Iterator v, v;
java.lang.Class v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v := @parameter: java.lang.Object;
v = v.<org.apache.felix.utils.json.JSONWriter: boolean comma>;
if v == 0 goto label;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(44);
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(null);
if v == 0 goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("null");
goto label;
label:
v = v instanceof java.lang.Boolean;
if v == 0 goto label;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>(v);
goto label;
label:
v = v instanceof java.lang.Number;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(46);
v = (int) -1;
if v == v goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(101);
if v > 0 goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(69);
if v <= 0 goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("0");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(".");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>(v);
goto label;
label:
v = v instanceof java.util.Map;
if v == 0 goto label;
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 0;
virtualinvoke v.<org.apache.felix.utils.json.JSONWriter: org.apache.felix.utils.json.JSONWriter object()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
virtualinvoke v.<org.apache.felix.utils.json.JSONWriter: org.apache.felix.utils.json.JSONWriter key(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
virtualinvoke v.<org.apache.felix.utils.json.JSONWriter: org.apache.felix.utils.json.JSONWriter value(java.lang.Object)>(v);
goto label;
label:
virtualinvoke v.<org.apache.felix.utils.json.JSONWriter: org.apache.felix.utils.json.JSONWriter endObject()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 0;
virtualinvoke v.<org.apache.felix.utils.json.JSONWriter: org.apache.felix.utils.json.JSONWriter array()>();
v = 0;
label:
v = staticinvoke <java.lang.reflect.Array: int getLength(java.lang.Object)>(v);
if v >= v goto label;
v = staticinvoke <java.lang.reflect.Array: java.lang.Object get(java.lang.Object,int)>(v, v);
virtualinvoke v.<org.apache.felix.utils.json.JSONWriter: org.apache.felix.utils.json.JSONWriter value(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<org.apache.felix.utils.json.JSONWriter: org.apache.felix.utils.json.JSONWriter endArray()>();
goto label;
label:
v = v instanceof java.util.Collection;
if v == 0 goto label;
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 0;
virtualinvoke v.<org.apache.felix.utils.json.JSONWriter: org.apache.felix.utils.json.JSONWriter array()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.apache.felix.utils.json.JSONWriter: org.apache.felix.utils.json.JSONWriter value(java.lang.Object)>(v);
goto label;
label:
virtualinvoke v.<org.apache.felix.utils.json.JSONWriter: org.apache.felix.utils.json.JSONWriter endArray()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
specialinvoke v.<org.apache.felix.utils.json.JSONWriter: void quote(java.lang.String)>(v);
label:
v.<org.apache.felix.utils.json.JSONWriter: boolean comma> = 1;
return v;
}
private void quote(java.lang.String) throws java.io.IOException
{
int v, v, v, v, v;
java.lang.String v, v, v;
org.apache.felix.utils.json.JSONWriter v;
char v;
java.io.Writer v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v := @parameter: java.lang.String;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(34);
v = virtualinvoke v.<java.lang.String: int length()>();
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
lookupswitch(v)
{
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 12: goto label;
case 13: goto label;
case 34: goto label;
case 47: goto label;
case 92: goto label;
default: goto label;
};
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("\\\"");
goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("\\\\");
goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("\\b");
goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("\\f");
goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("\\n");
goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("\\r");
goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("\\t");
goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("\\/");
goto label;
label:
if v < 0 goto label;
if v <= 31 goto label;
label:
if v < 127 goto label;
if v <= 159 goto label;
label:
if v < 8192 goto label;
if v > 8447 goto label;
label:
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>("\\u");
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = 4 - v;
if v >= v goto label;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(48);
v = v + 1;
goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase()>();
virtualinvoke v.<java.io.Writer: void write(java.lang.String)>(v);
goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(v);
label:
v = v + 1;
goto label;
label:
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void write(int)>(34);
return;
}
public void flush() throws java.io.IOException
{
java.io.Writer v;
org.apache.felix.utils.json.JSONWriter v;
v := @this: org.apache.felix.utils.json.JSONWriter;
v = v.<org.apache.felix.utils.json.JSONWriter: java.io.Writer pw>;
virtualinvoke v.<java.io.Writer: void flush()>();
return;
}
}