Add models of JSON-java, aka org.json

This commit is contained in:
Chris Smowton
2021-07-19 17:57:27 +01:00
parent db76b12f3f
commit 34a4b71891
29 changed files with 3497 additions and 0 deletions

View File

@@ -85,6 +85,7 @@ private module Frameworks {
private import semmle.code.java.frameworks.jackson.JacksonSerializability
private import semmle.code.java.frameworks.JavaxJson
private import semmle.code.java.frameworks.JaxWS
private import semmle.code.java.frameworks.JsonJava
private import semmle.code.java.frameworks.Optional
private import semmle.code.java.frameworks.spring.SpringCache
private import semmle.code.java.frameworks.spring.SpringHttp

View File

@@ -0,0 +1,240 @@
/**
* Provides models for working with the JSON-java library (package `org.json`).
*/
import semmle.code.java.dataflow.ExternalFlow
private class FlowModels extends SummaryModelCsv {
override predicate row(string row) {
row =
[
"org.json;JSONString;true;toJSONString;;;Argument[-1];ReturnValue;taint",
"org.json;XMLXsiTypeConverter;true;convert;;;Argument[0];ReturnValue;taint",
"org.json;CDL;false;rowToJSONArray;;;Argument[0];ReturnValue;taint",
"org.json;CDL;false;rowToJSONObject;;;Argument[0..1];ReturnValue;taint",
"org.json;CDL;false;toJSONArray;;;Argument[0..1];ReturnValue;taint",
"org.json;CDL;false;toString;;;Argument[0..1];ReturnValue;taint",
"org.json;Cookie;false;escape;;;Argument[0];ReturnValue;taint",
"org.json;Cookie;false;toJSONObject;;;Argument[0];ReturnValue;taint",
"org.json;Cookie;false;toString;;;Argument[0];ReturnValue;taint",
"org.json;Cookie;false;unescape;;;Argument[0];ReturnValue;taint",
"org.json;CookieList;false;toJSONObject;;;Argument[0];ReturnValue;taint",
"org.json;CookieList;false;toString;;;Argument[0];ReturnValue;taint",
"org.json;HTTP;false;toJSONObject;;;Argument[0];ReturnValue;taint",
"org.json;HTTP;false;toString;;;Argument[0];ReturnValue;taint",
"org.json;HTTPTokener;false;HTTPTokener;;;Argument[0];Argument[-1];taint",
"org.json;HTTPTokener;false;nextToken;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;JSONArray;(Collection);;Element of Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;JSONArray;(Iterable);;Element of Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;JSONArray;(JSONArray);;Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;JSONArray;(JSONTokener);;Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;JSONArray;(Object);;ArrayElement of Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;JSONArray;(String);;Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;get;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getBigDecimal;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getBigInteger;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getBoolean;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getDouble;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getEnum;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getFloat;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getInt;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getJSONArray;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getJSONObject;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getLong;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getNumber;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;getString;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;iterator;;;Argument[-1];Element of ReturnValue;taint",
"org.json;JSONArray;false;join;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;join;;;Argument[0];ReturnValue;taint",
"org.json;JSONArray;false;opt;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optBigDecimal;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optBigInteger;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optBoolean;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optDouble;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optEnum;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optFloat;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optInt;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optJSONArray;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optJSONObject;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optLong;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optNumber;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optQuery;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;optString;;;Argument[-1];ReturnValue;taint",
// Default values that may be returned by the `opt*` functions above:
"org.json;JSONArray;false;optBigDecimal;;;Argument[1];ReturnValue;value",
"org.json;JSONArray;false;optBigInteger;;;Argument[1];ReturnValue;value",
"org.json;JSONArray;false;optBoolean;;;Argument[1];ReturnValue;value",
"org.json;JSONArray;false;optDouble;;;Argument[1];ReturnValue;value",
"org.json;JSONArray;false;optEnum;;;Argument[2];ReturnValue;value",
"org.json;JSONArray;false;optFloat;;;Argument[1];ReturnValue;value",
"org.json;JSONArray;false;optInt;;;Argument[1];ReturnValue;value",
"org.json;JSONArray;false;optLong;;;Argument[1];ReturnValue;value",
"org.json;JSONArray;false;optNumber;;;Argument[1];ReturnValue;value",
"org.json;JSONArray;false;optString;;;Argument[1];ReturnValue;value",
"org.json;JSONArray;false;put;(boolean);;Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;put;(Collection);;Element of Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;put;(double);;Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;put;(float);;Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;put;(int);;Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;put;(long);;Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;put;(Map);;MapKey of Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;put;(Map);;MapValue of Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;put;(Object);;Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;put;(int,boolean);;Argument[1];Argument[-1];taint",
"org.json;JSONArray;false;put;(int,Collection);;Element of Argument[1];Argument[-1];taint",
"org.json;JSONArray;false;put;(int,double);;Argument[1];Argument[-1];taint",
"org.json;JSONArray;false;put;(int,float);;Argument[1];Argument[-1];taint",
"org.json;JSONArray;false;put;(int,int);;Argument[1];Argument[-1];taint",
"org.json;JSONArray;false;put;(int,long);;Argument[1];Argument[-1];taint",
"org.json;JSONArray;false;put;(int,Map);;MapKey of Argument[1];Argument[-1];taint",
"org.json;JSONArray;false;put;(int,Map);;MapValue of Argument[1];Argument[-1];taint",
"org.json;JSONArray;false;put;(int,Object);;Argument[1];Argument[-1];taint",
"org.json;JSONArray;false;putAll;(Collection);;Element of Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;putAll;(Iterable);;Element of Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;putAll;(JSONArray);;Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;putAll;(Object);;Argument[0];Argument[-1];taint",
"org.json;JSONArray;false;query;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;toJSONObject;;;Argument[0];ReturnValue;taint",
"org.json;JSONArray;false;toJSONObject;;;Argument[-1];ReturnValue;taint",
"org.json;JSONArray;false;toList;;;Argument[0];Element of ReturnValue;taint",
"org.json;JSONArray;false;toString;;;Argument[0];ReturnValue;taint",
"org.json;JSONArray;false;write;;;Argument[-1];Argument[0];taint",
"org.json;JSONArray;false;write;;;Argument[0];ReturnValue;value",
"org.json;JSONML;false;toJSONArray;;;Argument[0];ReturnValue;taint",
"org.json;JSONML;false;toJSONObject;;;Argument[0];ReturnValue;taint",
"org.json;JSONML;false;toString;;;Argument[0];ReturnValue;taint",
"org.json;JSONObject;false;JSONObject;(JSONObject,String[]);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;JSONObject;(JSONObject,String[]);;ArrayElement of Argument[1];Argument[-1];taint",
"org.json;JSONObject;false;JSONObject;(JSONTokener);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;JSONObject;(Map);;MapKey of Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;JSONObject;(Map);;MapValue of Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;JSONObject;(Object);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;JSONObject;(Object,String[]);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;JSONObject;(Object,String[]);;ArrayElement of Argument[1];Argument[-1];taint",
"org.json;JSONObject;false;JSONObject;(String);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;JSONObject;(String,Locale);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;accumulate;;;Argument[0..1];Argument[-1];taint",
"org.json;JSONObject;false;append;;;Argument[0..1];Argument[-1];taint",
"org.json;JSONObject;false;doubleToString;;;Argument[0];ReturnValue;taint",
"org.json;JSONObject;false;entrySet;;;Argument[-1];Element of ReturnValue;taint",
"org.json;JSONObject;false;get;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getBigDecimal;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getBigInteger;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getBoolean;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getDouble;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getEnum;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getFloat;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getInt;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getJSONArray;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getJSONObject;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getLong;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getNames;;;Argument[0];ArrayElement of ReturnValue;taint",
"org.json;JSONObject;false;getNumber;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;getString;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;increment;;;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;keys;;;Argument[-1];Element of ReturnValue;taint",
"org.json;JSONObject;false;keySet;;;Argument[-1];Element of ReturnValue;taint",
"org.json;JSONObject;false;names;;;Argument[-1];ReturnValue;taint", // Returns a JSONArray, hence this has no Element qualifier or similar
"org.json;JSONObject;false;numberToString;;;Argument[0];ReturnValue;taint",
"org.json;JSONObject;false;opt;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optBigDecimal;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optBigInteger;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optBoolean;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optDouble;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optEnum;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optFloat;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optInt;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optJSONArray;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optJSONObject;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optLong;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optNumber;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optQuery;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;optString;;;Argument[-1];ReturnValue;taint",
// Default values that may be returned by the `opt*` functions above:
"org.json;JSONObject;false;optBigDecimal;;;Argument[1];ReturnValue;value",
"org.json;JSONObject;false;optBigInteger;;;Argument[1];ReturnValue;value",
"org.json;JSONObject;false;optBoolean;;;Argument[1];ReturnValue;value",
"org.json;JSONObject;false;optDouble;;;Argument[1];ReturnValue;value",
"org.json;JSONObject;false;optEnum;;;Argument[2];ReturnValue;value",
"org.json;JSONObject;false;optFloat;;;Argument[1];ReturnValue;value",
"org.json;JSONObject;false;optInt;;;Argument[1];ReturnValue;value",
"org.json;JSONObject;false;optLong;;;Argument[1];ReturnValue;value",
"org.json;JSONObject;false;optNumber;;;Argument[1];ReturnValue;value",
"org.json;JSONObject;false;optString;;;Argument[1];ReturnValue;value",
"org.json;JSONObject;false;put;(String,boolean);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,Collection);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,double);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,float);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,int);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,long);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,Map);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,Object);;Argument[0];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,boolean);;Argument[1];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,Collection);;Element of Argument[1];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,double);;Argument[1];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,float);;Argument[1];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,int);;Argument[1];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,long);;Argument[1];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,Map);;MapKey of Argument[1];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,Map);;MapValue of Argument[1];Argument[-1];taint",
"org.json;JSONObject;false;put;(String,Object);;Argument[1];Argument[-1];taint",
"org.json;JSONObject;false;putOnce;;;Argument[0..1];Argument[-1];taint",
"org.json;JSONObject;false;putOpt;;;Argument[0..1];Argument[-1];taint",
"org.json;JSONObject;false;query;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;quote;(String);;Argument[0];ReturnValue;taint",
"org.json;JSONObject;false;quote;(String,Writer);;Argument[0];Argument[1];taint",
"org.json;JSONObject;false;quote;(String,Writer);;Argument[1];ReturnValue;value",
"org.json;JSONObject;false;stringToValue;;;Argument[0];ReturnValue;taint",
"org.json;JSONObject;false;toJSONArray;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;toMap;;;Argument[-1];MapKey of ReturnValue;taint",
"org.json;JSONObject;false;toMap;;;Argument[-1];MapValue of ReturnValue;taint",
"org.json;JSONObject;false;toString;;;Argument[-1];ReturnValue;taint",
"org.json;JSONObject;false;valueToString;;;Argument[0];ReturnValue;taint",
"org.json;JSONObject;false;wrap;;;Argument[0];ReturnValue;taint",
"org.json;JSONObject;false;write;;;Argument[-1];Argument[0];taint",
"org.json;JSONObject;false;write;;;Argument[0];ReturnValue;value",
"org.json;JSONPointer;false;JSONPointer;(List);;Element of Argument[0];Argument[-1];taint",
"org.json;JSONPointer;false;JSONPointer;(String);;Argument[0];Argument[-1];taint",
"org.json;JSONPointer;false;queryFrom;;;Argument[0];ReturnValue;taint",
"org.json;JSONPointer;false;toString;;;Argument[-1];ReturnValue;taint",
"org.json;JSONPointer;false;toURIFragment;;;Argument[-1];ReturnValue;taint",
"org.json;JSONPointer$Builder;false;append;;;Argument[0];Argument[-1];taint",
"org.json;JSONPointer$Builder;false;append;;;Argument[-1];ReturnValue;value",
"org.json;JSONPointer$Builder;false;build;;;Argument[-1];ReturnValue;taint",
"org.json;JSONStringer;false;toString;;;Argument[-1];ReturnValue;taint",
"org.json;JSONTokener;false;JSONTokener;;;Argument[0];Argument[-1];taint",
"org.json;JSONTokener;false;next;;;Argument[-1];ReturnValue;taint",
"org.json;JSONTokener;false;nextClean;;;Argument[-1];ReturnValue;taint",
"org.json;JSONTokener;false;nextString;;;Argument[-1];ReturnValue;taint",
"org.json;JSONTokener;false;nextTo;;;Argument[-1];ReturnValue;taint",
"org.json;JSONTokener;false;nextValue;;;Argument[-1];ReturnValue;taint",
"org.json;JSONTokener;false;syntaxError;;;Argument[0..1];ReturnValue;taint",
"org.json;JSONTokener;false;toString;;;Argument[-1];ReturnValue;taint",
"org.json;JSONWriter;true;JSONWriter;;;Argument[-1];Argument[0];taint",
"org.json;JSONWriter;true;key;;;Argument[0];Argument[-1];taint",
"org.json;JSONWriter;true;value;;;Argument[0];Argument[-1];taint",
"org.json;JSONWriter;true;valueToString;;;Argument[0];ReturnValue;taint",
"org.json;JSONWriter;true;array;;;Argument[-1];ReturnValue;value",
"org.json;JSONWriter;true;endArray;;;Argument[-1];ReturnValue;value",
"org.json;JSONWriter;true;endObject;;;Argument[-1];ReturnValue;value",
"org.json;JSONWriter;true;key;;;Argument[-1];ReturnValue;value",
"org.json;JSONWriter;true;object;;;Argument[-1];ReturnValue;value",
"org.json;JSONWriter;true;value;;;Argument[-1];ReturnValue;value",
"org.json;Property;false;toProperties;;;Argument[0];MapKey of ReturnValue;taint",
"org.json;Property;false;toProperties;;;Argument[0];MapValue of ReturnValue;taint",
"org.json;Property;false;toJSONObject;;;MapKey of Argument[0];ReturnValue;taint",
"org.json;Property;false;toJSONObject;;;MapValue of Argument[0];ReturnValue;taint",
"org.json;XML;false;escape;;;Argument[0];ReturnValue;taint",
"org.json;XML;false;stringToValue;;;Argument[0];ReturnValue;taint",
"org.json;XML;false;toJSONObject;;;Argument[0];ReturnValue;taint",
"org.json;XML;false;toString;;;Argument[0];ReturnValue;taint",
"org.json;XML;false;unescape;;;Argument[0];ReturnValue;taint",
"org.json;XMLTokener;false;XMLTokener;;;Argument[0];Argument[-1];taint",
"org.json;XMLTokener;false;nextCDATA;;;Argument[-1];ReturnValue;taint",
"org.json;XMLTokener;false;nextContent;;;Argument[-1];ReturnValue;taint",
"org.json;XMLTokener;false;nextEntity;;;Argument[-1];ReturnValue;taint",
"org.json;XMLTokener;false;nextMeta;;;Argument[-1];ReturnValue;taint",
"org.json;XMLTokener;false;nextToken;;;Argument[-1];ReturnValue;taint"
]
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/json-java-20210307

View File

@@ -0,0 +1 @@
//semmle-extractor-options: --javac-args -cp /Users/chris/Downloads/json-20210307.jar

View File

@@ -0,0 +1 @@
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/json-java-20210307

View File

@@ -0,0 +1,528 @@
<01><>
org.json.CDL<44>// Generated automatically from org.json.CDL for testing purposes
package org.json;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONTokener;
public class CDL
{
public CDL(){}
public static JSONArray rowToJSONArray(JSONTokener p0){ return null; }
public static JSONArray toJSONArray(JSONArray p0, JSONTokener p1){ return null; }
public static JSONArray toJSONArray(JSONArray p0, String p1){ return null; }
public static JSONArray toJSONArray(JSONTokener p0){ return null; }
public static JSONArray toJSONArray(String p0){ return null; }
public static JSONObject rowToJSONObject(JSONArray p0, JSONTokener p1){ return null; }
public static String rowToString(JSONArray p0){ return null; }
public static String toString(JSONArray p0){ return null; }
public static String toString(JSONArray p0, JSONArray p1){ return null; }
}
org.json.Cookie<69>// Generated automatically from org.json.Cookie for testing purposes
package org.json;
import org.json.JSONObject;
public class Cookie
{
public Cookie(){}
public static JSONObject toJSONObject(String p0){ return null; }
public static String escape(String p0){ return null; }
public static String toString(JSONObject p0){ return null; }
public static String unescape(String p0){ return null; }
}
org.json.CookieList<73>// Generated automatically from org.json.CookieList for testing purposes
package org.json;
import org.json.JSONObject;
public class CookieList
{
public CookieList(){}
public static JSONObject toJSONObject(String p0){ return null; }
public static String toString(JSONObject p0){ return null; }
}
org.json.HTTP<54>// Generated automatically from org.json.HTTP for testing purposes
package org.json;
import org.json.JSONObject;
public class HTTP
{
public HTTP(){}
public static JSONObject toJSONObject(String p0){ return null; }
public static String CRLF = null;
public static String toString(JSONObject p0){ return null; }
}
org.json.HTTPTokener<65>// Generated automatically from org.json.HTTPTokener for testing purposes
package org.json;
import org.json.JSONTokener;
public class HTTPTokener extends JSONTokener
{
protected HTTPTokener() {}
public HTTPTokener(String p0){}
public String nextToken(){ return null; }
}
org.json.JSONArray<61>%// Generated automatically from org.json.JSONArray for testing purposes
package org.json;
import java.io.Writer;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.json.JSONObject;
import org.json.JSONPointer;
import org.json.JSONTokener;
public class JSONArray implements Iterable<Object>
{
public <E extends Enum<E>> E getEnum(Class<E> p0, int p1){ return null; }
public <E extends Enum<E>> E optEnum(Class<E> p0, int p1){ return null; }
public <E extends Enum<E>> E optEnum(Class<E> p0, int p1, E p2){ return null; }
public BigDecimal getBigDecimal(int p0){ return null; }
public BigDecimal optBigDecimal(int p0, BigDecimal p1){ return null; }
public BigInteger getBigInteger(int p0){ return null; }
public BigInteger optBigInteger(int p0, BigInteger p1){ return null; }
public Iterator<Object> iterator(){ return null; }
public JSONArray getJSONArray(int p0){ return null; }
public JSONArray optJSONArray(int p0){ return null; }
public JSONArray put(Collection<? extends Object> p0){ return null; }
public JSONArray put(Map<? extends Object, ? extends Object> p0){ return null; }
public JSONArray put(Object p0){ return null; }
public JSONArray put(boolean p0){ return null; }
public JSONArray put(double p0){ return null; }
public JSONArray put(float p0){ return null; }
public JSONArray put(int p0){ return null; }
public JSONArray put(int p0, Collection<? extends Object> p1){ return null; }
public JSONArray put(int p0, Map<? extends Object, ? extends Object> p1){ return null; }
public JSONArray put(int p0, Object p1){ return null; }
public JSONArray put(int p0, boolean p1){ return null; }
public JSONArray put(int p0, double p1){ return null; }
public JSONArray put(int p0, float p1){ return null; }
public JSONArray put(int p0, int p1){ return null; }
public JSONArray put(int p0, long p1){ return null; }
public JSONArray put(long p0){ return null; }
public JSONArray putAll(Collection<? extends Object> p0){ return null; }
public JSONArray putAll(Iterable<? extends Object> p0){ return null; }
public JSONArray putAll(JSONArray p0){ return null; }
public JSONArray putAll(Object p0){ return null; }
public JSONArray(){}
public JSONArray(Collection<? extends Object> p0){}
public JSONArray(Iterable<? extends Object> p0){}
public JSONArray(JSONArray p0){}
public JSONArray(JSONTokener p0){}
public JSONArray(Object p0){}
public JSONArray(String p0){}
public JSONArray(int p0){}
public JSONObject getJSONObject(int p0){ return null; }
public JSONObject optJSONObject(int p0){ return null; }
public JSONObject toJSONObject(JSONArray p0){ return null; }
public List<Object> toList(){ return null; }
public Number getNumber(int p0){ return null; }
public Number optNumber(int p0){ return null; }
public Number optNumber(int p0, Number p1){ return null; }
public Object get(int p0){ return null; }
public Object opt(int p0){ return null; }
public Object optQuery(JSONPointer p0){ return null; }
public Object optQuery(String p0){ return null; }
public Object query(JSONPointer p0){ return null; }
public Object query(String p0){ return null; }
public Object remove(int p0){ return null; }
public String getString(int p0){ return null; }
public String join(String p0){ return null; }
public String optString(int p0){ return null; }
public String optString(int p0, String p1){ return null; }
public String toString(){ return null; }
public String toString(int p0){ return null; }
public Writer write(Writer p0){ return null; }
public Writer write(Writer p0, int p1, int p2){ return null; }
public boolean getBoolean(int p0){ return false; }
public boolean isEmpty(){ return false; }
public boolean isNull(int p0){ return false; }
public boolean optBoolean(int p0){ return false; }
public boolean optBoolean(int p0, boolean p1){ return false; }
public boolean similar(Object p0){ return false; }
public double getDouble(int p0){ return 0; }
public double optDouble(int p0){ return 0; }
public double optDouble(int p0, double p1){ return 0; }
public float getFloat(int p0){ return 0; }
public float optFloat(int p0){ return 0; }
public float optFloat(int p0, float p1){ return 0; }
public int getInt(int p0){ return 0; }
public int length(){ return 0; }
public int optInt(int p0){ return 0; }
public int optInt(int p0, int p1){ return 0; }
public long getLong(int p0){ return 0; }
public long optLong(int p0){ return 0; }
public long optLong(int p0, long p1){ return 0; }
public void clear(){}
}
org.json.JSONException<6F>// Generated automatically from org.json.JSONException for testing purposes
package org.json;
public class JSONException extends RuntimeException
{
protected JSONException() {}
public JSONException(String p0){}
public JSONException(String p0, Throwable p1){}
public JSONException(Throwable p0){}
}
org.json.JSONML<4D>// Generated automatically from org.json.JSONML for testing purposes
package org.json;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.XMLTokener;
public class JSONML
{
public JSONML(){}
public static JSONArray toJSONArray(String p0){ return null; }
public static JSONArray toJSONArray(String p0, boolean p1){ return null; }
public static JSONArray toJSONArray(XMLTokener p0){ return null; }
public static JSONArray toJSONArray(XMLTokener p0, boolean p1){ return null; }
public static JSONObject toJSONObject(String p0){ return null; }
public static JSONObject toJSONObject(String p0, boolean p1){ return null; }
public static JSONObject toJSONObject(XMLTokener p0){ return null; }
public static JSONObject toJSONObject(XMLTokener p0, boolean p1){ return null; }
public static String toString(JSONArray p0){ return null; }
public static String toString(JSONObject p0){ return null; }
}
org.json.JSONObject<63>/// Generated automatically from org.json.JSONObject for testing purposes
package org.json;
import java.io.Writer;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Collection;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
import org.json.JSONArray;
import org.json.JSONPointer;
import org.json.JSONTokener;
public class JSONObject
{
protected JSONObject(int p0){}
protected Set<Map.Entry<String, Object>> entrySet(){ return null; }
protected static Number stringToNumber(String p0){ return null; }
protected static boolean isDecimalNotation(String p0){ return false; }
public <E extends Enum<E>> E getEnum(Class<E> p0, String p1){ return null; }
public <E extends Enum<E>> E optEnum(Class<E> p0, String p1){ return null; }
public <E extends Enum<E>> E optEnum(Class<E> p0, String p1, E p2){ return null; }
public BigDecimal getBigDecimal(String p0){ return null; }
public BigDecimal optBigDecimal(String p0, BigDecimal p1){ return null; }
public BigInteger getBigInteger(String p0){ return null; }
public BigInteger optBigInteger(String p0, BigInteger p1){ return null; }
public Iterator<String> keys(){ return null; }
public JSONArray getJSONArray(String p0){ return null; }
public JSONArray names(){ return null; }
public JSONArray optJSONArray(String p0){ return null; }
public JSONArray toJSONArray(JSONArray p0){ return null; }
public JSONObject accumulate(String p0, Object p1){ return null; }
public JSONObject append(String p0, Object p1){ return null; }
public JSONObject getJSONObject(String p0){ return null; }
public JSONObject increment(String p0){ return null; }
public JSONObject optJSONObject(String p0){ return null; }
public JSONObject put(String p0, Collection<? extends Object> p1){ return null; }
public JSONObject put(String p0, Map<? extends Object, ? extends Object> p1){ return null; }
public JSONObject put(String p0, Object p1){ return null; }
public JSONObject put(String p0, boolean p1){ return null; }
public JSONObject put(String p0, double p1){ return null; }
public JSONObject put(String p0, float p1){ return null; }
public JSONObject put(String p0, int p1){ return null; }
public JSONObject put(String p0, long p1){ return null; }
public JSONObject putOnce(String p0, Object p1){ return null; }
public JSONObject putOpt(String p0, Object p1){ return null; }
public JSONObject(){}
public JSONObject(JSONObject p0, String... p1){}
public JSONObject(JSONTokener p0){}
public JSONObject(Map<? extends Object, ? extends Object> p0){}
public JSONObject(Object p0){}
public JSONObject(Object p0, String... p1){}
public JSONObject(String p0){}
public JSONObject(String p0, Locale p1){}
public Map<String, Object> toMap(){ return null; }
public Number getNumber(String p0){ return null; }
public Number optNumber(String p0){ return null; }
public Number optNumber(String p0, Number p1){ return null; }
public Object get(String p0){ return null; }
public Object opt(String p0){ return null; }
public Object optQuery(JSONPointer p0){ return null; }
public Object optQuery(String p0){ return null; }
public Object query(JSONPointer p0){ return null; }
public Object query(String p0){ return null; }
public Object remove(String p0){ return null; }
public Set<String> keySet(){ return null; }
public String getString(String p0){ return null; }
public String optString(String p0){ return null; }
public String optString(String p0, String p1){ return null; }
public String toString(){ return null; }
public String toString(int p0){ return null; }
public Writer write(Writer p0){ return null; }
public Writer write(Writer p0, int p1, int p2){ return null; }
public boolean getBoolean(String p0){ return false; }
public boolean has(String p0){ return false; }
public boolean isEmpty(){ return false; }
public boolean isNull(String p0){ return false; }
public boolean optBoolean(String p0){ return false; }
public boolean optBoolean(String p0, boolean p1){ return false; }
public boolean similar(Object p0){ return false; }
public double getDouble(String p0){ return 0; }
public double optDouble(String p0){ return 0; }
public double optDouble(String p0, double p1){ return 0; }
public float getFloat(String p0){ return 0; }
public float optFloat(String p0){ return 0; }
public float optFloat(String p0, float p1){ return 0; }
public int getInt(String p0){ return 0; }
public int length(){ return 0; }
public int optInt(String p0){ return 0; }
public int optInt(String p0, int p1){ return 0; }
public long getLong(String p0){ return 0; }
public long optLong(String p0){ return 0; }
public long optLong(String p0, long p1){ return 0; }
public static Object NULL = null;
public static Object stringToValue(String p0){ return null; }
public static Object wrap(Object p0){ return null; }
public static String doubleToString(double p0){ return null; }
public static String numberToString(Number p0){ return null; }
public static String quote(String p0){ return null; }
public static String valueToString(Object p0){ return null; }
public static String[] getNames(JSONObject p0){ return null; }
public static String[] getNames(Object p0){ return null; }
public static Writer quote(String p0, Writer p1){ return null; }
public static void testValidity(Object p0){}
public void clear(){}
static BigDecimal objectToBigDecimal(Object p0, BigDecimal p1){ return null; }
static BigInteger objectToBigInteger(Object p0, BigInteger p1){ return null; }
static Pattern NUMBER_PATTERN = null;
static Writer writeValue(Writer p0, Object p1, int p2, int p3){ return null; }
static boolean isNumberSimilar(Number p0, Number p1){ return false; }
static void indent(Writer p0, int p1){}
}
org.json.JSONPointer<65>// Generated automatically from org.json.JSONPointer for testing purposes
package org.json;
import java.util.List;
public class JSONPointer
{
protected JSONPointer() {}
public JSONPointer(List<String> p0){}
public JSONPointer(String p0){}
public Object queryFrom(Object p0){ return null; }
public String toString(){ return null; }
public String toURIFragment(){ return null; }
public static JSONPointer.Builder builder(){ return null; }
static public class Builder
{
public Builder(){}
public JSONPointer build(){ return null; }
public JSONPointer.Builder append(String p0){ return null; }
public JSONPointer.Builder append(int p0){ return null; }
}
}
org.json.JSONString<6E>// Generated automatically from org.json.JSONString for testing purposes
package org.json;
public interface JSONString
{
String toJSONString();
}
org.json.JSONStringer<65>// Generated automatically from org.json.JSONStringer for testing purposes
package org.json;
import org.json.JSONWriter;
public class JSONStringer extends JSONWriter
{
public JSONStringer(){}
public String toString(){ return null; }
}
org.json.JSONTokener<65>// Generated automatically from org.json.JSONTokener for testing purposes
package org.json;
import java.io.InputStream;
import java.io.Reader;
import org.json.JSONException;
public class JSONTokener
{
protected JSONTokener() {}
public JSONException syntaxError(String p0){ return null; }
public JSONException syntaxError(String p0, Throwable p1){ return null; }
public JSONTokener(InputStream p0){}
public JSONTokener(Reader p0){}
public JSONTokener(String p0){}
public Object nextValue(){ return null; }
public String next(int p0){ return null; }
public String nextString(char p0){ return null; }
public String nextTo(String p0){ return null; }
public String nextTo(char p0){ return null; }
public String toString(){ return null; }
public boolean end(){ return false; }
public boolean more(){ return false; }
public char next(){ return '0'; }
public char next(char p0){ return '0'; }
public char nextClean(){ return '0'; }
public char skipTo(char p0){ return '0'; }
public static int dehexchar(char p0){ return 0; }
public void back(){}
}
org.json.JSONWriter<65>// Generated automatically from org.json.JSONWriter for testing purposes
package org.json;
public class JSONWriter
{
protected JSONWriter() {}
protected Appendable writer = null;
protected char mode = '0';
public JSONWriter array(){ return null; }
public JSONWriter endArray(){ return null; }
public JSONWriter endObject(){ return null; }
public JSONWriter key(String p0){ return null; }
public JSONWriter object(){ return null; }
public JSONWriter value(Object p0){ return null; }
public JSONWriter value(boolean p0){ return null; }
public JSONWriter value(double p0){ return null; }
public JSONWriter value(long p0){ return null; }
public JSONWriter(Appendable p0){}
public static String valueToString(Object p0){ return null; }
}
org.json.Property<74>// Generated automatically from org.json.Property for testing purposes
package org.json;
import java.util.Properties;
import org.json.JSONObject;
public class Property
{
public Property(){}
public static JSONObject toJSONObject(Properties p0){ return null; }
public static Properties toProperties(JSONObject p0){ return null; }
}
org.json.XML<4D>
// Generated automatically from org.json.XML for testing purposes
package org.json;
import java.io.Reader;
import org.json.JSONObject;
import org.json.XMLParserConfiguration;
import org.json.XMLXsiTypeConverter;
public class XML
{
public XML(){}
public static Character AMP = null;
public static Character APOS = null;
public static Character BANG = null;
public static Character EQ = null;
public static Character GT = null;
public static Character LT = null;
public static Character QUEST = null;
public static Character QUOT = null;
public static Character SLASH = null;
public static JSONObject toJSONObject(Reader p0){ return null; }
public static JSONObject toJSONObject(Reader p0, XMLParserConfiguration p1){ return null; }
public static JSONObject toJSONObject(Reader p0, boolean p1){ return null; }
public static JSONObject toJSONObject(String p0){ return null; }
public static JSONObject toJSONObject(String p0, XMLParserConfiguration p1){ return null; }
public static JSONObject toJSONObject(String p0, boolean p1){ return null; }
public static Object stringToValue(String p0){ return null; }
public static Object stringToValue(String p0, XMLXsiTypeConverter<? extends Object> p1){ return null; }
public static String NULL_ATTR = null;
public static String TYPE_ATTR = null;
public static String escape(String p0){ return null; }
public static String toString(Object p0){ return null; }
public static String toString(Object p0, String p1){ return null; }
public static String toString(Object p0, String p1, XMLParserConfiguration p2){ return null; }
public static String unescape(String p0){ return null; }
public static void noSpace(String p0){}
}
org.json.XMLParserConfiguration<6F>
// Generated automatically from org.json.XMLParserConfiguration for testing purposes
package org.json;
import java.util.Map;
import org.json.XMLXsiTypeConverter;
public class XMLParserConfiguration
{
protected XMLParserConfiguration clone(){ return null; }
public Map<String, XMLXsiTypeConverter<? extends Object>> getXsiTypeMap(){ return null; }
public String getcDataTagName(){ return null; }
public XMLParserConfiguration withConvertNilAttributeToNull(boolean p0){ return null; }
public XMLParserConfiguration withKeepStrings(boolean p0){ return null; }
public XMLParserConfiguration withXsiTypeMap(Map<String, XMLXsiTypeConverter<? extends Object>> p0){ return null; }
public XMLParserConfiguration withcDataTagName(String p0){ return null; }
public XMLParserConfiguration(){}
public XMLParserConfiguration(String p0){}
public XMLParserConfiguration(boolean p0){}
public XMLParserConfiguration(boolean p0, String p1){}
public XMLParserConfiguration(boolean p0, String p1, boolean p2){}
public boolean isConvertNilAttributeToNull(){ return false; }
public boolean isKeepStrings(){ return false; }
public static XMLParserConfiguration KEEP_STRINGS = null;
public static XMLParserConfiguration ORIGINAL = null;
}
org.json.XMLTokener<65>// Generated automatically from org.json.XMLTokener for testing purposes
package org.json;
import java.io.Reader;
import java.util.HashMap;
import org.json.JSONTokener;
public class XMLTokener extends JSONTokener
{
protected XMLTokener() {}
public Object nextContent(){ return null; }
public Object nextEntity(char p0){ return null; }
public Object nextMeta(){ return null; }
public Object nextToken(){ return null; }
public String nextCDATA(){ return null; }
public XMLTokener(Reader p0){}
public XMLTokener(String p0){}
public static HashMap<String, Character> entity = null;
public void skipPast(String p0){}
static String unescapeEntity(String p0){ return null; }
}
org.json.XMLXsiTypeConverter<65>// Generated automatically from org.json.XMLXsiTypeConverter for testing purposes
package org.json;
public interface XMLXsiTypeConverter<T>
{
T convert(String p0);
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,53 @@
import java
import semmle.code.java.dataflow.DataFlow
import semmle.code.java.dataflow.ExternalFlow
import semmle.code.java.dataflow.TaintTracking
import TestUtilities.InlineExpectationsTest
class ValueFlowConf extends DataFlow::Configuration {
ValueFlowConf() { this = "qltest:valueFlowConf" }
override predicate isSource(DataFlow::Node n) {
n.asExpr().(MethodAccess).getMethod().hasName("source")
}
override predicate isSink(DataFlow::Node n) {
n.asExpr().(Argument).getCall().getCallee().hasName("sink")
}
}
class TaintFlowConf extends TaintTracking::Configuration {
TaintFlowConf() { this = "qltest:taintFlowConf" }
override predicate isSource(DataFlow::Node n) {
n.asExpr().(MethodAccess).getMethod().hasName("source")
}
override predicate isSink(DataFlow::Node n) {
n.asExpr().(Argument).getCall().getCallee().hasName("sink")
}
}
class HasFlowTest extends InlineExpectationsTest {
HasFlowTest() { this = "HasFlowTest" }
override string getARelevantTag() { result = ["hasValueFlow", "hasTaintFlow"] }
override predicate hasActualResult(Location location, string element, string tag, string value) {
tag = "hasValueFlow" and
exists(DataFlow::Node src, DataFlow::Node sink, ValueFlowConf conf | conf.hasFlow(src, sink) |
sink.getLocation() = location and
element = sink.toString() and
value = ""
)
or
tag = "hasTaintFlow" and
exists(DataFlow::Node src, DataFlow::Node sink, TaintFlowConf conf |
conf.hasFlow(src, sink) and not any(ValueFlowConf c).hasFlow(src, sink)
|
sink.getLocation() = location and
element = sink.toString() and
value = ""
)
}
}

View File

@@ -0,0 +1,21 @@
// Generated automatically from org.json.CDL for testing purposes
package org.json;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONTokener;
public class CDL
{
public CDL(){}
public static JSONArray rowToJSONArray(JSONTokener p0){ return null; }
public static JSONArray toJSONArray(JSONArray p0, JSONTokener p1){ return null; }
public static JSONArray toJSONArray(JSONArray p0, String p1){ return null; }
public static JSONArray toJSONArray(JSONTokener p0){ return null; }
public static JSONArray toJSONArray(String p0){ return null; }
public static JSONObject rowToJSONObject(JSONArray p0, JSONTokener p1){ return null; }
public static String rowToString(JSONArray p0){ return null; }
public static String toString(JSONArray p0){ return null; }
public static String toString(JSONArray p0, JSONArray p1){ return null; }
}

View File

@@ -0,0 +1,14 @@
// Generated automatically from org.json.Cookie for testing purposes
package org.json;
import org.json.JSONObject;
public class Cookie
{
public Cookie(){}
public static JSONObject toJSONObject(String p0){ return null; }
public static String escape(String p0){ return null; }
public static String toString(JSONObject p0){ return null; }
public static String unescape(String p0){ return null; }
}

View File

@@ -0,0 +1,12 @@
// Generated automatically from org.json.CookieList for testing purposes
package org.json;
import org.json.JSONObject;
public class CookieList
{
public CookieList(){}
public static JSONObject toJSONObject(String p0){ return null; }
public static String toString(JSONObject p0){ return null; }
}

View File

@@ -0,0 +1,13 @@
// Generated automatically from org.json.HTTP for testing purposes
package org.json;
import org.json.JSONObject;
public class HTTP
{
public HTTP(){}
public static JSONObject toJSONObject(String p0){ return null; }
public static String CRLF = null;
public static String toString(JSONObject p0){ return null; }
}

View File

@@ -0,0 +1,12 @@
// Generated automatically from org.json.HTTPTokener for testing purposes
package org.json;
import org.json.JSONTokener;
public class HTTPTokener extends JSONTokener
{
protected HTTPTokener() {}
public HTTPTokener(String p0){}
public String nextToken(){ return null; }
}

View File

@@ -0,0 +1,98 @@
// Generated automatically from org.json.JSONArray for testing purposes
package org.json;
import java.io.Writer;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.json.JSONObject;
import org.json.JSONPointer;
import org.json.JSONTokener;
public class JSONArray implements Iterable<Object>
{
public <E extends Enum<E>> E getEnum(Class<E> p0, int p1){ return null; }
public <E extends Enum<E>> E optEnum(Class<E> p0, int p1){ return null; }
public <E extends Enum<E>> E optEnum(Class<E> p0, int p1, E p2){ return null; }
public BigDecimal getBigDecimal(int p0){ return null; }
public BigDecimal optBigDecimal(int p0, BigDecimal p1){ return null; }
public BigInteger getBigInteger(int p0){ return null; }
public BigInteger optBigInteger(int p0, BigInteger p1){ return null; }
public Iterator<Object> iterator(){ return null; }
public JSONArray getJSONArray(int p0){ return null; }
public JSONArray optJSONArray(int p0){ return null; }
public JSONArray put(Collection<? extends Object> p0){ return null; }
public JSONArray put(Map<? extends Object, ? extends Object> p0){ return null; }
public JSONArray put(Object p0){ return null; }
public JSONArray put(boolean p0){ return null; }
public JSONArray put(double p0){ return null; }
public JSONArray put(float p0){ return null; }
public JSONArray put(int p0){ return null; }
public JSONArray put(int p0, Collection<? extends Object> p1){ return null; }
public JSONArray put(int p0, Map<? extends Object, ? extends Object> p1){ return null; }
public JSONArray put(int p0, Object p1){ return null; }
public JSONArray put(int p0, boolean p1){ return null; }
public JSONArray put(int p0, double p1){ return null; }
public JSONArray put(int p0, float p1){ return null; }
public JSONArray put(int p0, int p1){ return null; }
public JSONArray put(int p0, long p1){ return null; }
public JSONArray put(long p0){ return null; }
public JSONArray putAll(Collection<? extends Object> p0){ return null; }
public JSONArray putAll(Iterable<? extends Object> p0){ return null; }
public JSONArray putAll(JSONArray p0){ return null; }
public JSONArray putAll(Object p0){ return null; }
public JSONArray(){}
public JSONArray(Collection<? extends Object> p0){}
public JSONArray(Iterable<? extends Object> p0){}
public JSONArray(JSONArray p0){}
public JSONArray(JSONTokener p0){}
public JSONArray(Object p0){}
public JSONArray(String p0){}
public JSONArray(int p0){}
public JSONObject getJSONObject(int p0){ return null; }
public JSONObject optJSONObject(int p0){ return null; }
public JSONObject toJSONObject(JSONArray p0){ return null; }
public List<Object> toList(){ return null; }
public Number getNumber(int p0){ return null; }
public Number optNumber(int p0){ return null; }
public Number optNumber(int p0, Number p1){ return null; }
public Object get(int p0){ return null; }
public Object opt(int p0){ return null; }
public Object optQuery(JSONPointer p0){ return null; }
public Object optQuery(String p0){ return null; }
public Object query(JSONPointer p0){ return null; }
public Object query(String p0){ return null; }
public Object remove(int p0){ return null; }
public String getString(int p0){ return null; }
public String join(String p0){ return null; }
public String optString(int p0){ return null; }
public String optString(int p0, String p1){ return null; }
public String toString(){ return null; }
public String toString(int p0){ return null; }
public Writer write(Writer p0){ return null; }
public Writer write(Writer p0, int p1, int p2){ return null; }
public boolean getBoolean(int p0){ return false; }
public boolean isEmpty(){ return false; }
public boolean isNull(int p0){ return false; }
public boolean optBoolean(int p0){ return false; }
public boolean optBoolean(int p0, boolean p1){ return false; }
public boolean similar(Object p0){ return false; }
public double getDouble(int p0){ return 0; }
public double optDouble(int p0){ return 0; }
public double optDouble(int p0, double p1){ return 0; }
public float getFloat(int p0){ return 0; }
public float optFloat(int p0){ return 0; }
public float optFloat(int p0, float p1){ return 0; }
public int getInt(int p0){ return 0; }
public int length(){ return 0; }
public int optInt(int p0){ return 0; }
public int optInt(int p0, int p1){ return 0; }
public long getLong(int p0){ return 0; }
public long optLong(int p0){ return 0; }
public long optLong(int p0, long p1){ return 0; }
public void clear(){}
}

View File

@@ -0,0 +1,12 @@
// Generated automatically from org.json.JSONException for testing purposes
package org.json;
public class JSONException extends RuntimeException
{
protected JSONException() {}
public JSONException(String p0){}
public JSONException(String p0, Throwable p1){}
public JSONException(Throwable p0){}
}

View File

@@ -0,0 +1,22 @@
// Generated automatically from org.json.JSONML for testing purposes
package org.json;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.XMLTokener;
public class JSONML
{
public JSONML(){}
public static JSONArray toJSONArray(String p0){ return null; }
public static JSONArray toJSONArray(String p0, boolean p1){ return null; }
public static JSONArray toJSONArray(XMLTokener p0){ return null; }
public static JSONArray toJSONArray(XMLTokener p0, boolean p1){ return null; }
public static JSONObject toJSONObject(String p0){ return null; }
public static JSONObject toJSONObject(String p0, boolean p1){ return null; }
public static JSONObject toJSONObject(XMLTokener p0){ return null; }
public static JSONObject toJSONObject(XMLTokener p0, boolean p1){ return null; }
public static String toString(JSONArray p0){ return null; }
public static String toString(JSONObject p0){ return null; }
}

View File

@@ -0,0 +1,116 @@
// Generated automatically from org.json.JSONObject for testing purposes
package org.json;
import java.io.Writer;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Collection;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
import org.json.JSONArray;
import org.json.JSONPointer;
import org.json.JSONTokener;
public class JSONObject
{
protected JSONObject(int p0){}
protected Set<Map.Entry<String, Object>> entrySet(){ return null; }
protected static Number stringToNumber(String p0){ return null; }
protected static boolean isDecimalNotation(String p0){ return false; }
public <E extends Enum<E>> E getEnum(Class<E> p0, String p1){ return null; }
public <E extends Enum<E>> E optEnum(Class<E> p0, String p1){ return null; }
public <E extends Enum<E>> E optEnum(Class<E> p0, String p1, E p2){ return null; }
public BigDecimal getBigDecimal(String p0){ return null; }
public BigDecimal optBigDecimal(String p0, BigDecimal p1){ return null; }
public BigInteger getBigInteger(String p0){ return null; }
public BigInteger optBigInteger(String p0, BigInteger p1){ return null; }
public Iterator<String> keys(){ return null; }
public JSONArray getJSONArray(String p0){ return null; }
public JSONArray names(){ return null; }
public JSONArray optJSONArray(String p0){ return null; }
public JSONArray toJSONArray(JSONArray p0){ return null; }
public JSONObject accumulate(String p0, Object p1){ return null; }
public JSONObject append(String p0, Object p1){ return null; }
public JSONObject getJSONObject(String p0){ return null; }
public JSONObject increment(String p0){ return null; }
public JSONObject optJSONObject(String p0){ return null; }
public JSONObject put(String p0, Collection<? extends Object> p1){ return null; }
public JSONObject put(String p0, Map<? extends Object, ? extends Object> p1){ return null; }
public JSONObject put(String p0, Object p1){ return null; }
public JSONObject put(String p0, boolean p1){ return null; }
public JSONObject put(String p0, double p1){ return null; }
public JSONObject put(String p0, float p1){ return null; }
public JSONObject put(String p0, int p1){ return null; }
public JSONObject put(String p0, long p1){ return null; }
public JSONObject putOnce(String p0, Object p1){ return null; }
public JSONObject putOpt(String p0, Object p1){ return null; }
public JSONObject(){}
public JSONObject(JSONObject p0, String... p1){}
public JSONObject(JSONTokener p0){}
public JSONObject(Map<? extends Object, ? extends Object> p0){}
public JSONObject(Object p0){}
public JSONObject(Object p0, String... p1){}
public JSONObject(String p0){}
public JSONObject(String p0, Locale p1){}
public Map<String, Object> toMap(){ return null; }
public Number getNumber(String p0){ return null; }
public Number optNumber(String p0){ return null; }
public Number optNumber(String p0, Number p1){ return null; }
public Object get(String p0){ return null; }
public Object opt(String p0){ return null; }
public Object optQuery(JSONPointer p0){ return null; }
public Object optQuery(String p0){ return null; }
public Object query(JSONPointer p0){ return null; }
public Object query(String p0){ return null; }
public Object remove(String p0){ return null; }
public Set<String> keySet(){ return null; }
public String getString(String p0){ return null; }
public String optString(String p0){ return null; }
public String optString(String p0, String p1){ return null; }
public String toString(){ return null; }
public String toString(int p0){ return null; }
public Writer write(Writer p0){ return null; }
public Writer write(Writer p0, int p1, int p2){ return null; }
public boolean getBoolean(String p0){ return false; }
public boolean has(String p0){ return false; }
public boolean isEmpty(){ return false; }
public boolean isNull(String p0){ return false; }
public boolean optBoolean(String p0){ return false; }
public boolean optBoolean(String p0, boolean p1){ return false; }
public boolean similar(Object p0){ return false; }
public double getDouble(String p0){ return 0; }
public double optDouble(String p0){ return 0; }
public double optDouble(String p0, double p1){ return 0; }
public float getFloat(String p0){ return 0; }
public float optFloat(String p0){ return 0; }
public float optFloat(String p0, float p1){ return 0; }
public int getInt(String p0){ return 0; }
public int length(){ return 0; }
public int optInt(String p0){ return 0; }
public int optInt(String p0, int p1){ return 0; }
public long getLong(String p0){ return 0; }
public long optLong(String p0){ return 0; }
public long optLong(String p0, long p1){ return 0; }
public static Object NULL = null;
public static Object stringToValue(String p0){ return null; }
public static Object wrap(Object p0){ return null; }
public static String doubleToString(double p0){ return null; }
public static String numberToString(Number p0){ return null; }
public static String quote(String p0){ return null; }
public static String valueToString(Object p0){ return null; }
public static String[] getNames(JSONObject p0){ return null; }
public static String[] getNames(Object p0){ return null; }
public static Writer quote(String p0, Writer p1){ return null; }
public static void testValidity(Object p0){}
public void clear(){}
static BigDecimal objectToBigDecimal(Object p0, BigDecimal p1){ return null; }
static BigInteger objectToBigInteger(Object p0, BigInteger p1){ return null; }
static Pattern NUMBER_PATTERN = null;
static Writer writeValue(Writer p0, Object p1, int p2, int p3){ return null; }
static boolean isNumberSimilar(Number p0, Number p1){ return false; }
static void indent(Writer p0, int p1){}
}

View File

@@ -0,0 +1,23 @@
// Generated automatically from org.json.JSONPointer for testing purposes
package org.json;
import java.util.List;
public class JSONPointer
{
protected JSONPointer() {}
public JSONPointer(List<String> p0){}
public JSONPointer(String p0){}
public Object queryFrom(Object p0){ return null; }
public String toString(){ return null; }
public String toURIFragment(){ return null; }
public static JSONPointer.Builder builder(){ return null; }
static public class Builder
{
public Builder(){}
public JSONPointer build(){ return null; }
public JSONPointer.Builder append(String p0){ return null; }
public JSONPointer.Builder append(int p0){ return null; }
}
}

View File

@@ -0,0 +1,9 @@
// Generated automatically from org.json.JSONString for testing purposes
package org.json;
public interface JSONString
{
String toJSONString();
}

View File

@@ -0,0 +1,11 @@
// Generated automatically from org.json.JSONStringer for testing purposes
package org.json;
import org.json.JSONWriter;
public class JSONStringer extends JSONWriter
{
public JSONStringer(){}
public String toString(){ return null; }
}

View File

@@ -0,0 +1,31 @@
// Generated automatically from org.json.JSONTokener for testing purposes
package org.json;
import java.io.InputStream;
import java.io.Reader;
import org.json.JSONException;
public class JSONTokener
{
protected JSONTokener() {}
public JSONException syntaxError(String p0){ return null; }
public JSONException syntaxError(String p0, Throwable p1){ return null; }
public JSONTokener(InputStream p0){}
public JSONTokener(Reader p0){}
public JSONTokener(String p0){}
public Object nextValue(){ return null; }
public String next(int p0){ return null; }
public String nextString(char p0){ return null; }
public String nextTo(String p0){ return null; }
public String nextTo(char p0){ return null; }
public String toString(){ return null; }
public boolean end(){ return false; }
public boolean more(){ return false; }
public char next(){ return '0'; }
public char next(char p0){ return '0'; }
public char nextClean(){ return '0'; }
public char skipTo(char p0){ return '0'; }
public static int dehexchar(char p0){ return 0; }
public void back(){}
}

View File

@@ -0,0 +1,22 @@
// Generated automatically from org.json.JSONWriter for testing purposes
package org.json;
public class JSONWriter
{
protected JSONWriter() {}
protected Appendable writer = null;
protected char mode = '0';
public JSONWriter array(){ return null; }
public JSONWriter endArray(){ return null; }
public JSONWriter endObject(){ return null; }
public JSONWriter key(String p0){ return null; }
public JSONWriter object(){ return null; }
public JSONWriter value(Object p0){ return null; }
public JSONWriter value(boolean p0){ return null; }
public JSONWriter value(double p0){ return null; }
public JSONWriter value(long p0){ return null; }
public JSONWriter(Appendable p0){}
public static String valueToString(Object p0){ return null; }
}

View File

@@ -0,0 +1,13 @@
// Generated automatically from org.json.Property for testing purposes
package org.json;
import java.util.Properties;
import org.json.JSONObject;
public class Property
{
public Property(){}
public static JSONObject toJSONObject(Properties p0){ return null; }
public static Properties toProperties(JSONObject p0){ return null; }
}

View File

@@ -0,0 +1,38 @@
// Generated automatically from org.json.XML for testing purposes
package org.json;
import java.io.Reader;
import org.json.JSONObject;
import org.json.XMLParserConfiguration;
import org.json.XMLXsiTypeConverter;
public class XML
{
public XML(){}
public static Character AMP = null;
public static Character APOS = null;
public static Character BANG = null;
public static Character EQ = null;
public static Character GT = null;
public static Character LT = null;
public static Character QUEST = null;
public static Character QUOT = null;
public static Character SLASH = null;
public static JSONObject toJSONObject(Reader p0){ return null; }
public static JSONObject toJSONObject(Reader p0, XMLParserConfiguration p1){ return null; }
public static JSONObject toJSONObject(Reader p0, boolean p1){ return null; }
public static JSONObject toJSONObject(String p0){ return null; }
public static JSONObject toJSONObject(String p0, XMLParserConfiguration p1){ return null; }
public static JSONObject toJSONObject(String p0, boolean p1){ return null; }
public static Object stringToValue(String p0){ return null; }
public static Object stringToValue(String p0, XMLXsiTypeConverter<? extends Object> p1){ return null; }
public static String NULL_ATTR = null;
public static String TYPE_ATTR = null;
public static String escape(String p0){ return null; }
public static String toString(Object p0){ return null; }
public static String toString(Object p0, String p1){ return null; }
public static String toString(Object p0, String p1, XMLParserConfiguration p2){ return null; }
public static String unescape(String p0){ return null; }
public static void noSpace(String p0){}
}

View File

@@ -0,0 +1,26 @@
// Generated automatically from org.json.XMLParserConfiguration for testing purposes
package org.json;
import java.util.Map;
import org.json.XMLXsiTypeConverter;
public class XMLParserConfiguration
{
protected XMLParserConfiguration clone(){ return null; }
public Map<String, XMLXsiTypeConverter<? extends Object>> getXsiTypeMap(){ return null; }
public String getcDataTagName(){ return null; }
public XMLParserConfiguration withConvertNilAttributeToNull(boolean p0){ return null; }
public XMLParserConfiguration withKeepStrings(boolean p0){ return null; }
public XMLParserConfiguration withXsiTypeMap(Map<String, XMLXsiTypeConverter<? extends Object>> p0){ return null; }
public XMLParserConfiguration withcDataTagName(String p0){ return null; }
public XMLParserConfiguration(){}
public XMLParserConfiguration(String p0){}
public XMLParserConfiguration(boolean p0){}
public XMLParserConfiguration(boolean p0, String p1){}
public XMLParserConfiguration(boolean p0, String p1, boolean p2){}
public boolean isConvertNilAttributeToNull(){ return false; }
public boolean isKeepStrings(){ return false; }
public static XMLParserConfiguration KEEP_STRINGS = null;
public static XMLParserConfiguration ORIGINAL = null;
}

View File

@@ -0,0 +1,22 @@
// Generated automatically from org.json.XMLTokener for testing purposes
package org.json;
import java.io.Reader;
import java.util.HashMap;
import org.json.JSONTokener;
public class XMLTokener extends JSONTokener
{
protected XMLTokener() {}
public Object nextContent(){ return null; }
public Object nextEntity(char p0){ return null; }
public Object nextMeta(){ return null; }
public Object nextToken(){ return null; }
public String nextCDATA(){ return null; }
public XMLTokener(Reader p0){}
public XMLTokener(String p0){}
public static HashMap<String, Character> entity = null;
public void skipPast(String p0){}
static String unescapeEntity(String p0){ return null; }
}

View File

@@ -0,0 +1,9 @@
// Generated automatically from org.json.XMLXsiTypeConverter for testing purposes
package org.json;
public interface XMLXsiTypeConverter<T>
{
T convert(String p0);
}