mirror of
https://github.com/github/codeql.git
synced 2026-04-29 10:45:15 +02:00
Merge branch 'main' into maikypedia/ruby-ssti
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
private import SemanticExpr
|
||||
private import SemanticExprSpecific::SemanticExprConfig as Specific
|
||||
private import SemanticSSA
|
||||
private import SemanticLocation
|
||||
|
||||
/**
|
||||
* A valid base for an expression bound.
|
||||
@@ -14,6 +15,8 @@ private import SemanticSSA
|
||||
class SemBound instanceof Specific::Bound {
|
||||
final string toString() { result = super.toString() }
|
||||
|
||||
final SemLocation getLocation() { result = super.getLocation() }
|
||||
|
||||
final SemExpr getExpr(int delta) { result = Specific::getBoundExpr(this, delta) }
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
private import semmle.code.cpp.Location
|
||||
|
||||
class SemLocation instanceof Location {
|
||||
/**
|
||||
* Gets a textual representation of this element.
|
||||
*
|
||||
* The format is "file://filePath:startLine:startColumn:endLine:endColumn".
|
||||
*/
|
||||
string toString() { result = super.toString() }
|
||||
|
||||
/**
|
||||
* Holds if this element is at the specified location.
|
||||
* The location spans column `startcolumn` of line `startline` to
|
||||
* column `endcolumn` of line `endline` in file `filepath`.
|
||||
* For more information, see
|
||||
* [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
|
||||
*/
|
||||
predicate hasLocationInfo(
|
||||
string filepath, int startline, int startcolumn, int endline, int endcolumn
|
||||
) {
|
||||
super.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
private import RangeAnalysisStage
|
||||
|
||||
module IntDelta implements DeltaSig {
|
||||
class Delta = int;
|
||||
|
||||
bindingset[d]
|
||||
bindingset[result]
|
||||
float toFloat(Delta d) { result = d }
|
||||
|
||||
bindingset[d]
|
||||
bindingset[result]
|
||||
int toInt(Delta d) { result = d }
|
||||
|
||||
bindingset[n]
|
||||
bindingset[result]
|
||||
Delta fromInt(int n) { result = n }
|
||||
|
||||
bindingset[f]
|
||||
Delta fromFloat(float f) {
|
||||
result =
|
||||
min(float diff, float res |
|
||||
diff = (res - f) and res = f.ceil()
|
||||
or
|
||||
diff = (f - res) and res = f.floor()
|
||||
|
|
||||
res order by diff
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -1,24 +1,2 @@
|
||||
private import RangeAnalysisStage
|
||||
private import RangeAnalysisSpecific
|
||||
private import experimental.semmle.code.cpp.semantic.analysis.FloatDelta
|
||||
private import RangeUtils
|
||||
private import experimental.semmle.code.cpp.semantic.SemanticBound as SemanticBound
|
||||
|
||||
module Bounds implements BoundSig<FloatDelta> {
|
||||
class SemBound instanceof SemanticBound::SemBound {
|
||||
string toString() { result = super.toString() }
|
||||
|
||||
SemExpr getExpr(float delta) { result = super.getExpr(delta) }
|
||||
}
|
||||
|
||||
class SemZeroBound extends SemBound instanceof SemanticBound::SemZeroBound { }
|
||||
|
||||
class SemSsaBound extends SemBound instanceof SemanticBound::SemSsaBound {
|
||||
SemSsaVariable getAVariable() { result = this.(SemanticBound::SemSsaBound).getAVariable() }
|
||||
}
|
||||
}
|
||||
|
||||
private module CppRangeAnalysis =
|
||||
RangeStage<FloatDelta, Bounds, CppLangImpl, RangeUtil<FloatDelta, CppLangImpl>>;
|
||||
|
||||
import CppRangeAnalysis
|
||||
import RangeAnalysisImpl
|
||||
import experimental.semmle.code.cpp.semantic.SemanticBound
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
private import RangeAnalysisStage
|
||||
private import RangeAnalysisSpecific
|
||||
private import experimental.semmle.code.cpp.semantic.analysis.FloatDelta
|
||||
private import RangeUtils
|
||||
private import experimental.semmle.code.cpp.semantic.SemanticBound as SemanticBound
|
||||
private import experimental.semmle.code.cpp.semantic.SemanticLocation
|
||||
private import experimental.semmle.code.cpp.semantic.SemanticSSA
|
||||
|
||||
module ConstantBounds implements BoundSig<FloatDelta> {
|
||||
class SemBound instanceof SemanticBound::SemBound {
|
||||
SemBound() {
|
||||
this instanceof SemanticBound::SemZeroBound
|
||||
or
|
||||
this.(SemanticBound::SemSsaBound).getAVariable() instanceof SemSsaPhiNode
|
||||
}
|
||||
|
||||
string toString() { result = super.toString() }
|
||||
|
||||
SemLocation getLocation() { result = super.getLocation() }
|
||||
|
||||
SemExpr getExpr(float delta) { result = super.getExpr(delta) }
|
||||
}
|
||||
|
||||
class SemZeroBound extends SemBound instanceof SemanticBound::SemZeroBound { }
|
||||
|
||||
class SemSsaBound extends SemBound instanceof SemanticBound::SemSsaBound {
|
||||
SemSsaVariable getAVariable() { result = this.(SemanticBound::SemSsaBound).getAVariable() }
|
||||
}
|
||||
}
|
||||
|
||||
private module RelativeBounds implements BoundSig<FloatDelta> {
|
||||
class SemBound instanceof SemanticBound::SemBound {
|
||||
SemBound() { not this instanceof SemanticBound::SemZeroBound }
|
||||
|
||||
string toString() { result = super.toString() }
|
||||
|
||||
SemLocation getLocation() { result = super.getLocation() }
|
||||
|
||||
SemExpr getExpr(float delta) { result = super.getExpr(delta) }
|
||||
}
|
||||
|
||||
class SemZeroBound extends SemBound instanceof SemanticBound::SemZeroBound { }
|
||||
|
||||
class SemSsaBound extends SemBound instanceof SemanticBound::SemSsaBound {
|
||||
SemSsaVariable getAVariable() { result = this.(SemanticBound::SemSsaBound).getAVariable() }
|
||||
}
|
||||
}
|
||||
|
||||
private module ConstantStage =
|
||||
RangeStage<FloatDelta, ConstantBounds, CppLangImpl, RangeUtil<FloatDelta, CppLangImpl>>;
|
||||
|
||||
private module RelativeStage =
|
||||
RangeStage<FloatDelta, RelativeBounds, CppLangImpl, RangeUtil<FloatDelta, CppLangImpl>>;
|
||||
|
||||
private newtype TSemReason =
|
||||
TSemNoReason() or
|
||||
TSemCondReason(SemGuard guard) {
|
||||
guard = any(ConstantStage::SemCondReason reason).getCond()
|
||||
or
|
||||
guard = any(RelativeStage::SemCondReason reason).getCond()
|
||||
}
|
||||
|
||||
/**
|
||||
* A reason for an inferred bound. This can either be `CondReason` if the bound
|
||||
* is due to a specific condition, or `NoReason` if the bound is inferred
|
||||
* without going through a bounding condition.
|
||||
*/
|
||||
abstract class SemReason extends TSemReason {
|
||||
/** Gets a textual representation of this reason. */
|
||||
abstract string toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* A reason for an inferred bound that indicates that the bound is inferred
|
||||
* without going through a bounding condition.
|
||||
*/
|
||||
class SemNoReason extends SemReason, TSemNoReason {
|
||||
override string toString() { result = "NoReason" }
|
||||
}
|
||||
|
||||
/** A reason for an inferred bound pointing to a condition. */
|
||||
class SemCondReason extends SemReason, TSemCondReason {
|
||||
/** Gets the condition that is the reason for the bound. */
|
||||
SemGuard getCond() { this = TSemCondReason(result) }
|
||||
|
||||
override string toString() { result = getCond().toString() }
|
||||
}
|
||||
|
||||
private ConstantStage::SemReason constantReason(SemReason reason) {
|
||||
result instanceof ConstantStage::SemNoReason and reason instanceof SemNoReason
|
||||
or
|
||||
result.(ConstantStage::SemCondReason).getCond() = reason.(SemCondReason).getCond()
|
||||
}
|
||||
|
||||
private RelativeStage::SemReason relativeReason(SemReason reason) {
|
||||
result instanceof RelativeStage::SemNoReason and reason instanceof SemNoReason
|
||||
or
|
||||
result.(RelativeStage::SemCondReason).getCond() = reason.(SemCondReason).getCond()
|
||||
}
|
||||
|
||||
predicate semBounded(
|
||||
SemExpr e, SemanticBound::SemBound b, float delta, boolean upper, SemReason reason
|
||||
) {
|
||||
ConstantStage::semBounded(e, b, delta, upper, constantReason(reason))
|
||||
or
|
||||
RelativeStage::semBounded(e, b, delta, upper, relativeReason(reason))
|
||||
}
|
||||
@@ -73,6 +73,7 @@ import experimental.semmle.code.cpp.semantic.SemanticCFG
|
||||
import experimental.semmle.code.cpp.semantic.SemanticType
|
||||
import experimental.semmle.code.cpp.semantic.SemanticOpcode
|
||||
private import ConstantAnalysis
|
||||
import experimental.semmle.code.cpp.semantic.SemanticLocation
|
||||
|
||||
/**
|
||||
* Holds if `typ` is a small integral type with the given lower and upper bounds.
|
||||
@@ -228,6 +229,10 @@ signature module UtilSig<DeltaSig DeltaParam> {
|
||||
|
||||
signature module BoundSig<DeltaSig D> {
|
||||
class SemBound {
|
||||
string toString();
|
||||
|
||||
SemLocation getLocation();
|
||||
|
||||
SemExpr getExpr(D::Delta delta);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,12 +4,12 @@ import experimental.semmle.code.cpp.semantic.Semantic
|
||||
import experimental.semmle.code.cpp.semantic.analysis.RangeUtils
|
||||
import experimental.semmle.code.cpp.semantic.analysis.FloatDelta
|
||||
import experimental.semmle.code.cpp.semantic.analysis.RangeAnalysisSpecific
|
||||
import experimental.semmle.code.cpp.semantic.analysis.RangeAnalysis
|
||||
import experimental.semmle.code.cpp.semantic.analysis.RangeAnalysisImpl
|
||||
import semmle.code.cpp.ir.IR as IR
|
||||
import TestUtilities.InlineExpectationsTest
|
||||
|
||||
module ModulusAnalysisInstantiated =
|
||||
ModulusAnalysis<FloatDelta, Bounds, RangeUtil<FloatDelta, CppLangImpl>>;
|
||||
ModulusAnalysis<FloatDelta, ConstantBounds, RangeUtil<FloatDelta, CppLangImpl>>;
|
||||
|
||||
class ModulusAnalysisTest extends InlineExpectationsTest {
|
||||
ModulusAnalysisTest() { this = "ModulusAnalysisTest" }
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [7]_"
|
||||
Python [8]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11",Not applicable,``.py``
|
||||
Ruby [9]_,"up to 3.1",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``"
|
||||
TypeScript [10]_,"2.6-4.9",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``"
|
||||
TypeScript [10]_,"2.6-5.0",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``"
|
||||
|
||||
.. container:: footnote-group
|
||||
|
||||
|
||||
@@ -19,6 +19,16 @@ abstract class SafeExternalApiFunction extends Function { }
|
||||
/** DEPRECATED: Alias for SafeExternalApiFunction */
|
||||
deprecated class SafeExternalAPIFunction = SafeExternalApiFunction;
|
||||
|
||||
/**
|
||||
* A `Function` with one or more arguments that are considered "safe" from a security perspective.
|
||||
*/
|
||||
abstract class SafeExternalApiArgument extends Function {
|
||||
/**
|
||||
* Holds if `i` is a safe argument to this function.
|
||||
*/
|
||||
abstract predicate isSafeArgument(int i);
|
||||
}
|
||||
|
||||
private predicate isDefaultSafePackage(Package package) {
|
||||
package.getPath() in ["time", "unicode/utf8", package("gopkg.in/go-playground/validator", "")]
|
||||
}
|
||||
@@ -44,6 +54,16 @@ private class DefaultSafeExternalApiFunction extends SafeExternalApiFunction {
|
||||
}
|
||||
}
|
||||
|
||||
private class DefaultSafeExternalApiFunctionArgument extends SafeExternalApiArgument {
|
||||
int index;
|
||||
|
||||
DefaultSafeExternalApiFunctionArgument() {
|
||||
this.(Method).hasQualifiedName("net/http", "Header", ["Set", "Del"]) and index = -1
|
||||
}
|
||||
|
||||
override predicate isSafeArgument(int i) { i = index }
|
||||
}
|
||||
|
||||
/** Holds if `callNode` is a local function pointer. */
|
||||
private predicate isProbableLocalFunctionPointer(DataFlow::CallNode callNode) {
|
||||
// Not a method call
|
||||
@@ -77,7 +97,9 @@ class ExternalApiDataNode extends DataFlow::Node {
|
||||
// Not already modeled as a taint step
|
||||
not TaintTracking::localTaintStep(this, _) and
|
||||
// Not a call to a known safe external API
|
||||
not call.getTarget() instanceof SafeExternalApiFunction
|
||||
not call.getTarget() instanceof SafeExternalApiFunction and
|
||||
// Not a known safe argument to an external API
|
||||
not any(SafeExternalApiArgument seaa).isSafeArgument(i)
|
||||
}
|
||||
|
||||
/** Gets the called API `Function`. */
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* The receiver arguments of `net/http.Header.Set` and `.Del` are no longer flagged by query `go/untrusted-data-to-external-api`.
|
||||
@@ -25,6 +25,7 @@ com.hubspot.jinjava,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,
|
||||
com.mitchellbosecke.pebble,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,
|
||||
com.opensymphony.xwork2.ognl,3,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
com.rabbitmq.client,,21,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,7,
|
||||
com.thoughtworks.xstream,1,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,
|
||||
com.unboundid.ldap.sdk,17,,,,,,,,,,,,,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
com.zaxxer.hikari,2,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
flexjson,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
|
||||
@@ -32,16 +33,18 @@ freemarker.cache,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,
|
||||
freemarker.template,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,7,,,,,,,,,,,,
|
||||
groovy.lang,26,,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
groovy.util,5,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
hudson.remoting,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
|
||||
io.netty.resolver,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
|
||||
jakarta.faces.context,2,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,7,,
|
||||
jakarta.json,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,23
|
||||
jakarta.ws.rs.client,1,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
jakarta.ws.rs.container,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,,
|
||||
jakarta.ws.rs.core,2,,149,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,94,55
|
||||
java.beans,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
|
||||
java.io,42,,42,,17,,,,,,,,,,,,,,,3,,,,,,,,,,,,,22,,,,,,,,41,1
|
||||
java.io,42,,40,,17,,,,,,,,,,,,,,,3,,,,,,,,,,,,,22,,,,,,,,39,1
|
||||
java.lang,16,,76,,,,,,,,,,,,8,,,,,3,,4,,,1,,,,,,,,,,,,,,,,53,23
|
||||
java.net,10,3,9,,,,,,,,,,,,,,,10,,,,,,,,,,,,,,,,,,,,,,3,9,
|
||||
java.nio,16,,16,,13,,,,,,,,,,,,,,,1,,,,,,,,,,,,,2,,,,,,,,16,
|
||||
java.net,12,3,16,,,,,,,,,,,,,,,12,,,,,,,,,,,,,,,,,,,,,,3,16,
|
||||
java.nio,20,,15,,15,,,,,,,,,,,,,,,3,,,,,,,,,,,,,2,,,,,,,,15,
|
||||
java.sql,13,,2,,,,,,,,4,,,,,,,,,,,,,,,,,,9,,,,,,,,,,,,1,1
|
||||
java.util,44,,465,,,,,,,,,,,,34,,,,,,,,5,2,,1,2,,,,,,,,,,,,,,38,427
|
||||
javafx.scene.web,1,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
@@ -57,7 +60,7 @@ javax.validation,1,1,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,
|
||||
javax.ws.rs.client,1,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
javax.ws.rs.container,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,,
|
||||
javax.ws.rs.core,3,,149,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,94,55
|
||||
javax.xml.transform,1,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,6,
|
||||
javax.xml.transform,2,,6,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,6,
|
||||
javax.xml.xpath,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,
|
||||
jodd.json,,,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10
|
||||
kotlin,12,,1835,,10,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,1828,7
|
||||
@@ -67,8 +70,9 @@ okhttp3,2,,47,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,22,25
|
||||
org.apache.commons.codec,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,
|
||||
org.apache.commons.collections,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,783
|
||||
org.apache.commons.collections4,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,783
|
||||
org.apache.commons.compress.archivers.tar,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,
|
||||
org.apache.commons.io,106,,560,,91,,,,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,546,14
|
||||
org.apache.commons.compress.archivers.tar,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,
|
||||
org.apache.commons.io,107,,560,,91,,,,,,,,,,,,,15,,1,,,,,,,,,,,,,,,,,,,,,546,14
|
||||
org.apache.commons.jelly,6,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.apache.commons.jexl2,15,,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.apache.commons.jexl3,15,,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.apache.commons.lang3,6,,424,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,293,131
|
||||
@@ -88,6 +92,8 @@ org.apache.log4j,11,,,,,,,,,,,,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.apache.logging.log4j,359,,8,,,,,,,,,,,,359,,,,,,,,,,,,,,,,,,,,,,,,,,4,4
|
||||
org.apache.shiro.codec,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
|
||||
org.apache.shiro.jndi,1,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.apache.tools.ant,11,,,,3,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.apache.tools.zip,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
|
||||
org.apache.velocity.app,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,
|
||||
org.apache.velocity.runtime,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,
|
||||
org.codehaus.cargo.container.installer,3,,,,2,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
@@ -98,7 +104,9 @@ org.jboss.logging,324,,,,,,,,,,,,,,324,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.jdbi.v3.core,6,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.jooq,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,
|
||||
org.json,,,236,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,198,38
|
||||
org.kohsuke.stapler,3,,1,,,,,,,,,,,,,,,1,,1,,,,,,,,,,,,1,,,,,,,,,1,
|
||||
org.mvel2,16,,,,,,,,,,,,,,,16,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.openjdk.jmh.runner.options,1,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.scijava.log,13,,,,,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
org.slf4j,55,,6,,,,,,,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,2,4
|
||||
org.springframework.beans,,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,30
|
||||
|
||||
|
@@ -10,7 +10,7 @@ Java framework & library support
|
||||
Android,``android.*``,52,479,138,,,3,67,,,
|
||||
Android extensions,``androidx.*``,5,183,19,,,,,,,
|
||||
`Apache Commons Collections <https://commons.apache.org/proper/commons-collections/>`_,"``org.apache.commons.collections``, ``org.apache.commons.collections4``",,1600,,,,,,,,
|
||||
`Apache Commons IO <https://commons.apache.org/proper/commons-io/>`_,``org.apache.commons.io``,,560,106,91,,,,,,15
|
||||
`Apache Commons IO <https://commons.apache.org/proper/commons-io/>`_,``org.apache.commons.io``,,560,107,91,,,,,,15
|
||||
`Apache Commons Lang <https://commons.apache.org/proper/commons-lang/>`_,``org.apache.commons.lang3``,,424,6,,,,,,,
|
||||
`Apache Commons Text <https://commons.apache.org/proper/commons-text/>`_,``org.apache.commons.text``,,272,,,,,,,,
|
||||
`Apache HttpComponents <https://hc.apache.org/>`_,"``org.apache.hc.core5.*``, ``org.apache.http``",5,143,28,,,3,,,,25
|
||||
@@ -18,10 +18,10 @@ Java framework & library support
|
||||
`Google Guava <https://guava.dev/>`_,``com.google.common.*``,,728,39,,6,,,,,
|
||||
JBoss Logging,``org.jboss.logging``,,,324,,,,,,,
|
||||
`JSON-java <https://github.com/stleary/JSON-java>`_,``org.json``,,236,,,,,,,,
|
||||
Java Standard Library,``java.*``,3,611,141,30,,,9,,,10
|
||||
Java extensions,"``javax.*``, ``jakarta.*``",63,609,32,,,4,,1,1,2
|
||||
Java Standard Library,``java.*``,3,615,147,32,,,9,,,12
|
||||
Java extensions,"``javax.*``, ``jakarta.*``",63,609,33,1,,4,,1,1,2
|
||||
Kotlin Standard Library,``kotlin*``,,1835,12,10,,,,,,2
|
||||
`Spring <https://spring.io/>`_,``org.springframework.*``,29,477,101,,,,19,14,,29
|
||||
Others,"``cn.hutool.core.codec``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.fasterxml.jackson.core``, ``com.fasterxml.jackson.databind``, ``com.hubspot.jinjava``, ``com.mitchellbosecke.pebble``, ``com.opensymphony.xwork2.ognl``, ``com.rabbitmq.client``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``freemarker.cache``, ``freemarker.template``, ``groovy.lang``, ``groovy.util``, ``javafx.scene.web``, ``jodd.json``, ``net.sf.saxon.s9api``, ``ognl``, ``okhttp3``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.logging``, ``org.apache.commons.ognl``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.log4j``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.velocity.app``, ``org.apache.velocity.runtime``, ``org.codehaus.cargo.container.installer``, ``org.codehaus.groovy.control``, ``org.dom4j``, ``org.hibernate``, ``org.jdbi.v3.core``, ``org.jooq``, ``org.mvel2``, ``org.scijava.log``, ``org.slf4j``, ``org.thymeleaf``, ``org.xml.sax``, ``org.xmlpull.v1``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``retrofit2``",60,302,277,2,,,18,18,,5
|
||||
Totals,,217,8467,1582,133,6,10,113,33,1,88
|
||||
Others,"``cn.hutool.core.codec``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.fasterxml.jackson.core``, ``com.fasterxml.jackson.databind``, ``com.hubspot.jinjava``, ``com.mitchellbosecke.pebble``, ``com.opensymphony.xwork2.ognl``, ``com.rabbitmq.client``, ``com.thoughtworks.xstream``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``freemarker.cache``, ``freemarker.template``, ``groovy.lang``, ``groovy.util``, ``hudson.remoting``, ``io.netty.resolver``, ``javafx.scene.web``, ``jodd.json``, ``net.sf.saxon.s9api``, ``ognl``, ``okhttp3``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.logging``, ``org.apache.commons.ognl``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.log4j``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.apache.velocity.app``, ``org.apache.velocity.runtime``, ``org.codehaus.cargo.container.installer``, ``org.codehaus.groovy.control``, ``org.dom4j``, ``org.hibernate``, ``org.jdbi.v3.core``, ``org.jooq``, ``org.kohsuke.stapler``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.scijava.log``, ``org.slf4j``, ``org.thymeleaf``, ``org.xml.sax``, ``org.xmlpull.v1``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``retrofit2``",60,308,299,6,,,18,18,,12
|
||||
Totals,,217,8477,1612,140,6,10,113,33,1,97
|
||||
|
||||
|
||||
6
java/ql/lib/ext/com.thoughtworks.xstream.model.yml
Normal file
6
java/ql/lib/ext/com.thoughtworks.xstream.model.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: sinkModel
|
||||
data:
|
||||
- ["com.thoughtworks.xstream", "XStream", True, "fromXML", "(File)", "", "Argument[0]", "read-file", "ai-generated"]
|
||||
6
java/ql/lib/ext/hudson.remoting.model.yml
Normal file
6
java/ql/lib/ext/hudson.remoting.model.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["hudson.remoting", "URLDeserializationHelper", True, "wrapIfRequired", "(URL)", "", "Argument[0]", "ReturnValue", "taint", "ai-generated"]
|
||||
6
java/ql/lib/ext/io.netty.resolver.model.yml
Normal file
6
java/ql/lib/ext/io.netty.resolver.model.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["io.netty.resolver", "SimpleNameResolver", False, "resolve", "(String)", "", "Argument[0]", "ReturnValue", "taint", "ai-generated"]
|
||||
@@ -87,9 +87,7 @@ extensions:
|
||||
- ["java.io", "OutputStream", True, "write", "(byte[],int,int)", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
|
||||
- ["java.io", "OutputStream", True, "write", "(int)", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
|
||||
- ["java.io", "Reader", True, "read", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
|
||||
- ["java.io", "Reader", True, "read", "()", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
|
||||
- ["java.io", "StringReader", False, "StringReader", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
|
||||
- ["java.io", "Writer", True, "toString", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
|
||||
- ["java.io", "Writer", True, "write", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
|
||||
@@ -9,7 +9,9 @@ extensions:
|
||||
pack: codeql/java-all
|
||||
extensible: sinkModel
|
||||
data:
|
||||
- ["java.net", "DatagramSocket", True, "connect", "(SocketAddress)", "", "Argument[0]", "open-url", "ai-generated"]
|
||||
- ["java.net", "URL", False, "openConnection", "", "", "Argument[-1]", "open-url", "manual"]
|
||||
- ["java.net", "URL", False, "openConnection", "(Proxy)", "", "Argument[0]", "open-url", "ai-generated"]
|
||||
- ["java.net", "URL", False, "openStream", "", "", "Argument[-1]", "open-url", "manual"]
|
||||
- ["java.net", "URLClassLoader", False, "URLClassLoader", "(String,URL[],ClassLoader)", "", "Argument[1]", "open-url", "manual"]
|
||||
- ["java.net", "URLClassLoader", False, "URLClassLoader", "(String,URL[],ClassLoader,URLStreamHandlerFactory)", "", "Argument[1]", "open-url", "manual"]
|
||||
@@ -21,6 +23,11 @@ extensions:
|
||||
pack: codeql/java-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["java.net", "InetAddress", True, "getByName", "(String)", "", "Argument[0]", "ReturnValue", "taint", "ai-generated"]
|
||||
- ["java.net", "InetSocketAddress", True, "createUnresolved", "(String,int)", "", "Argument[0]", "ReturnValue", "taint", "ai-generated"]
|
||||
- ["java.net", "InetSocketAddress", True, "InetSocketAddress", "(String,int)", "", "Argument[0]", "Argument[-1]", "taint", "ai-generated"]
|
||||
- ["java.net", "URI", False, "resolve", "(String)", "", "Argument[0]", "ReturnValue", "taint", "ai-generated"]
|
||||
- ["java.net", "URI", False, "resolve", "(URI)", "", "Argument[0]", "ReturnValue", "taint", "ai-generated"]
|
||||
- ["java.net", "URI", False, "URI", "(String)", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
|
||||
- ["java.net", "URI", False, "create", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["java.net", "URI", False, "toASCIIString", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
|
||||
@@ -29,4 +36,6 @@ extensions:
|
||||
- ["java.net", "URL", False, "URL", "(String)", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
|
||||
- ["java.net", "URL", False, "toURI", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
|
||||
- ["java.net", "URL", False, "toExternalForm", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
|
||||
- ["java.net", "URL", False, "URL", "(URL,String)", "", "Argument[0]", "Argument[-1]", "taint", "ai-generated"]
|
||||
- ["java.net", "URL", False, "URL", "(URL,String)", "", "Argument[1]", "Argument[-1]", "taint", "ai-generated"] # @atorralba: review for consistency
|
||||
- ["java.net", "URLDecoder", False, "decode", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
|
||||
@@ -12,7 +12,11 @@ extensions:
|
||||
- ["java.nio.file", "Files", False, "createSymbolicLink", "", "", "Argument[0]", "create-file", "manual"]
|
||||
- ["java.nio.file", "Files", False, "createTempDirectory", "(Path,String,FileAttribute[])", "", "Argument[0]", "create-file", "manual"]
|
||||
- ["java.nio.file", "Files", False, "createTempFile", "(Path,String,String,FileAttribute[])", "", "Argument[0]", "create-file", "manual"]
|
||||
- ["java.nio.file", "Files", False, "delete", "(Path)", "", "Argument[0]", "create-file", "ai-generated"] # should be delete-file
|
||||
- ["java.nio.file", "Files", False, "deleteIfExists", "(Path)", "", "Argument[0]", "create-file", "ai-generated"] # should be delete-file
|
||||
- ["java.nio.file", "Files", False, "lines", "(Path,Charset)", "", "Argument[0]", "read-file", "ai-generated"]
|
||||
- ["java.nio.file", "Files", False, "move", "", "", "Argument[1]", "create-file", "manual"]
|
||||
- ["java.nio.file", "Files", False, "newBufferedReader", "(Path,Charset)", "", "Argument[0]", "read-file", "ai-generated"]
|
||||
- ["java.nio.file", "Files", False, "newBufferedWriter", "", "", "Argument[0]", "create-file", "manual"]
|
||||
- ["java.nio.file", "Files", False, "newOutputStream", "", "", "Argument[0]", "create-file", "manual"]
|
||||
- ["java.nio.file", "Files", False, "write", "", "", "Argument[0]", "create-file", "manual"]
|
||||
@@ -24,7 +28,6 @@ extensions:
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["java.nio.file", "FileSystem", True, "getPath", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["java.nio.file", "FileSystem", True, "getRootDirectories", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["java.nio.file", "Path", True, "getParent", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
|
||||
- ["java.nio.file", "Path", True, "normalize", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
|
||||
- ["java.nio.file", "Path", True, "resolve", "", "", "Argument[-1..0]", "ReturnValue", "taint", "manual"]
|
||||
|
||||
@@ -5,3 +5,8 @@ extensions:
|
||||
data:
|
||||
- ["javax.xml.transform.stream", "StreamSource", False, "StreamSource", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
|
||||
- ["javax.xml.transform.stream", "StreamSource", False, "getInputStream", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: sinkModel
|
||||
data:
|
||||
- ["javax.xml.transform.stream", "StreamResult", True, "StreamResult", "(File)", "", "Argument[0]", "create-file", "ai-generated"]
|
||||
|
||||
@@ -3,5 +3,7 @@ extensions:
|
||||
pack: codeql/java-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["org.apache.commons.compress.archivers.tar", "TarArchiveEntry", True, "TarArchiveEntry", "(String,boolean)", "", "Argument[0]", "Argument[-1]", "taint", "ai-generated"]
|
||||
- ["org.apache.commons.compress.archivers.tar", "TarArchiveEntry", True, "TarArchiveEntry", "(String)", "", "Argument[0]", "Argument[-1]", "taint", "ai-generated"]
|
||||
- ["org.apache.commons.compress.archivers.tar", "TarArchiveEntry", True, "TarArchiveEntry", "(String,boolean)", "", "Argument[0]", "Argument[-1]", "taint", "ai-generated"]
|
||||
- ["org.apache.commons.compress.archivers.tar", "TarArchiveEntry", True, "TarArchiveEntry", "(String,byte)", "", "Argument[0]", "Argument[-1]", "taint", "ai-generated"]
|
||||
- ["org.apache.commons.compress.archivers.tar", "TarArchiveEntry", True, "setLinkName", "(String)", "", "Argument[0]", "Argument[-1]", "taint", "ai-generated"]
|
||||
|
||||
@@ -12,3 +12,8 @@ extensions:
|
||||
- ["org.apache.commons.io", "IOUtils", True, "toByteArray", "(Reader,String)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["org.apache.commons.io", "IOUtils", True, "writeLines", "(Collection,String,Writer)", "", "Argument[0].Element", "Argument[2]", "taint", "manual"]
|
||||
- ["org.apache.commons.io", "IOUtils", True, "writeLines", "(Collection,String,Writer)", "", "Argument[1]", "Argument[2]", "taint", "manual"]
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: sinkModel
|
||||
data:
|
||||
- ["org.apache.commons.io", "FileUtils", True, "openInputStream", "(File)", "", "Argument[0]", "read-file", "ai-generated"]
|
||||
|
||||
11
java/ql/lib/ext/org.apache.commons.jelly.model.yml
Normal file
11
java/ql/lib/ext/org.apache.commons.jelly.model.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: sinkModel
|
||||
data:
|
||||
- ["org.apache.commons.jelly", "JellyContext", True, "JellyContext", "(JellyContext,URL,URL)", "", "Argument[1]", "open-url", "ai-generated"]
|
||||
- ["org.apache.commons.jelly", "JellyContext", True, "JellyContext", "(JellyContext,URL,URL)", "", "Argument[2]", "open-url", "ai-generated"]
|
||||
- ["org.apache.commons.jelly", "JellyContext", True, "JellyContext", "(JellyContext,URL)", "", "Argument[1]", "open-url", "ai-generated"]
|
||||
- ["org.apache.commons.jelly", "JellyContext", True, "JellyContext", "(URL,URL)", "", "Argument[0]", "open-url", "ai-generated"]
|
||||
- ["org.apache.commons.jelly", "JellyContext", True, "JellyContext", "(URL,URL)", "", "Argument[1]", "open-url", "ai-generated"]
|
||||
- ["org.apache.commons.jelly", "JellyContext", True, "JellyContext", "(URL)", "", "Argument[0]", "open-url", "ai-generated"]
|
||||
10
java/ql/lib/ext/org.apache.tools.ant.model.yml
Normal file
10
java/ql/lib/ext/org.apache.tools.ant.model.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: sinkModel
|
||||
data:
|
||||
- ["org.apache.tools.ant", "AntClassLoader", True, "addPathComponent", "(File)", "", "Argument[0]", "read-file", "ai-generated"]
|
||||
- ["org.apache.tools.ant", "AntClassLoader", True, "AntClassLoader", "(ClassLoader,Project,Path,boolean)", "", "Argument[2]", "read-file", "ai-generated"]
|
||||
- ["org.apache.tools.ant", "AntClassLoader", True, "AntClassLoader", "(Project,Path,boolean)", "", "Argument[1]", "read-file", "ai-generated"]
|
||||
- ["org.apache.tools.ant", "AntClassLoader", True, "AntClassLoader", "(Project,Path)", "", "Argument[1]", "read-file", "ai-generated"]
|
||||
- ["org.apache.tools.ant", "DirectoryScanner", True, "setBasedir", "(File)", "", "Argument[0]", "read-file", "ai-generated"]
|
||||
11
java/ql/lib/ext/org.apache.tools.ant.taskdefs.model.yml
Normal file
11
java/ql/lib/ext/org.apache.tools.ant.taskdefs.model.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: sinkModel
|
||||
data:
|
||||
- ["org.apache.tools.ant.taskdefs", "Copy", True, "addFileset", "(FileSet)", "", "Argument[0]", "read-file", "ai-generated"]
|
||||
- ["org.apache.tools.ant.taskdefs", "Copy", True, "setFile", "(File)", "", "Argument[0]", "read-file", "ai-generated"]
|
||||
- ["org.apache.tools.ant.taskdefs", "Copy", True, "setTodir", "(File)", "", "Argument[0]", "create-file", "ai-generated"]
|
||||
- ["org.apache.tools.ant.taskdefs", "Copy", True, "setTofile", "(File)", "", "Argument[0]", "create-file", "ai-generated"]
|
||||
- ["org.apache.tools.ant.taskdefs", "Expand", True, "setDest", "(File)", "", "Argument[0]", "create-file", "ai-generated"]
|
||||
- ["org.apache.tools.ant.taskdefs", "Expand", True, "setSrc", "(File)", "", "Argument[0]", "read-file", "ai-generated"]
|
||||
6
java/ql/lib/ext/org.apache.tools.zip.model.yml
Normal file
6
java/ql/lib/ext/org.apache.tools.zip.model.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["org.apache.tools.zip", "ZipEntry", True, "ZipEntry", "(String)", "", "Argument[0]", "Argument[-1]", "taint", "ai-generated"]
|
||||
@@ -0,0 +1,6 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["org.kohsuke.stapler.framework.adjunct", "AdjunctManager", True, "AdjunctManager", "(ServletContext,ClassLoader,String,long)", "", "Argument[2]", "Argument[-1].Field[org.kohsuke.stapler.framework.adjunct.AdjunctManager.rootURL]", "taint", "ai-generated"] # the class never accesses the URL, but the field is public
|
||||
@@ -0,0 +1,6 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: sinkModel
|
||||
data:
|
||||
- ["org.kohsuke.stapler.framework.io", "LargeText", True, "LargeText", "(File,Charset,boolean,boolean)", "", "Argument[0]", "read-file", "ai-generated"]
|
||||
7
java/ql/lib/ext/org.kohsuke.stapler.model.yml
Normal file
7
java/ql/lib/ext/org.kohsuke.stapler.model.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: sinkModel
|
||||
data:
|
||||
- ["org.kohsuke.stapler", "HttpResponses", True, "redirectTo", "(String)", "", "Argument[0]", "url-redirect", "ai-generated"]
|
||||
- ["org.kohsuke.stapler", "HttpResponses", True, "staticResource", "(URL)", "", "Argument[0]", "open-url", "ai-generated"]
|
||||
6
java/ql/lib/ext/org.openjdk.jmh.runner.options.model.yml
Normal file
6
java/ql/lib/ext/org.openjdk.jmh.runner.options.model.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-all
|
||||
extensible: sinkModel
|
||||
data:
|
||||
- ["org.openjdk.jmh.runner.options", "ChainedOptionsBuilder", True, "result", "(String)", "", "Argument[0]", "create-file", "ai-generated"]
|
||||
@@ -537,17 +537,13 @@ final class ClassInterfaceNode extends ElementNode {
|
||||
or
|
||||
childIndex >= 0 and
|
||||
result.(ElementNode).getElement() =
|
||||
rank[childIndex](Element e, string file, int line, int column, string childStr, int argCount |
|
||||
rank[childIndex](Element e, string file, int line, int column, string childStr, string sig |
|
||||
e = this.getADeclaration() and
|
||||
locationSortKeys(e, file, line, column) and
|
||||
childStr = e.toString() and
|
||||
(
|
||||
if e instanceof Callable
|
||||
then argCount = e.(Callable).getNumberOfParameters()
|
||||
else argCount = 0
|
||||
)
|
||||
(if e instanceof Callable then sig = e.(Callable).getStringSignature() else sig = "")
|
||||
|
|
||||
e order by file, line, column, childStr, argCount
|
||||
e order by file, line, column, childStr, sig
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,29 +13,6 @@ test.kt:
|
||||
# 45| 0: [TypeAccess] Test
|
||||
# 45| 1: [Parameter] a
|
||||
# 45| 0: [TypeAccess] int
|
||||
# 45| 2: [Parameter] c
|
||||
# 45| 0: [TypeAccess] double
|
||||
# 45| 3: [Parameter] e
|
||||
# 45| 0: [TypeAccess] boolean
|
||||
# 45| 5: [BlockStmt] { ... }
|
||||
# 45| 0: [ReturnStmt] return ...
|
||||
# 45| 0: [MethodAccess] testExtensionFunction$default(...)
|
||||
# 45| -1: [TypeAccess] TestKt
|
||||
# 0| 0: [ExtensionReceiverAccess] this
|
||||
# 0| 1: [VarAccess] a
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] c
|
||||
# 1| 4: [FloatLiteral] 0.0
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 21
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 45| 3: [ExtensionMethod] testExtensionFunction
|
||||
# 45| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 45| 0: [Parameter] <this>
|
||||
# 45| 0: [TypeAccess] Test
|
||||
# 45| 1: [Parameter] a
|
||||
# 45| 0: [TypeAccess] int
|
||||
# 45| 2: [Parameter] b
|
||||
# 45| 0: [TypeAccess] String
|
||||
# 45| 3: [Parameter] c
|
||||
@@ -54,7 +31,7 @@ test.kt:
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 23
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 45| 4: [ExtensionMethod] testExtensionFunction
|
||||
# 45| 3: [ExtensionMethod] testExtensionFunction
|
||||
#-----| 1: (Annotations)
|
||||
# 44| 1: [Annotation] JvmOverloads
|
||||
# 45| 3: [TypeAccess] int
|
||||
@@ -74,6 +51,29 @@ test.kt:
|
||||
# 45| 5: [BlockStmt] { ... }
|
||||
# 45| 0: [ReturnStmt] return ...
|
||||
# 45| 0: [VarAccess] a
|
||||
# 45| 4: [ExtensionMethod] testExtensionFunction
|
||||
# 45| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 45| 0: [Parameter] <this>
|
||||
# 45| 0: [TypeAccess] Test
|
||||
# 45| 1: [Parameter] a
|
||||
# 45| 0: [TypeAccess] int
|
||||
# 45| 2: [Parameter] c
|
||||
# 45| 0: [TypeAccess] double
|
||||
# 45| 3: [Parameter] e
|
||||
# 45| 0: [TypeAccess] boolean
|
||||
# 45| 5: [BlockStmt] { ... }
|
||||
# 45| 0: [ReturnStmt] return ...
|
||||
# 45| 0: [MethodAccess] testExtensionFunction$default(...)
|
||||
# 45| -1: [TypeAccess] TestKt
|
||||
# 0| 0: [ExtensionReceiverAccess] this
|
||||
# 0| 1: [VarAccess] a
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] c
|
||||
# 1| 4: [FloatLiteral] 0.0
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 21
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 45| 5: [ExtensionMethod] testExtensionFunction$default
|
||||
# 45| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
@@ -134,26 +134,6 @@ test.kt:
|
||||
#-----| 4: (Parameters)
|
||||
# 6| 0: [Parameter] a
|
||||
# 6| 0: [TypeAccess] int
|
||||
# 6| 1: [Parameter] c
|
||||
# 6| 0: [TypeAccess] double
|
||||
# 6| 2: [Parameter] e
|
||||
# 6| 0: [TypeAccess] boolean
|
||||
# 6| 5: [BlockStmt] { ... }
|
||||
# 6| 0: [ReturnStmt] return ...
|
||||
# 6| 0: [MethodAccess] testStaticFunction$default(...)
|
||||
# 6| -1: [TypeAccess] Test
|
||||
# 0| 0: [VarAccess] a
|
||||
# 1| 1: [NullLiteral] null
|
||||
# 0| 2: [VarAccess] c
|
||||
# 1| 3: [FloatLiteral] 0.0
|
||||
# 0| 4: [VarAccess] e
|
||||
# 1| 5: [IntegerLiteral] 21
|
||||
# 1| 6: [NullLiteral] null
|
||||
# 6| 3: [Method] testStaticFunction
|
||||
# 6| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 6| 0: [Parameter] a
|
||||
# 6| 0: [TypeAccess] int
|
||||
# 6| 1: [Parameter] b
|
||||
# 6| 0: [TypeAccess] String
|
||||
# 6| 2: [Parameter] c
|
||||
@@ -171,7 +151,7 @@ test.kt:
|
||||
# 0| 4: [VarAccess] e
|
||||
# 1| 5: [IntegerLiteral] 23
|
||||
# 1| 6: [NullLiteral] null
|
||||
# 6| 4: [Method] testStaticFunction
|
||||
# 6| 3: [Method] testStaticFunction
|
||||
#-----| 1: (Annotations)
|
||||
# 5| 1: [Annotation] JvmOverloads
|
||||
# 5| 2: [Annotation] JvmStatic
|
||||
@@ -190,6 +170,26 @@ test.kt:
|
||||
# 6| 5: [BlockStmt] { ... }
|
||||
# 6| 0: [ReturnStmt] return ...
|
||||
# 6| 0: [VarAccess] a
|
||||
# 6| 4: [Method] testStaticFunction
|
||||
# 6| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 6| 0: [Parameter] a
|
||||
# 6| 0: [TypeAccess] int
|
||||
# 6| 1: [Parameter] c
|
||||
# 6| 0: [TypeAccess] double
|
||||
# 6| 2: [Parameter] e
|
||||
# 6| 0: [TypeAccess] boolean
|
||||
# 6| 5: [BlockStmt] { ... }
|
||||
# 6| 0: [ReturnStmt] return ...
|
||||
# 6| 0: [MethodAccess] testStaticFunction$default(...)
|
||||
# 6| -1: [TypeAccess] Test
|
||||
# 0| 0: [VarAccess] a
|
||||
# 1| 1: [NullLiteral] null
|
||||
# 0| 2: [VarAccess] c
|
||||
# 1| 3: [FloatLiteral] 0.0
|
||||
# 0| 4: [VarAccess] e
|
||||
# 1| 5: [IntegerLiteral] 21
|
||||
# 1| 6: [NullLiteral] null
|
||||
# 6| 5: [Method] testStaticFunction$default
|
||||
# 6| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
@@ -242,27 +242,6 @@ test.kt:
|
||||
#-----| 4: (Parameters)
|
||||
# 9| 0: [Parameter] a
|
||||
# 9| 0: [TypeAccess] int
|
||||
# 9| 1: [Parameter] c
|
||||
# 9| 0: [TypeAccess] double
|
||||
# 9| 2: [Parameter] e
|
||||
# 9| 0: [TypeAccess] boolean
|
||||
# 9| 5: [BlockStmt] { ... }
|
||||
# 9| 0: [ReturnStmt] return ...
|
||||
# 9| 0: [MethodAccess] testMemberFunction$default(...)
|
||||
# 9| -1: [TypeAccess] Test
|
||||
# 0| 0: [ThisAccess] this
|
||||
# 0| 1: [VarAccess] a
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] c
|
||||
# 1| 4: [FloatLiteral] 0.0
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 21
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 9| 7: [Method] testMemberFunction
|
||||
# 9| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 9| 0: [Parameter] a
|
||||
# 9| 0: [TypeAccess] int
|
||||
# 9| 1: [Parameter] b
|
||||
# 9| 0: [TypeAccess] String
|
||||
# 9| 2: [Parameter] c
|
||||
@@ -281,7 +260,7 @@ test.kt:
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 23
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 9| 8: [Method] testMemberFunction
|
||||
# 9| 7: [Method] testMemberFunction
|
||||
#-----| 1: (Annotations)
|
||||
# 8| 1: [Annotation] JvmOverloads
|
||||
# 9| 3: [TypeAccess] int
|
||||
@@ -299,6 +278,27 @@ test.kt:
|
||||
# 9| 5: [BlockStmt] { ... }
|
||||
# 9| 0: [ReturnStmt] return ...
|
||||
# 9| 0: [VarAccess] a
|
||||
# 9| 8: [Method] testMemberFunction
|
||||
# 9| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 9| 0: [Parameter] a
|
||||
# 9| 0: [TypeAccess] int
|
||||
# 9| 1: [Parameter] c
|
||||
# 9| 0: [TypeAccess] double
|
||||
# 9| 2: [Parameter] e
|
||||
# 9| 0: [TypeAccess] boolean
|
||||
# 9| 5: [BlockStmt] { ... }
|
||||
# 9| 0: [ReturnStmt] return ...
|
||||
# 9| 0: [MethodAccess] testMemberFunction$default(...)
|
||||
# 9| -1: [TypeAccess] Test
|
||||
# 0| 0: [ThisAccess] this
|
||||
# 0| 1: [VarAccess] a
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] c
|
||||
# 1| 4: [FloatLiteral] 0.0
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 21
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 9| 9: [Method] testMemberFunction$default
|
||||
# 9| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
@@ -355,31 +355,6 @@ test.kt:
|
||||
# 12| 0: [TypeAccess] Test2
|
||||
# 12| 1: [Parameter] a
|
||||
# 12| 0: [TypeAccess] int
|
||||
# 12| 2: [Parameter] c
|
||||
# 12| 0: [TypeAccess] double
|
||||
# 12| 3: [Parameter] e
|
||||
# 12| 0: [TypeAccess] boolean
|
||||
# 12| 5: [BlockStmt] { ... }
|
||||
# 12| 0: [ReturnStmt] return ...
|
||||
# 12| 0: [MethodAccess] testMemberExtensionFunction$default(...)
|
||||
# 12| -1: [TypeAccess] Test
|
||||
# 0| 0: [ThisAccess] Test.this
|
||||
# 0| 0: [TypeAccess] Test
|
||||
# 0| 1: [ExtensionReceiverAccess] this
|
||||
# 0| 2: [VarAccess] a
|
||||
# 1| 3: [NullLiteral] null
|
||||
# 0| 4: [VarAccess] c
|
||||
# 1| 5: [FloatLiteral] 0.0
|
||||
# 0| 6: [VarAccess] e
|
||||
# 1| 7: [IntegerLiteral] 21
|
||||
# 1| 8: [NullLiteral] null
|
||||
# 12| 11: [ExtensionMethod] testMemberExtensionFunction
|
||||
# 12| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 12| 0: [Parameter] <this>
|
||||
# 12| 0: [TypeAccess] Test2
|
||||
# 12| 1: [Parameter] a
|
||||
# 12| 0: [TypeAccess] int
|
||||
# 12| 2: [Parameter] b
|
||||
# 12| 0: [TypeAccess] String
|
||||
# 12| 3: [Parameter] c
|
||||
@@ -400,7 +375,7 @@ test.kt:
|
||||
# 0| 6: [VarAccess] e
|
||||
# 1| 7: [IntegerLiteral] 23
|
||||
# 1| 8: [NullLiteral] null
|
||||
# 12| 12: [ExtensionMethod] testMemberExtensionFunction
|
||||
# 12| 11: [ExtensionMethod] testMemberExtensionFunction
|
||||
#-----| 1: (Annotations)
|
||||
# 11| 1: [Annotation] JvmOverloads
|
||||
# 12| 3: [TypeAccess] int
|
||||
@@ -420,6 +395,31 @@ test.kt:
|
||||
# 12| 5: [BlockStmt] { ... }
|
||||
# 12| 0: [ReturnStmt] return ...
|
||||
# 12| 0: [VarAccess] a
|
||||
# 12| 12: [ExtensionMethod] testMemberExtensionFunction
|
||||
# 12| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 12| 0: [Parameter] <this>
|
||||
# 12| 0: [TypeAccess] Test2
|
||||
# 12| 1: [Parameter] a
|
||||
# 12| 0: [TypeAccess] int
|
||||
# 12| 2: [Parameter] c
|
||||
# 12| 0: [TypeAccess] double
|
||||
# 12| 3: [Parameter] e
|
||||
# 12| 0: [TypeAccess] boolean
|
||||
# 12| 5: [BlockStmt] { ... }
|
||||
# 12| 0: [ReturnStmt] return ...
|
||||
# 12| 0: [MethodAccess] testMemberExtensionFunction$default(...)
|
||||
# 12| -1: [TypeAccess] Test
|
||||
# 0| 0: [ThisAccess] Test.this
|
||||
# 0| 0: [TypeAccess] Test
|
||||
# 0| 1: [ExtensionReceiverAccess] this
|
||||
# 0| 2: [VarAccess] a
|
||||
# 1| 3: [NullLiteral] null
|
||||
# 0| 4: [VarAccess] c
|
||||
# 1| 5: [FloatLiteral] 0.0
|
||||
# 0| 6: [VarAccess] e
|
||||
# 1| 7: [IntegerLiteral] 21
|
||||
# 1| 8: [NullLiteral] null
|
||||
# 12| 13: [ExtensionMethod] testMemberExtensionFunction$default
|
||||
# 12| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
@@ -477,23 +477,6 @@ test.kt:
|
||||
#-----| 4: (Parameters)
|
||||
# 16| 0: [Parameter] a
|
||||
# 16| 0: [TypeAccess] int
|
||||
# 16| 1: [Parameter] c
|
||||
# 16| 0: [TypeAccess] double
|
||||
# 16| 2: [Parameter] e
|
||||
# 16| 0: [TypeAccess] boolean
|
||||
# 16| 5: [BlockStmt] { ... }
|
||||
# 16| 0: [ThisConstructorInvocationStmt] this(...)
|
||||
# 0| 0: [VarAccess] a
|
||||
# 1| 1: [NullLiteral] null
|
||||
# 0| 2: [VarAccess] c
|
||||
# 1| 3: [FloatLiteral] 0.0
|
||||
# 0| 4: [VarAccess] e
|
||||
# 1| 5: [IntegerLiteral] 21
|
||||
# 1| 6: [NullLiteral] null
|
||||
# 16| 2: [Constructor] Test2
|
||||
#-----| 4: (Parameters)
|
||||
# 16| 0: [Parameter] a
|
||||
# 16| 0: [TypeAccess] int
|
||||
# 16| 1: [Parameter] b
|
||||
# 16| 0: [TypeAccess] String
|
||||
# 16| 2: [Parameter] c
|
||||
@@ -509,7 +492,7 @@ test.kt:
|
||||
# 0| 4: [VarAccess] e
|
||||
# 1| 5: [IntegerLiteral] 23
|
||||
# 1| 6: [NullLiteral] null
|
||||
# 16| 3: [Constructor] Test2
|
||||
# 16| 2: [Constructor] Test2
|
||||
#-----| 1: (Annotations)
|
||||
# 16| 1: [Annotation] JvmOverloads
|
||||
#-----| 4: (Parameters)
|
||||
@@ -526,7 +509,7 @@ test.kt:
|
||||
# 16| 5: [BlockStmt] { ... }
|
||||
# 16| 0: [SuperConstructorInvocationStmt] super(...)
|
||||
# 16| 1: [BlockStmt] { ... }
|
||||
# 16| 4: [Constructor] Test2
|
||||
# 16| 3: [Constructor] Test2
|
||||
#-----| 4: (Parameters)
|
||||
# 16| 0: [Parameter] p0
|
||||
# 16| 0: [TypeAccess] int
|
||||
@@ -570,6 +553,23 @@ test.kt:
|
||||
# 16| 2: [VarAccess] p2
|
||||
# 16| 3: [VarAccess] p3
|
||||
# 16| 4: [VarAccess] p4
|
||||
# 16| 4: [Constructor] Test2
|
||||
#-----| 4: (Parameters)
|
||||
# 16| 0: [Parameter] a
|
||||
# 16| 0: [TypeAccess] int
|
||||
# 16| 1: [Parameter] c
|
||||
# 16| 0: [TypeAccess] double
|
||||
# 16| 2: [Parameter] e
|
||||
# 16| 0: [TypeAccess] boolean
|
||||
# 16| 5: [BlockStmt] { ... }
|
||||
# 16| 0: [ThisConstructorInvocationStmt] this(...)
|
||||
# 0| 0: [VarAccess] a
|
||||
# 1| 1: [NullLiteral] null
|
||||
# 0| 2: [VarAccess] c
|
||||
# 1| 3: [FloatLiteral] 0.0
|
||||
# 0| 4: [VarAccess] e
|
||||
# 1| 5: [IntegerLiteral] 21
|
||||
# 1| 6: [NullLiteral] null
|
||||
# 18| 5: [Class] Companion
|
||||
# 18| 1: [Constructor] Companion
|
||||
# 18| 5: [BlockStmt] { ... }
|
||||
@@ -580,27 +580,6 @@ test.kt:
|
||||
#-----| 4: (Parameters)
|
||||
# 21| 0: [Parameter] a
|
||||
# 21| 0: [TypeAccess] int
|
||||
# 21| 1: [Parameter] c
|
||||
# 21| 0: [TypeAccess] double
|
||||
# 21| 2: [Parameter] e
|
||||
# 21| 0: [TypeAccess] boolean
|
||||
# 21| 5: [BlockStmt] { ... }
|
||||
# 21| 0: [ReturnStmt] return ...
|
||||
# 21| 0: [MethodAccess] testCompanionFunction$default(...)
|
||||
# 21| -1: [TypeAccess] Companion
|
||||
# 0| 0: [ThisAccess] this
|
||||
# 0| 1: [VarAccess] a
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] c
|
||||
# 1| 4: [FloatLiteral] 0.0
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 21
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 21| 3: [Method] testCompanionFunction
|
||||
# 21| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 21| 0: [Parameter] a
|
||||
# 21| 0: [TypeAccess] int
|
||||
# 21| 1: [Parameter] b
|
||||
# 21| 0: [TypeAccess] String
|
||||
# 21| 2: [Parameter] c
|
||||
@@ -619,7 +598,7 @@ test.kt:
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 23
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 21| 4: [Method] testCompanionFunction
|
||||
# 21| 3: [Method] testCompanionFunction
|
||||
#-----| 1: (Annotations)
|
||||
# 20| 1: [Annotation] JvmOverloads
|
||||
# 21| 3: [TypeAccess] int
|
||||
@@ -637,6 +616,27 @@ test.kt:
|
||||
# 21| 5: [BlockStmt] { ... }
|
||||
# 21| 0: [ReturnStmt] return ...
|
||||
# 21| 0: [VarAccess] a
|
||||
# 21| 4: [Method] testCompanionFunction
|
||||
# 21| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 21| 0: [Parameter] a
|
||||
# 21| 0: [TypeAccess] int
|
||||
# 21| 1: [Parameter] c
|
||||
# 21| 0: [TypeAccess] double
|
||||
# 21| 2: [Parameter] e
|
||||
# 21| 0: [TypeAccess] boolean
|
||||
# 21| 5: [BlockStmt] { ... }
|
||||
# 21| 0: [ReturnStmt] return ...
|
||||
# 21| 0: [MethodAccess] testCompanionFunction$default(...)
|
||||
# 21| -1: [TypeAccess] Companion
|
||||
# 0| 0: [ThisAccess] this
|
||||
# 0| 1: [VarAccess] a
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] c
|
||||
# 1| 4: [FloatLiteral] 0.0
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 21
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 21| 5: [Method] testCompanionFunction$default
|
||||
# 21| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
@@ -691,27 +691,6 @@ test.kt:
|
||||
#-----| 4: (Parameters)
|
||||
# 24| 0: [Parameter] a
|
||||
# 24| 0: [TypeAccess] int
|
||||
# 24| 1: [Parameter] c
|
||||
# 24| 0: [TypeAccess] double
|
||||
# 24| 2: [Parameter] e
|
||||
# 24| 0: [TypeAccess] boolean
|
||||
# 24| 5: [BlockStmt] { ... }
|
||||
# 24| 0: [ReturnStmt] return ...
|
||||
# 24| 0: [MethodAccess] testStaticCompanionFunction$default(...)
|
||||
# 24| -1: [TypeAccess] Companion
|
||||
# 0| 0: [ThisAccess] this
|
||||
# 0| 1: [VarAccess] a
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] c
|
||||
# 1| 4: [FloatLiteral] 0.0
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 21
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 24| 7: [Method] testStaticCompanionFunction
|
||||
# 24| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 24| 0: [Parameter] a
|
||||
# 24| 0: [TypeAccess] int
|
||||
# 24| 1: [Parameter] b
|
||||
# 24| 0: [TypeAccess] String
|
||||
# 24| 2: [Parameter] c
|
||||
@@ -730,7 +709,7 @@ test.kt:
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 23
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 24| 8: [Method] testStaticCompanionFunction
|
||||
# 24| 7: [Method] testStaticCompanionFunction
|
||||
#-----| 1: (Annotations)
|
||||
# 23| 1: [Annotation] JvmOverloads
|
||||
# 23| 2: [Annotation] JvmStatic
|
||||
@@ -749,6 +728,27 @@ test.kt:
|
||||
# 24| 5: [BlockStmt] { ... }
|
||||
# 24| 0: [ReturnStmt] return ...
|
||||
# 24| 0: [VarAccess] a
|
||||
# 24| 8: [Method] testStaticCompanionFunction
|
||||
# 24| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 24| 0: [Parameter] a
|
||||
# 24| 0: [TypeAccess] int
|
||||
# 24| 1: [Parameter] c
|
||||
# 24| 0: [TypeAccess] double
|
||||
# 24| 2: [Parameter] e
|
||||
# 24| 0: [TypeAccess] boolean
|
||||
# 24| 5: [BlockStmt] { ... }
|
||||
# 24| 0: [ReturnStmt] return ...
|
||||
# 24| 0: [MethodAccess] testStaticCompanionFunction$default(...)
|
||||
# 24| -1: [TypeAccess] Companion
|
||||
# 0| 0: [ThisAccess] this
|
||||
# 0| 1: [VarAccess] a
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] c
|
||||
# 1| 4: [FloatLiteral] 0.0
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 21
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 24| 9: [Method] testStaticCompanionFunction$default
|
||||
# 24| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
@@ -803,27 +803,6 @@ test.kt:
|
||||
#-----| 4: (Parameters)
|
||||
# 24| 0: [Parameter] a
|
||||
# 24| 0: [TypeAccess] int
|
||||
# 24| 1: [Parameter] c
|
||||
# 24| 0: [TypeAccess] double
|
||||
# 24| 2: [Parameter] e
|
||||
# 24| 0: [TypeAccess] boolean
|
||||
# 24| 5: [BlockStmt] { ... }
|
||||
# 24| 0: [ReturnStmt] return ...
|
||||
# 24| 0: [MethodAccess] testStaticCompanionFunction$default(...)
|
||||
# 24| -1: [TypeAccess] Companion
|
||||
# 0| 0: [ThisAccess] this
|
||||
# 0| 1: [VarAccess] a
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] c
|
||||
# 1| 4: [FloatLiteral] 0.0
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 21
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 24| 7: [Method] testStaticCompanionFunction
|
||||
# 24| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 24| 0: [Parameter] a
|
||||
# 24| 0: [TypeAccess] int
|
||||
# 24| 1: [Parameter] b
|
||||
# 24| 0: [TypeAccess] String
|
||||
# 24| 2: [Parameter] c
|
||||
@@ -842,7 +821,7 @@ test.kt:
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 23
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 24| 8: [Method] testStaticCompanionFunction
|
||||
# 24| 7: [Method] testStaticCompanionFunction
|
||||
# 24| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 24| 0: [Parameter] a
|
||||
@@ -865,6 +844,27 @@ test.kt:
|
||||
# 24| 2: [VarAccess] c
|
||||
# 24| 3: [VarAccess] d
|
||||
# 24| 4: [VarAccess] e
|
||||
# 24| 8: [Method] testStaticCompanionFunction
|
||||
# 24| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 24| 0: [Parameter] a
|
||||
# 24| 0: [TypeAccess] int
|
||||
# 24| 1: [Parameter] c
|
||||
# 24| 0: [TypeAccess] double
|
||||
# 24| 2: [Parameter] e
|
||||
# 24| 0: [TypeAccess] boolean
|
||||
# 24| 5: [BlockStmt] { ... }
|
||||
# 24| 0: [ReturnStmt] return ...
|
||||
# 24| 0: [MethodAccess] testStaticCompanionFunction$default(...)
|
||||
# 24| -1: [TypeAccess] Companion
|
||||
# 0| 0: [ThisAccess] this
|
||||
# 0| 1: [VarAccess] a
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] c
|
||||
# 1| 4: [FloatLiteral] 0.0
|
||||
# 0| 5: [VarAccess] e
|
||||
# 1| 6: [IntegerLiteral] 21
|
||||
# 1| 7: [NullLiteral] null
|
||||
# 30| 4: [Class,GenericType,ParameterizedType] GenericTest
|
||||
#-----| -2: (Generic Parameters)
|
||||
# 30| 0: [TypeVariable] T
|
||||
@@ -884,37 +884,6 @@ test.kt:
|
||||
# 1| 5: [NullLiteral] null
|
||||
# 30| 2: [Constructor] GenericTest
|
||||
#-----| 4: (Parameters)
|
||||
# 30| 0: [Parameter] a
|
||||
# 30| 0: [TypeAccess] int
|
||||
# 30| 1: [Parameter] b
|
||||
# 30| 0: [TypeAccess] T
|
||||
# 30| 2: [Parameter] d
|
||||
# 30| 0: [TypeAccess] T
|
||||
# 30| 5: [BlockStmt] { ... }
|
||||
# 30| 0: [ThisConstructorInvocationStmt] this(...)
|
||||
# 0| 0: [VarAccess] a
|
||||
# 0| 1: [VarAccess] b
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] d
|
||||
# 1| 4: [IntegerLiteral] 11
|
||||
# 1| 5: [NullLiteral] null
|
||||
# 30| 3: [Constructor] GenericTest
|
||||
#-----| 1: (Annotations)
|
||||
# 30| 1: [Annotation] JvmOverloads
|
||||
#-----| 4: (Parameters)
|
||||
# 30| 0: [Parameter] a
|
||||
# 30| 0: [TypeAccess] int
|
||||
# 30| 1: [Parameter] b
|
||||
# 30| 0: [TypeAccess] T
|
||||
# 30| 2: [Parameter] c
|
||||
# 30| 0: [TypeAccess] String
|
||||
# 30| 3: [Parameter] d
|
||||
# 30| 0: [TypeAccess] T
|
||||
# 30| 5: [BlockStmt] { ... }
|
||||
# 30| 0: [SuperConstructorInvocationStmt] super(...)
|
||||
# 30| 1: [BlockStmt] { ... }
|
||||
# 30| 4: [Constructor] GenericTest
|
||||
#-----| 4: (Parameters)
|
||||
# 30| 0: [Parameter] p0
|
||||
# 30| 0: [TypeAccess] int
|
||||
# 30| 1: [Parameter] p1
|
||||
@@ -953,6 +922,37 @@ test.kt:
|
||||
# 30| 1: [VarAccess] p1
|
||||
# 30| 2: [VarAccess] p2
|
||||
# 30| 3: [VarAccess] p3
|
||||
# 30| 3: [Constructor] GenericTest
|
||||
#-----| 1: (Annotations)
|
||||
# 30| 1: [Annotation] JvmOverloads
|
||||
#-----| 4: (Parameters)
|
||||
# 30| 0: [Parameter] a
|
||||
# 30| 0: [TypeAccess] int
|
||||
# 30| 1: [Parameter] b
|
||||
# 30| 0: [TypeAccess] T
|
||||
# 30| 2: [Parameter] c
|
||||
# 30| 0: [TypeAccess] String
|
||||
# 30| 3: [Parameter] d
|
||||
# 30| 0: [TypeAccess] T
|
||||
# 30| 5: [BlockStmt] { ... }
|
||||
# 30| 0: [SuperConstructorInvocationStmt] super(...)
|
||||
# 30| 1: [BlockStmt] { ... }
|
||||
# 30| 4: [Constructor] GenericTest
|
||||
#-----| 4: (Parameters)
|
||||
# 30| 0: [Parameter] a
|
||||
# 30| 0: [TypeAccess] int
|
||||
# 30| 1: [Parameter] b
|
||||
# 30| 0: [TypeAccess] T
|
||||
# 30| 2: [Parameter] d
|
||||
# 30| 0: [TypeAccess] T
|
||||
# 30| 5: [BlockStmt] { ... }
|
||||
# 30| 0: [ThisConstructorInvocationStmt] this(...)
|
||||
# 0| 0: [VarAccess] a
|
||||
# 0| 1: [VarAccess] b
|
||||
# 1| 2: [NullLiteral] null
|
||||
# 0| 3: [VarAccess] d
|
||||
# 1| 4: [IntegerLiteral] 11
|
||||
# 1| 5: [NullLiteral] null
|
||||
# 33| 5: [Method] testMemberFunction
|
||||
# 33| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
@@ -972,6 +972,22 @@ test.kt:
|
||||
# 1| 5: [IntegerLiteral] 10
|
||||
# 1| 6: [NullLiteral] null
|
||||
# 33| 6: [Method] testMemberFunction
|
||||
#-----| 1: (Annotations)
|
||||
# 32| 1: [Annotation] JvmOverloads
|
||||
# 33| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 33| 0: [Parameter] a
|
||||
# 33| 0: [TypeAccess] int
|
||||
# 33| 1: [Parameter] b
|
||||
# 33| 0: [TypeAccess] T
|
||||
# 33| 2: [Parameter] c
|
||||
# 33| 0: [TypeAccess] String
|
||||
# 33| 3: [Parameter] d
|
||||
# 33| 0: [TypeAccess] T
|
||||
# 33| 5: [BlockStmt] { ... }
|
||||
# 33| 0: [ReturnStmt] return ...
|
||||
# 33| 0: [VarAccess] a
|
||||
# 33| 7: [Method] testMemberFunction
|
||||
# 33| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 33| 0: [Parameter] a
|
||||
@@ -991,22 +1007,6 @@ test.kt:
|
||||
# 0| 4: [VarAccess] d
|
||||
# 1| 5: [IntegerLiteral] 11
|
||||
# 1| 6: [NullLiteral] null
|
||||
# 33| 7: [Method] testMemberFunction
|
||||
#-----| 1: (Annotations)
|
||||
# 32| 1: [Annotation] JvmOverloads
|
||||
# 33| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
# 33| 0: [Parameter] a
|
||||
# 33| 0: [TypeAccess] int
|
||||
# 33| 1: [Parameter] b
|
||||
# 33| 0: [TypeAccess] T
|
||||
# 33| 2: [Parameter] c
|
||||
# 33| 0: [TypeAccess] String
|
||||
# 33| 3: [Parameter] d
|
||||
# 33| 0: [TypeAccess] T
|
||||
# 33| 5: [BlockStmt] { ... }
|
||||
# 33| 0: [ReturnStmt] return ...
|
||||
# 33| 0: [VarAccess] a
|
||||
# 33| 8: [Method] testMemberFunction$default
|
||||
# 33| 3: [TypeAccess] int
|
||||
#-----| 4: (Parameters)
|
||||
|
||||
26
java/ql/test/library-tests/frameworks/apache-ant/Test.java
Normal file
26
java/ql/test/library-tests/frameworks/apache-ant/Test.java
Normal file
@@ -0,0 +1,26 @@
|
||||
package generatedtest;
|
||||
|
||||
import org.apache.tools.zip.ZipEntry;
|
||||
|
||||
// Test case generated by GenerateFlowTestCase.ql
|
||||
public class Test {
|
||||
|
||||
Object source() {
|
||||
return null;
|
||||
}
|
||||
|
||||
void sink(Object o) {}
|
||||
|
||||
public void test() throws Exception {
|
||||
|
||||
{
|
||||
// "org.apache.tools.zip;ZipEntry;true;ZipEntry;(String);;Argument[0];Argument[-1];taint;ai-generated"
|
||||
ZipEntry out = null;
|
||||
String in = (String) source();
|
||||
out = new ZipEntry(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
1
java/ql/test/library-tests/frameworks/apache-ant/options
Normal file
1
java/ql/test/library-tests/frameworks/apache-ant/options
Normal file
@@ -0,0 +1 @@
|
||||
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/apache-ant-1.10.13
|
||||
2
java/ql/test/library-tests/frameworks/apache-ant/test.ql
Normal file
2
java/ql/test/library-tests/frameworks/apache-ant/test.ql
Normal file
@@ -0,0 +1,2 @@
|
||||
import java
|
||||
import TestUtilities.InlineFlowTest
|
||||
@@ -26,6 +26,20 @@ public class Test {
|
||||
out = new TarArchiveEntry(in, false);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.compress.archivers.tar;TarArchiveEntry;true;TarArchiveEntry;(String,byte);;Argument[0];Argument[-1];taint;ai-generated"
|
||||
TarArchiveEntry out = null;
|
||||
String in = (String) source();
|
||||
out = new TarArchiveEntry(in, (byte) 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "org.apache.commons.compress.archivers.tar;TarArchiveEntry;true;setLinkName;(String);;Argument[0];Argument[-1];taint;ai-generated"
|
||||
TarArchiveEntry out = null;
|
||||
String in = (String) source();
|
||||
out.setLinkName(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
28
java/ql/test/library-tests/frameworks/hudson/Test.java
Normal file
28
java/ql/test/library-tests/frameworks/hudson/Test.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package generatedtest;
|
||||
|
||||
import hudson.remoting.URLDeserializationHelper;
|
||||
import java.net.URL;
|
||||
|
||||
// Test case generated by GenerateFlowTestCase.ql
|
||||
public class Test {
|
||||
|
||||
Object source() {
|
||||
return null;
|
||||
}
|
||||
|
||||
void sink(Object o) {
|
||||
}
|
||||
|
||||
public void test() throws Exception {
|
||||
|
||||
{
|
||||
// "hudson.remoting;URLDeserializationHelper;true;wrapIfRequired;(URL);;Argument[0];ReturnValue;taint;ai-generated"
|
||||
URL out = null;
|
||||
URL in = (URL) source();
|
||||
out = URLDeserializationHelper.wrapIfRequired(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
1
java/ql/test/library-tests/frameworks/hudson/options
Normal file
1
java/ql/test/library-tests/frameworks/hudson/options
Normal file
@@ -0,0 +1 @@
|
||||
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/jenkins
|
||||
2
java/ql/test/library-tests/frameworks/hudson/test.ql
Normal file
2
java/ql/test/library-tests/frameworks/hudson/test.ql
Normal file
@@ -0,0 +1,2 @@
|
||||
import java
|
||||
import TestUtilities.InlineFlowTest
|
||||
792
java/ql/test/library-tests/frameworks/jdk/java.io/Test.java
Normal file
792
java/ql/test/library-tests/frameworks/jdk/java.io/Test.java
Normal file
@@ -0,0 +1,792 @@
|
||||
package generatedtest;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.CharArrayReader;
|
||||
import java.io.CharArrayWriter;
|
||||
import java.io.DataInput;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FilterInputStream;
|
||||
import java.io.FilterOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.ObjectInput;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.PrintStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.Reader;
|
||||
import java.io.StringReader;
|
||||
import java.io.Writer;
|
||||
import java.net.URI;
|
||||
import java.nio.CharBuffer;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.CharsetDecoder;
|
||||
import java.nio.file.Path;
|
||||
|
||||
// Test case generated by GenerateFlowTestCase.ql
|
||||
public class Test {
|
||||
|
||||
Object getThrowable_messageDefault(Object container) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Object source() {
|
||||
return null;
|
||||
}
|
||||
|
||||
void sink(Object o) {}
|
||||
|
||||
public void test() throws Exception {
|
||||
|
||||
{
|
||||
// "java.io;BufferedInputStream;false;BufferedInputStream;;;Argument[0];Argument[-1];taint;manual"
|
||||
BufferedInputStream out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
out = new BufferedInputStream(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;BufferedInputStream;false;BufferedInputStream;;;Argument[0];Argument[-1];taint;manual"
|
||||
BufferedInputStream out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
out = new BufferedInputStream(in, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;BufferedReader;false;BufferedReader;;;Argument[0];Argument[-1];taint;manual"
|
||||
BufferedReader out = null;
|
||||
Reader in = (Reader) source();
|
||||
out = new BufferedReader(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;BufferedReader;false;BufferedReader;;;Argument[0];Argument[-1];taint;manual"
|
||||
BufferedReader out = null;
|
||||
Reader in = (Reader) source();
|
||||
out = new BufferedReader(in, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;BufferedReader;true;readLine;;;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
BufferedReader in = (BufferedReader) source();
|
||||
out = in.readLine();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ByteArrayInputStream;false;ByteArrayInputStream;;;Argument[0];Argument[-1];taint;manual"
|
||||
ByteArrayInputStream out = null;
|
||||
byte[] in = (byte[]) source();
|
||||
out = new ByteArrayInputStream(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ByteArrayInputStream;false;ByteArrayInputStream;;;Argument[0];Argument[-1];taint;manual"
|
||||
ByteArrayInputStream out = null;
|
||||
byte[] in = (byte[]) source();
|
||||
out = new ByteArrayInputStream(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ByteArrayOutputStream;false;toByteArray;;;Argument[-1];ReturnValue;taint;manual"
|
||||
byte[] out = null;
|
||||
ByteArrayOutputStream in = (ByteArrayOutputStream) source();
|
||||
out = in.toByteArray();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ByteArrayOutputStream;false;toString;;;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
ByteArrayOutputStream in = (ByteArrayOutputStream) source();
|
||||
out = in.toString((Charset) null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ByteArrayOutputStream;false;toString;;;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
ByteArrayOutputStream in = (ByteArrayOutputStream) source();
|
||||
out = in.toString((String) null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ByteArrayOutputStream;false;toString;;;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
ByteArrayOutputStream in = (ByteArrayOutputStream) source();
|
||||
out = in.toString();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ByteArrayOutputStream;false;toString;;;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
ByteArrayOutputStream in = (ByteArrayOutputStream) source();
|
||||
out = in.toString(0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ByteArrayOutputStream;false;writeTo;;;Argument[-1];Argument[0];taint;manual"
|
||||
OutputStream out = null;
|
||||
ByteArrayOutputStream in = (ByteArrayOutputStream) source();
|
||||
in.writeTo(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;CharArrayReader;false;CharArrayReader;;;Argument[0];Argument[-1];taint;manual"
|
||||
CharArrayReader out = null;
|
||||
char[] in = (char[]) source();
|
||||
out = new CharArrayReader(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;CharArrayReader;false;CharArrayReader;;;Argument[0];Argument[-1];taint;manual"
|
||||
CharArrayReader out = null;
|
||||
char[] in = (char[]) source();
|
||||
out = new CharArrayReader(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;CharArrayWriter;true;toCharArray;;;Argument[-1];ReturnValue;taint;manual"
|
||||
char[] out = null;
|
||||
CharArrayWriter in = (CharArrayWriter) source();
|
||||
out = in.toCharArray();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readFully;;;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
DataInput in = (DataInput) source();
|
||||
in.readFully(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readFully;;;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
DataInput in = (DataInput) source();
|
||||
in.readFully(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readFully;;;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
DataInputStream in = (DataInputStream) source();
|
||||
in.readFully(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readFully;;;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
DataInputStream in = (DataInputStream) source();
|
||||
in.readFully(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readFully;;;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
ObjectInputStream in = (ObjectInputStream) source();
|
||||
in.readFully(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readFully;;;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
ObjectInputStream in = (ObjectInputStream) source();
|
||||
in.readFully(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readLine;();;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
DataInput in = (DataInput) source();
|
||||
out = in.readLine();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readLine;();;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
DataInputStream in = (DataInputStream) source();
|
||||
out = in.readLine();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readLine;();;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
ObjectInputStream in = (ObjectInputStream) source();
|
||||
out = in.readLine();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readUTF;();;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
DataInput in = (DataInput) source();
|
||||
out = in.readUTF();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readUTF;();;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
DataInputStream in = (DataInputStream) source();
|
||||
out = in.readUTF();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInput;true;readUTF;();;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
ObjectInputStream in = (ObjectInputStream) source();
|
||||
out = in.readUTF();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;DataInputStream;false;DataInputStream;;;Argument[0];Argument[-1];taint;manual"
|
||||
DataInputStream out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
out = new DataInputStream(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;false;File;;;Argument[0];Argument[-1];taint;manual"
|
||||
File out = null;
|
||||
File in = (File) source();
|
||||
out = new File(in, (String) null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;false;File;;;Argument[0];Argument[-1];taint;manual"
|
||||
File out = null;
|
||||
String in = (String) source();
|
||||
out = new File(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;false;File;;;Argument[0];Argument[-1];taint;manual"
|
||||
File out = null;
|
||||
String in = (String) source();
|
||||
out = new File(in, (String) null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;false;File;;;Argument[0];Argument[-1];taint;manual"
|
||||
File out = null;
|
||||
URI in = (URI) source();
|
||||
out = new File(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;false;File;;;Argument[1];Argument[-1];taint;manual"
|
||||
File out = null;
|
||||
String in = (String) source();
|
||||
out = new File((File) null, in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;false;File;;;Argument[1];Argument[-1];taint;manual"
|
||||
File out = null;
|
||||
String in = (String) source();
|
||||
out = new File((String) null, in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;true;getAbsoluteFile;;;Argument[-1];ReturnValue;taint;manual"
|
||||
File out = null;
|
||||
File in = (File) source();
|
||||
out = in.getAbsoluteFile();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;true;getAbsolutePath;;;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
File in = (File) source();
|
||||
out = in.getAbsolutePath();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;true;getCanonicalFile;;;Argument[-1];ReturnValue;taint;manual"
|
||||
File out = null;
|
||||
File in = (File) source();
|
||||
out = in.getCanonicalFile();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;true;getCanonicalPath;;;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
File in = (File) source();
|
||||
out = in.getCanonicalPath();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;true;getName;();;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
File in = (File) source();
|
||||
out = in.getName();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;true;toPath;;;Argument[-1];ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
File in = (File) source();
|
||||
out = in.toPath();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;true;toString;;;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
File in = (File) source();
|
||||
out = in.toString();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;File;true;toURI;;;Argument[-1];ReturnValue;taint;manual"
|
||||
URI out = null;
|
||||
File in = (File) source();
|
||||
out = in.toURI();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;FilterOutputStream;true;FilterOutputStream;(OutputStream);;Argument[0];Argument[-1];taint;manual"
|
||||
FilterOutputStream out = null;
|
||||
OutputStream in = (OutputStream) source();
|
||||
out = new FilterOutputStream(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;IOException;false;IOException;(String);;Argument[0];Argument[-1].SyntheticField[java.lang.Throwable.message];value;manual"
|
||||
IOException out = null;
|
||||
String in = (String) source();
|
||||
out = new IOException(in);
|
||||
sink(getThrowable_messageDefault(out)); // $ hasValueFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;read;(byte[]);;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
DataInputStream in = (DataInputStream) source();
|
||||
in.read(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;read;(byte[]);;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
FilterInputStream in = (FilterInputStream) source();
|
||||
in.read(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;read;(byte[]);;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
in.read(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;read;(byte[],int,int);;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
BufferedInputStream in = (BufferedInputStream) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;read;(byte[],int,int);;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
ByteArrayInputStream in = (ByteArrayInputStream) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;read;(byte[],int,int);;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
DataInputStream in = (DataInputStream) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;read;(byte[],int,int);;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
FilterInputStream in = (FilterInputStream) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;read;(byte[],int,int);;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;read;(byte[],int,int);;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
ObjectInputStream in = (ObjectInputStream) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;readAllBytes;;;Argument[-1];ReturnValue;taint;manual"
|
||||
byte[] out = null;
|
||||
ByteArrayInputStream in = (ByteArrayInputStream) source();
|
||||
out = in.readAllBytes();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;readAllBytes;;;Argument[-1];ReturnValue;taint;manual"
|
||||
byte[] out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
out = in.readAllBytes();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;readNBytes;(byte[],int,int);;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
ByteArrayInputStream in = (ByteArrayInputStream) source();
|
||||
in.readNBytes(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;readNBytes;(byte[],int,int);;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
in.readNBytes(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;readNBytes;(int);;Argument[-1];ReturnValue;taint;manual"
|
||||
byte[] out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
out = in.readNBytes(0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;transferTo;(OutputStream);;Argument[-1];Argument[0];taint;manual"
|
||||
OutputStream out = null;
|
||||
ByteArrayInputStream in = (ByteArrayInputStream) source();
|
||||
in.transferTo(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStream;true;transferTo;(OutputStream);;Argument[-1];Argument[0];taint;manual"
|
||||
OutputStream out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
in.transferTo(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStreamReader;false;InputStreamReader;;;Argument[0];Argument[-1];taint;manual"
|
||||
InputStreamReader out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
out = new InputStreamReader(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStreamReader;false;InputStreamReader;;;Argument[0];Argument[-1];taint;manual"
|
||||
InputStreamReader out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
out = new InputStreamReader(in, (Charset) null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStreamReader;false;InputStreamReader;;;Argument[0];Argument[-1];taint;manual"
|
||||
InputStreamReader out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
out = new InputStreamReader(in, (CharsetDecoder) null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;InputStreamReader;false;InputStreamReader;;;Argument[0];Argument[-1];taint;manual"
|
||||
InputStreamReader out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
out = new InputStreamReader(in, (String) null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ObjectInput;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
ObjectInput in = (ObjectInput) source();
|
||||
in.read(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ObjectInput;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
ObjectInput in = (ObjectInput) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ObjectInput;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
byte[] out = null;
|
||||
ObjectInputStream in = (ObjectInputStream) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;ObjectInputStream;false;ObjectInputStream;;;Argument[0];Argument[-1];taint;manual"
|
||||
ObjectInputStream out = null;
|
||||
InputStream in = (InputStream) source();
|
||||
out = new ObjectInputStream(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(byte[]);;Argument[0];Argument[-1];taint;manual"
|
||||
FilterOutputStream out = null;
|
||||
byte[] in = (byte[]) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(byte[]);;Argument[0];Argument[-1];taint;manual"
|
||||
ObjectOutputStream out = null;
|
||||
byte[] in = (byte[]) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(byte[]);;Argument[0];Argument[-1];taint;manual"
|
||||
OutputStream out = null;
|
||||
byte[] in = (byte[]) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(byte[]);;Argument[0];Argument[-1];taint;manual"
|
||||
PrintStream out = null;
|
||||
byte[] in = (byte[]) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[-1];taint;manual"
|
||||
ByteArrayOutputStream out = null;
|
||||
byte[] in = (byte[]) source();
|
||||
out.write(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[-1];taint;manual"
|
||||
FilterOutputStream out = null;
|
||||
byte[] in = (byte[]) source();
|
||||
out.write(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[-1];taint;manual"
|
||||
ObjectOutputStream out = null;
|
||||
byte[] in = (byte[]) source();
|
||||
out.write(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[-1];taint;manual"
|
||||
OutputStream out = null;
|
||||
byte[] in = (byte[]) source();
|
||||
out.write(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[-1];taint;manual"
|
||||
PrintStream out = null;
|
||||
byte[] in = (byte[]) source();
|
||||
out.write(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(int);;Argument[0];Argument[-1];taint;manual"
|
||||
ByteArrayOutputStream out = null;
|
||||
int in = (int) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(int);;Argument[0];Argument[-1];taint;manual"
|
||||
FilterOutputStream out = null;
|
||||
int in = (int) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(int);;Argument[0];Argument[-1];taint;manual"
|
||||
ObjectOutputStream out = null;
|
||||
int in = (int) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(int);;Argument[0];Argument[-1];taint;manual"
|
||||
OutputStream out = null;
|
||||
int in = (int) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;OutputStream;true;write;(int);;Argument[0];Argument[-1];taint;manual"
|
||||
PrintStream out = null;
|
||||
int in = (int) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Reader;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
CharBuffer out = null;
|
||||
CharArrayReader in = (CharArrayReader) source();
|
||||
in.read(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Reader;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
CharBuffer out = null;
|
||||
InputStreamReader in = (InputStreamReader) source();
|
||||
in.read(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Reader;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
CharBuffer out = null;
|
||||
Reader in = (Reader) source();
|
||||
in.read(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Reader;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
char[] out = null;
|
||||
BufferedReader in = (BufferedReader) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Reader;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
char[] out = null;
|
||||
CharArrayReader in = (CharArrayReader) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Reader;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
char[] out = null;
|
||||
InputStreamReader in = (InputStreamReader) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Reader;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
char[] out = null;
|
||||
Reader in = (Reader) source();
|
||||
in.read(out);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Reader;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
char[] out = null;
|
||||
Reader in = (Reader) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Reader;true;read;;;Argument[-1];Argument[0];taint;manual"
|
||||
char[] out = null;
|
||||
StringReader in = (StringReader) source();
|
||||
in.read(out, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;StringReader;false;StringReader;;;Argument[0];Argument[-1];taint;manual"
|
||||
StringReader out = null;
|
||||
String in = (String) source();
|
||||
out = new StringReader(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
CharArrayWriter out = null;
|
||||
String in = (String) source();
|
||||
out.write(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
CharArrayWriter out = null;
|
||||
char[] in = (char[]) source();
|
||||
out.write(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
CharArrayWriter out = null;
|
||||
int in = (int) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
PrintWriter out = null;
|
||||
String in = (String) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
PrintWriter out = null;
|
||||
String in = (String) source();
|
||||
out.write(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
PrintWriter out = null;
|
||||
char[] in = (char[]) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
PrintWriter out = null;
|
||||
char[] in = (char[]) source();
|
||||
out.write(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
PrintWriter out = null;
|
||||
int in = (int) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
Writer out = null;
|
||||
String in = (String) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
Writer out = null;
|
||||
String in = (String) source();
|
||||
out.write(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
Writer out = null;
|
||||
char[] in = (char[]) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
Writer out = null;
|
||||
char[] in = (char[]) source();
|
||||
out.write(in, 0, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual"
|
||||
Writer out = null;
|
||||
int in = (int) source();
|
||||
out.write(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/java-tests
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["generatedtest", "Test", False, "getThrowable_messageDefault", "(Object)", "", "Argument[0].SyntheticField[java.lang.Throwable.message]", "ReturnValue", "value", "manual"]
|
||||
@@ -0,0 +1,2 @@
|
||||
import java
|
||||
import TestUtilities.InlineFlowTest
|
||||
@@ -1,5 +1,7 @@
|
||||
package generatedtest;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.net.URLDecoder;
|
||||
@@ -16,6 +18,27 @@ public class Test {
|
||||
|
||||
public void test() throws Exception {
|
||||
|
||||
{
|
||||
// "java.net;InetAddress;true;getByName;(String);;Argument[0];ReturnValue;taint;ai-generated"
|
||||
InetAddress out = null;
|
||||
String in = (String) source();
|
||||
out = InetAddress.getByName(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.net;InetSocketAddress;true;InetSocketAddress;(String,int);;Argument[0];Argument[-1];taint;ai-generated"
|
||||
InetSocketAddress out = null;
|
||||
String in = (String) source();
|
||||
out = new InetSocketAddress(in, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.net;InetSocketAddress;true;createUnresolved;(String,int);;Argument[0];ReturnValue;taint;ai-generated"
|
||||
InetSocketAddress out = null;
|
||||
String in = (String) source();
|
||||
out = InetSocketAddress.createUnresolved(in, 0);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.net;URI;false;URI;(String);;Argument[0];Argument[-1];taint;manual"
|
||||
URI out = null;
|
||||
@@ -30,6 +53,22 @@ public class Test {
|
||||
out = URI.create(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.net;URI;false;resolve;(String);;Argument[0];ReturnValue;taint;ai-generated"
|
||||
URI out = null;
|
||||
String in = (String) source();
|
||||
URI instance = null;
|
||||
out = instance.resolve(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.net;URI;false;resolve;(URI);;Argument[0];ReturnValue;taint;ai-generated"
|
||||
URI out = null;
|
||||
URI in = (URI) source();
|
||||
URI instance = null;
|
||||
out = instance.resolve(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.net;URI;false;toASCIIString;;;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
@@ -58,6 +97,20 @@ public class Test {
|
||||
out = new URL(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.net;URL;false;URL;(URL,String);;Argument[0];Argument[-1];taint;ai-generated"
|
||||
URL out = null;
|
||||
URL in = (URL) source();
|
||||
out = new URL(in, null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.net;URL;false;URL;(URL,String);;Argument[1];Argument[-1];taint;ai-generated"
|
||||
URL out = null;
|
||||
String in = (String) source();
|
||||
out = new URL(null, in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.net;URL;false;toExternalForm;;;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
package generatedtest;
|
||||
|
||||
import java.io.File;
|
||||
import java.net.URI;
|
||||
import java.nio.file.FileSystem;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
|
||||
// Test case generated by GenerateFlowTestCase.ql
|
||||
public class Test {
|
||||
|
||||
Object source() {
|
||||
return null;
|
||||
}
|
||||
|
||||
void sink(Object o) {}
|
||||
|
||||
public void test() throws Exception {
|
||||
|
||||
{
|
||||
// "java.nio.file;FileSystem;true;getPath;;;Argument[0];ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
String in = (String) source();
|
||||
FileSystem instance = null;
|
||||
out = instance.getPath(in, (String[]) null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Path;false;toFile;;;Argument[-1];ReturnValue;taint;manual"
|
||||
File out = null;
|
||||
Path in = (Path) source();
|
||||
out = in.toFile();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Path;true;getParent;;;Argument[-1];ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
Path in = (Path) source();
|
||||
out = in.getParent();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Path;true;normalize;;;Argument[-1];ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
Path in = (Path) source();
|
||||
out = in.normalize();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Path;true;resolve;;;Argument[-1..0];ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
Path in = (Path) source();
|
||||
Path instance = null;
|
||||
out = instance.resolve(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Path;true;resolve;;;Argument[-1..0];ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
Path in = (Path) source();
|
||||
out = in.resolve((Path) null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Path;true;resolve;;;Argument[-1..0];ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
Path in = (Path) source();
|
||||
out = in.resolve((String) null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Path;true;resolve;;;Argument[-1..0];ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
String in = (String) source();
|
||||
Path instance = null;
|
||||
out = instance.resolve(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Path;true;toAbsolutePath;;;Argument[-1];ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
Path in = (Path) source();
|
||||
out = in.toAbsolutePath();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Path;true;toString;;;Argument[-1];ReturnValue;taint;manual"
|
||||
String out = null;
|
||||
Path in = (Path) source();
|
||||
out = in.toString();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Path;true;toUri;;;Argument[-1];ReturnValue;taint;manual"
|
||||
URI out = null;
|
||||
Path in = (Path) source();
|
||||
out = in.toUri();
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Paths;true;get;;;Argument[0];ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
String in = (String) source();
|
||||
out = Paths.get(in, (String[]) null);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Paths;true;get;;;Argument[0];ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
URI in = (URI) source();
|
||||
out = Paths.get(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
{
|
||||
// "java.nio.file;Paths;true;get;;;Argument[1].ArrayElement;ReturnValue;taint;manual"
|
||||
Path out = null;
|
||||
String[] in = (String[]) new String[] {(String) source()};
|
||||
out = Paths.get((String) null, in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
import java
|
||||
import TestUtilities.InlineFlowTest
|
||||
28
java/ql/test/library-tests/frameworks/netty/Test.java
Normal file
28
java/ql/test/library-tests/frameworks/netty/Test.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package generatedtest;
|
||||
|
||||
import io.netty.resolver.SimpleNameResolver;
|
||||
import io.netty.util.concurrent.Future;
|
||||
|
||||
// Test case generated by GenerateFlowTestCase.ql
|
||||
public class Test {
|
||||
|
||||
Object source() {
|
||||
return null;
|
||||
}
|
||||
|
||||
void sink(Object o) {}
|
||||
|
||||
public void test() throws Exception {
|
||||
|
||||
{
|
||||
// "io.netty.resolver;SimpleNameResolver;false;resolve;(String);;Argument[0];ReturnValue;taint;ai-generated"
|
||||
Future out = null;
|
||||
String in = (String) source();
|
||||
SimpleNameResolver instance = null;
|
||||
out = instance.resolve(in);
|
||||
sink(out); // $ hasTaintFlow
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
1
java/ql/test/library-tests/frameworks/netty/options
Normal file
1
java/ql/test/library-tests/frameworks/netty/options
Normal file
@@ -0,0 +1 @@
|
||||
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/netty-4.1.x
|
||||
2
java/ql/test/library-tests/frameworks/netty/test.ql
Normal file
2
java/ql/test/library-tests/frameworks/netty/test.ql
Normal file
@@ -0,0 +1,2 @@
|
||||
import java
|
||||
import TestUtilities.InlineFlowTest
|
||||
26
java/ql/test/library-tests/frameworks/stapler/Test.java
Normal file
26
java/ql/test/library-tests/frameworks/stapler/Test.java
Normal file
@@ -0,0 +1,26 @@
|
||||
package generatedtest;
|
||||
|
||||
import org.kohsuke.stapler.framework.adjunct.AdjunctManager;
|
||||
|
||||
// Test case generated by GenerateFlowTestCase.ql
|
||||
public class Test {
|
||||
|
||||
Object source() {
|
||||
return null;
|
||||
}
|
||||
|
||||
void sink(Object o) {}
|
||||
|
||||
public void test() throws Exception {
|
||||
|
||||
{
|
||||
// "org.kohsuke.stapler.framework.adjunct;AdjunctManager;true;AdjunctManager;(ServletContext,ClassLoader,String,long);;Argument[2];Argument[-1].Field[org.kohsuke.stapler.framework.adjunct.AdjunctManager.rootURL];taint;ai-generated"
|
||||
AdjunctManager out = null;
|
||||
String in = (String) source();
|
||||
out = new AdjunctManager(null, null, in, 0L);
|
||||
sink(out.rootURL); // $ hasTaintFlow
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
1
java/ql/test/library-tests/frameworks/stapler/options
Normal file
1
java/ql/test/library-tests/frameworks/stapler/options
Normal file
@@ -0,0 +1 @@
|
||||
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/stapler-1.263:${testdir}/../../../stubs/javax-servlet-2.5:${testdir}/../../../stubs/apache-commons-jelly-1.0.1:${testdir}/../../../stubs/apache-commons-fileupload-1.4:${testdir}/../../../stubs/saxon-xqj-9.x:${testdir}/../../../stubs/apache-commons-beanutils:${testdir}/../../../stubs/dom4j-2.1.1:${testdir}/../../../stubs/apache-commons-lang:${testdir}/../../../stubs/jaxen-1.2.0
|
||||
2
java/ql/test/library-tests/frameworks/stapler/test.ql
Normal file
2
java/ql/test/library-tests/frameworks/stapler/test.ql
Normal file
@@ -0,0 +1,2 @@
|
||||
import java
|
||||
import TestUtilities.InlineFlowTest
|
||||
@@ -14,22 +14,108 @@ edges
|
||||
| Test.java:95:14:95:34 | getHostName(...) : String | Test.java:99:12:99:33 | new URI(...) |
|
||||
| Test.java:95:14:95:34 | getHostName(...) : String | Test.java:100:12:100:45 | new URI(...) |
|
||||
| Test.java:95:14:95:34 | getHostName(...) : String | Test.java:101:12:101:54 | new URI(...) |
|
||||
| mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:17:61:17:72 | source(...) : String |
|
||||
| mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:19:41:19:52 | source(...) : String |
|
||||
| mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:25:38:25:49 | source(...) : String |
|
||||
| mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:27:36:27:47 | source(...) : String |
|
||||
| mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:29:31:29:42 | source(...) : String |
|
||||
| mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:31:33:31:44 | source(...) : String |
|
||||
| mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:33:50:33:61 | source(...) : String |
|
||||
| mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:35:54:35:65 | source(...) : String |
|
||||
| mad/Test.java:17:61:17:72 | source(...) : String | mad/Test.java:17:52:17:72 | (...)... |
|
||||
| mad/Test.java:19:41:19:52 | source(...) : String | mad/Test.java:19:32:19:52 | (...)... |
|
||||
| mad/Test.java:25:38:25:49 | source(...) : String | mad/Test.java:25:31:25:49 | (...)... |
|
||||
| mad/Test.java:27:36:27:47 | source(...) : String | mad/Test.java:27:29:27:47 | (...)... |
|
||||
| mad/Test.java:29:31:29:42 | source(...) : String | mad/Test.java:29:24:29:42 | (...)... |
|
||||
| mad/Test.java:31:33:31:44 | source(...) : String | mad/Test.java:31:24:31:44 | (...)... |
|
||||
| mad/Test.java:33:50:33:61 | source(...) : String | mad/Test.java:33:41:33:61 | (...)... |
|
||||
| mad/Test.java:35:54:35:65 | source(...) : String | mad/Test.java:35:45:35:65 | (...)... |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:33:61:33:68 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:35:41:35:48 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:37:56:37:63 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:39:46:39:53 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:41:38:41:45 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:43:36:43:43 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:45:31:45:38 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:47:33:47:40 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:49:27:49:34 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:50:27:50:34 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:51:34:51:41 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:53:40:53:47 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:54:48:54:55 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:55:47:55:54 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:57:40:57:47 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:59:38:59:45 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:61:33:61:40 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:63:33:63:40 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:65:41:65:48 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:67:42:67:49 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:69:37:69:44 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:71:29:71:36 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:73:37:73:44 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:75:28:75:35 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:77:33:77:40 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:79:40:79:47 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:81:40:81:47 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:82:40:82:47 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:84:38:84:45 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:86:28:86:35 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:87:28:87:35 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:88:28:88:35 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:90:34:90:41 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:91:34:91:41 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:93:33:93:40 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:95:42:95:49 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:97:50:97:57 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:99:54:99:61 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:104:37:104:44 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:106:74:106:81 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:108:68:108:75 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:110:68:110:75 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:112:30:112:37 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:117:30:117:37 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:122:33:122:40 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:124:27:124:34 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:126:28:126:35 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:128:29:128:36 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:133:27:133:34 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:135:26:135:33 | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:140:29:140:36 | source(...) : String |
|
||||
| mad/Test.java:33:61:33:68 | source(...) : String | mad/Test.java:33:52:33:68 | (...)... |
|
||||
| mad/Test.java:35:41:35:48 | source(...) : String | mad/Test.java:35:32:35:48 | (...)... |
|
||||
| mad/Test.java:37:56:37:63 | source(...) : String | mad/Test.java:37:47:37:63 | (...)... |
|
||||
| mad/Test.java:39:46:39:53 | source(...) : String | mad/Test.java:39:39:39:53 | (...)... |
|
||||
| mad/Test.java:41:38:41:45 | source(...) : String | mad/Test.java:41:31:41:45 | (...)... |
|
||||
| mad/Test.java:43:36:43:43 | source(...) : String | mad/Test.java:43:29:43:43 | (...)... |
|
||||
| mad/Test.java:45:31:45:38 | source(...) : String | mad/Test.java:45:24:45:38 | (...)... |
|
||||
| mad/Test.java:47:33:47:40 | source(...) : String | mad/Test.java:47:24:47:40 | (...)... |
|
||||
| mad/Test.java:49:27:49:34 | source(...) : String | mad/Test.java:49:20:49:34 | (...)... |
|
||||
| mad/Test.java:50:27:50:34 | source(...) : String | mad/Test.java:50:20:50:34 | (...)... |
|
||||
| mad/Test.java:51:34:51:41 | source(...) : String | mad/Test.java:51:20:51:41 | (...)... |
|
||||
| mad/Test.java:53:40:53:47 | source(...) : String | mad/Test.java:53:33:53:47 | (...)... |
|
||||
| mad/Test.java:54:48:54:55 | source(...) : String | mad/Test.java:54:33:54:55 | (...)... |
|
||||
| mad/Test.java:55:47:55:54 | source(...) : String | mad/Test.java:55:40:55:54 | (...)... |
|
||||
| mad/Test.java:57:40:57:47 | source(...) : String | mad/Test.java:57:33:57:47 | (...)... |
|
||||
| mad/Test.java:59:38:59:45 | source(...) : String | mad/Test.java:59:31:59:45 | (...)... |
|
||||
| mad/Test.java:61:33:61:40 | source(...) : String | mad/Test.java:61:26:61:40 | (...)... |
|
||||
| mad/Test.java:63:33:63:40 | source(...) : String | mad/Test.java:63:26:63:40 | (...)... |
|
||||
| mad/Test.java:65:41:65:48 | source(...) : String | mad/Test.java:65:34:65:48 | (...)... |
|
||||
| mad/Test.java:67:42:67:49 | source(...) : String | mad/Test.java:67:35:67:49 | (...)... |
|
||||
| mad/Test.java:69:37:69:44 | source(...) : String | mad/Test.java:69:30:69:44 | (...)... |
|
||||
| mad/Test.java:71:29:71:36 | source(...) : String | mad/Test.java:71:22:71:36 | (...)... |
|
||||
| mad/Test.java:73:37:73:44 | source(...) : String | mad/Test.java:73:30:73:44 | (...)... |
|
||||
| mad/Test.java:75:28:75:35 | source(...) : String | mad/Test.java:75:21:75:35 | (...)... |
|
||||
| mad/Test.java:77:33:77:40 | source(...) : String | mad/Test.java:77:26:77:40 | (...)... |
|
||||
| mad/Test.java:79:40:79:47 | source(...) : String | mad/Test.java:79:33:79:47 | (...)... |
|
||||
| mad/Test.java:81:40:81:47 | source(...) : String | mad/Test.java:81:33:81:47 | (...)... |
|
||||
| mad/Test.java:82:40:82:47 | source(...) : String | mad/Test.java:82:33:82:47 | (...)... |
|
||||
| mad/Test.java:84:38:84:45 | source(...) : String | mad/Test.java:84:31:84:45 | (...)... |
|
||||
| mad/Test.java:86:28:86:35 | source(...) : String | mad/Test.java:86:21:86:35 | (...)... |
|
||||
| mad/Test.java:87:28:87:35 | source(...) : String | mad/Test.java:87:21:87:35 | (...)... |
|
||||
| mad/Test.java:88:28:88:35 | source(...) : String | mad/Test.java:88:21:88:35 | (...)... |
|
||||
| mad/Test.java:90:34:90:41 | source(...) : String | mad/Test.java:90:27:90:41 | (...)... |
|
||||
| mad/Test.java:91:34:91:41 | source(...) : String | mad/Test.java:91:27:91:41 | (...)... |
|
||||
| mad/Test.java:93:33:93:40 | source(...) : String | mad/Test.java:93:26:93:40 | (...)... |
|
||||
| mad/Test.java:95:42:95:49 | source(...) : String | mad/Test.java:95:35:95:49 | (...)... |
|
||||
| mad/Test.java:97:50:97:57 | source(...) : String | mad/Test.java:97:41:97:57 | (...)... |
|
||||
| mad/Test.java:99:54:99:61 | source(...) : String | mad/Test.java:99:45:99:61 | (...)... |
|
||||
| mad/Test.java:104:37:104:44 | source(...) : String | mad/Test.java:104:30:104:44 | (...)... |
|
||||
| mad/Test.java:106:74:106:81 | source(...) : String | mad/Test.java:106:40:106:81 | (...)... |
|
||||
| mad/Test.java:108:68:108:75 | source(...) : String | mad/Test.java:108:34:108:75 | (...)... |
|
||||
| mad/Test.java:110:68:110:75 | source(...) : String | mad/Test.java:110:34:110:75 | (...)... |
|
||||
| mad/Test.java:112:30:112:37 | source(...) : String | mad/Test.java:112:23:112:37 | (...)... |
|
||||
| mad/Test.java:117:30:117:37 | source(...) : String | mad/Test.java:117:23:117:37 | (...)... |
|
||||
| mad/Test.java:122:33:122:40 | source(...) : String | mad/Test.java:122:23:122:40 | (...)... |
|
||||
| mad/Test.java:124:27:124:34 | source(...) : String | mad/Test.java:124:20:124:34 | (...)... |
|
||||
| mad/Test.java:126:28:126:35 | source(...) : String | mad/Test.java:126:21:126:35 | (...)... |
|
||||
| mad/Test.java:128:29:128:36 | source(...) : String | mad/Test.java:128:22:128:36 | (...)... |
|
||||
| mad/Test.java:133:27:133:34 | source(...) : String | mad/Test.java:133:20:133:34 | (...)... |
|
||||
| mad/Test.java:135:26:135:33 | source(...) : String | mad/Test.java:135:19:135:33 | (...)... |
|
||||
| mad/Test.java:140:29:140:36 | source(...) : String | mad/Test.java:140:20:140:36 | (...)... |
|
||||
nodes
|
||||
| Test.java:19:18:19:38 | getHostName(...) : String | semmle.label | getHostName(...) : String |
|
||||
| Test.java:24:20:24:23 | temp | semmle.label | temp |
|
||||
@@ -50,23 +136,109 @@ nodes
|
||||
| Test.java:99:12:99:33 | new URI(...) | semmle.label | new URI(...) |
|
||||
| Test.java:100:12:100:45 | new URI(...) | semmle.label | new URI(...) |
|
||||
| Test.java:101:12:101:54 | new URI(...) | semmle.label | new URI(...) |
|
||||
| mad/Test.java:12:16:12:36 | getHostName(...) : String | semmle.label | getHostName(...) : String |
|
||||
| mad/Test.java:17:52:17:72 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:17:61:17:72 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:19:32:19:52 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:19:41:19:52 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:25:31:25:49 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:25:38:25:49 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:27:29:27:47 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:27:36:27:47 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:29:24:29:42 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:29:31:29:42 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:31:24:31:44 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:31:33:31:44 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:33:41:33:61 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:33:50:33:61 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:35:45:35:65 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:35:54:35:65 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:28:16:28:36 | getHostName(...) : String | semmle.label | getHostName(...) : String |
|
||||
| mad/Test.java:33:52:33:68 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:33:61:33:68 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:35:32:35:48 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:35:41:35:48 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:37:47:37:63 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:37:56:37:63 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:39:39:39:53 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:39:46:39:53 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:41:31:41:45 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:41:38:41:45 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:43:29:43:43 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:43:36:43:43 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:45:24:45:38 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:45:31:45:38 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:47:24:47:40 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:47:33:47:40 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:49:20:49:34 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:49:27:49:34 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:50:20:50:34 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:50:27:50:34 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:51:20:51:41 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:51:34:51:41 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:53:33:53:47 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:53:40:53:47 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:54:33:54:55 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:54:48:54:55 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:55:40:55:54 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:55:47:55:54 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:57:33:57:47 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:57:40:57:47 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:59:31:59:45 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:59:38:59:45 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:61:26:61:40 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:61:33:61:40 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:63:26:63:40 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:63:33:63:40 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:65:34:65:48 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:65:41:65:48 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:67:35:67:49 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:67:42:67:49 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:69:30:69:44 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:69:37:69:44 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:71:22:71:36 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:71:29:71:36 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:73:30:73:44 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:73:37:73:44 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:75:21:75:35 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:75:28:75:35 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:77:26:77:40 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:77:33:77:40 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:79:33:79:47 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:79:40:79:47 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:81:33:81:47 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:81:40:81:47 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:82:33:82:47 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:82:40:82:47 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:84:31:84:45 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:84:38:84:45 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:86:21:86:35 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:86:28:86:35 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:87:21:87:35 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:87:28:87:35 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:88:21:88:35 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:88:28:88:35 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:90:27:90:41 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:90:34:90:41 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:91:27:91:41 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:91:34:91:41 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:93:26:93:40 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:93:33:93:40 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:95:35:95:49 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:95:42:95:49 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:97:41:97:57 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:97:50:97:57 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:99:45:99:61 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:99:54:99:61 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:104:30:104:44 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:104:37:104:44 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:106:40:106:81 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:106:74:106:81 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:108:34:108:75 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:108:68:108:75 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:110:34:110:75 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:110:68:110:75 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:112:23:112:37 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:112:30:112:37 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:117:23:117:37 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:117:30:117:37 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:122:23:122:40 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:122:33:122:40 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:124:20:124:34 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:124:27:124:34 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:126:21:126:35 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:126:28:126:35 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:128:22:128:36 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:128:29:128:36 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:133:20:133:34 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:133:27:133:34 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:135:19:135:33 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:135:26:135:33 | source(...) : String | semmle.label | source(...) : String |
|
||||
| mad/Test.java:140:20:140:36 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:140:29:140:36 | source(...) : String | semmle.label | source(...) : String |
|
||||
subpaths
|
||||
#select
|
||||
| Test.java:24:11:24:24 | new File(...) | Test.java:19:18:19:38 | getHostName(...) : String | Test.java:24:20:24:23 | temp | This path depends on a $@. | Test.java:19:18:19:38 | getHostName(...) | user-provided value |
|
||||
@@ -80,11 +252,54 @@ subpaths
|
||||
| Test.java:99:3:99:34 | new File(...) | Test.java:95:14:95:34 | getHostName(...) : String | Test.java:99:12:99:33 | new URI(...) | This path depends on a $@. | Test.java:95:14:95:34 | getHostName(...) | user-provided value |
|
||||
| Test.java:100:3:100:46 | new File(...) | Test.java:95:14:95:34 | getHostName(...) : String | Test.java:100:12:100:45 | new URI(...) | This path depends on a $@. | Test.java:95:14:95:34 | getHostName(...) | user-provided value |
|
||||
| Test.java:101:3:101:55 | new File(...) | Test.java:95:14:95:34 | getHostName(...) : String | Test.java:101:12:101:54 | new URI(...) | This path depends on a $@. | Test.java:95:14:95:34 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:17:52:17:72 | (...)... | mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:17:52:17:72 | (...)... | This path depends on a $@. | mad/Test.java:12:16:12:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:19:32:19:52 | (...)... | mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:19:32:19:52 | (...)... | This path depends on a $@. | mad/Test.java:12:16:12:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:25:31:25:49 | (...)... | mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:25:31:25:49 | (...)... | This path depends on a $@. | mad/Test.java:12:16:12:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:27:29:27:47 | (...)... | mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:27:29:27:47 | (...)... | This path depends on a $@. | mad/Test.java:12:16:12:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:29:24:29:42 | (...)... | mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:29:24:29:42 | (...)... | This path depends on a $@. | mad/Test.java:12:16:12:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:31:9:31:45 | new FileReader(...) | mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:31:24:31:44 | (...)... | This path depends on a $@. | mad/Test.java:12:16:12:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:33:41:33:61 | (...)... | mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:33:41:33:61 | (...)... | This path depends on a $@. | mad/Test.java:12:16:12:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:35:45:35:65 | (...)... | mad/Test.java:12:16:12:36 | getHostName(...) : String | mad/Test.java:35:45:35:65 | (...)... | This path depends on a $@. | mad/Test.java:12:16:12:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:33:52:33:68 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:33:52:33:68 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:35:32:35:48 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:35:32:35:48 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:37:47:37:63 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:37:47:37:63 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:39:39:39:53 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:39:39:39:53 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:41:31:41:45 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:41:31:41:45 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:43:29:43:43 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:43:29:43:43 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:45:24:45:38 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:45:24:45:38 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:47:9:47:41 | new FileReader(...) | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:47:24:47:40 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:49:20:49:34 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:49:20:49:34 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:50:20:50:34 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:50:20:50:34 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:51:20:51:41 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:51:20:51:41 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:53:33:53:47 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:53:33:53:47 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:54:33:54:55 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:54:33:54:55 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:55:40:55:54 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:55:40:55:54 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:57:33:57:47 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:57:33:57:47 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:59:31:59:45 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:59:31:59:45 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:61:26:61:40 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:61:26:61:40 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:63:26:63:40 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:63:26:63:40 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:65:34:65:48 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:65:34:65:48 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:67:35:67:49 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:67:35:67:49 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:69:30:69:44 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:69:30:69:44 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:71:22:71:36 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:71:22:71:36 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:73:30:73:44 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:73:30:73:44 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:75:21:75:35 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:75:21:75:35 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:77:26:77:40 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:77:26:77:40 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:79:33:79:47 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:79:33:79:47 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:81:33:81:47 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:81:33:81:47 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:82:33:82:47 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:82:33:82:47 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:84:31:84:45 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:84:31:84:45 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:86:21:86:35 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:86:21:86:35 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:87:21:87:35 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:87:21:87:35 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:88:21:88:35 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:88:21:88:35 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:90:27:90:41 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:90:27:90:41 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:91:27:91:41 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:91:27:91:41 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:93:26:93:40 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:93:26:93:40 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:95:35:95:49 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:95:35:95:49 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:97:41:97:57 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:97:41:97:57 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:99:45:99:61 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:99:45:99:61 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:104:30:104:44 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:104:30:104:44 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:106:40:106:81 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:106:40:106:81 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:108:34:108:75 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:108:34:108:75 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:110:34:110:75 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:110:34:110:75 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:112:23:112:37 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:112:23:112:37 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:117:23:117:37 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:117:23:117:37 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:122:23:122:40 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:122:23:122:40 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:124:20:124:34 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:124:20:124:34 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:126:21:126:35 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:126:21:126:35 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:128:22:128:36 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:128:22:128:36 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:133:20:133:34 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:133:20:133:34 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:135:19:135:33 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:135:19:135:33 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
| mad/Test.java:140:20:140:36 | (...)... | mad/Test.java:28:16:28:36 | getHostName(...) : String | mad/Test.java:140:20:140:36 | (...)... | This path depends on a $@. | mad/Test.java:28:16:28:36 | getHostName(...) | user-provided value |
|
||||
|
||||
@@ -2,36 +2,141 @@ import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.net.InetAddress;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.tools.ant.AntClassLoader;
|
||||
import org.apache.tools.ant.DirectoryScanner;
|
||||
import org.apache.tools.ant.taskdefs.Copy;
|
||||
import org.apache.tools.ant.taskdefs.Expand;
|
||||
import org.apache.tools.ant.types.FileSet;
|
||||
import org.codehaus.cargo.container.installer.ZipURLInstaller;
|
||||
import org.kohsuke.stapler.framework.io.LargeText;
|
||||
import org.openjdk.jmh.runner.options.ChainedOptionsBuilder;
|
||||
|
||||
public class Test {
|
||||
|
||||
public Object source(InetAddress address) {
|
||||
private InetAddress address;
|
||||
|
||||
public Object source() {
|
||||
return address.getHostName();
|
||||
}
|
||||
|
||||
void test(InetAddress address) throws IOException {
|
||||
void test() throws IOException {
|
||||
// "java.lang;Module;true;getResourceAsStream;(String);;Argument[0];read-file;ai-generated"
|
||||
getClass().getModule().getResourceAsStream((String) source(null));
|
||||
getClass().getModule().getResourceAsStream((String) source());
|
||||
// "java.lang;Class;false;getResource;(String);;Argument[0];read-file;ai-generated"
|
||||
getClass().getResource((String) source(null));
|
||||
getClass().getResource((String) source());
|
||||
// "java.lang;ClassLoader;true;getSystemResourceAsStream;(String);;Argument[0];read-file;ai-generated"
|
||||
ClassLoader.getSystemResource((String) source(null));
|
||||
ClassLoader.getSystemResourceAsStream((String) source());
|
||||
// "java.io;File;true;createTempFile;(String,String,File);;Argument[2];create-file;ai-generated"
|
||||
File.createTempFile(";", (String) source(null));
|
||||
File.createTempFile(";", ";", (File) source());
|
||||
// "java.io;File;true;renameTo;(File);;Argument[0];create-file;ai-generated"
|
||||
new File("").renameTo((File) source(null));
|
||||
new File("").renameTo((File) source());
|
||||
// "java.io;FileInputStream;true;FileInputStream;(File);;Argument[0];read-file;ai-generated"
|
||||
new FileInputStream((File) source(null));
|
||||
new FileInputStream((File) source());
|
||||
// "java.io;FileReader;true;FileReader;(File);;Argument[0];read-file;ai-generated"
|
||||
new FileReader((File) source(null));
|
||||
new FileReader((File) source());
|
||||
// "java.io;FileReader;true;FileReader;(String);;Argument[0];read-file;ai-generated"
|
||||
new FileReader((String) source(null));
|
||||
new FileReader((String) source());
|
||||
// "java.nio.file;Files;false;copy;;;Argument[0];read-file;manual"
|
||||
Files.copy((Path) source(), (Path) null);
|
||||
Files.copy((Path) source(), (OutputStream) null);
|
||||
Files.copy((InputStream) source(), null);
|
||||
// "java.nio.file;Files;false;copy;;;Argument[1];create-file;manual"
|
||||
Files.copy((Path) null, (Path) source());
|
||||
Files.copy((Path) null, (OutputStream) source());
|
||||
Files.copy((InputStream) null, (Path) source());
|
||||
// "java.nio.file;Files;false;createDirectories;;;Argument[0];create-file;manual"
|
||||
Files.createDirectories((Path) source());
|
||||
// "java.nio.file;Files;false;createDirectory;;;Argument[0];create-file;manual"
|
||||
Files.createDirectory((Path) source());
|
||||
// "java.nio.file;Files;false;createFile;;;Argument[0];create-file;manual"
|
||||
Files.createFile((Path) source());
|
||||
// "java.nio.file;Files;false;createLink;;;Argument[0];create-file;manual"
|
||||
Files.createLink((Path) source(), null);
|
||||
// "java.nio.file;Files;false;createSymbolicLink;;;Argument[0];create-file;manual"
|
||||
Files.createSymbolicLink((Path) source(), null);
|
||||
// "java.nio.file;Files;false;createTempDirectory;(Path,String,FileAttribute[]);;Argument[0];create-file;manual"
|
||||
Files.createTempDirectory((Path) source(), null);
|
||||
// "java.nio.file;Files;false;createTempFile;(Path,String,String,FileAttribute[]);;Argument[0];create-file;manual"
|
||||
Files.createTempFile((Path) source(), null, null);
|
||||
// "java.nio.file;Files;false;delete;(Path);;Argument[0];delete-file;ai-generated"
|
||||
Files.delete((Path) source());
|
||||
// "java.nio.file;Files;false;deleteIfExists;(Path);;Argument[0];delete-file;ai-generated"
|
||||
Files.deleteIfExists((Path) source());
|
||||
// "java.nio.file;Files;false;lines;(Path,Charset);;Argument[0];read-file;ai-generated"
|
||||
Files.lines((Path) source(), null);
|
||||
// "java.nio.file;Files;false;move;;;Argument[1];create-file;manual"
|
||||
Files.move(null, (Path) source());
|
||||
// "java.nio.file;Files;false;newBufferedReader;(Path,Charset);;Argument[0];read-file;ai-generated"
|
||||
Files.newBufferedReader((Path) source(), null);
|
||||
// "java.nio.file;Files;false;newBufferedWriter;;;Argument[0];create-file;manual"
|
||||
Files.newBufferedWriter((Path) source());
|
||||
Files.newBufferedWriter((Path) source(), (Charset) null);
|
||||
// "java.nio.file;Files;false;newOutputStream;;;Argument[0];create-file;manual"
|
||||
Files.newOutputStream((Path) source());
|
||||
// "java.nio.file;Files;false;write;;;Argument[0];create-file;manual"
|
||||
Files.write((Path) source(), (byte[]) null);
|
||||
Files.write((Path) source(), (Iterable<CharSequence>) null);
|
||||
Files.write((Path) source(), (Iterable<CharSequence>) null, (Charset) null);
|
||||
// "java.nio.file;Files;false;writeString;;;Argument[0];create-file;manual"
|
||||
Files.writeString((Path) source(), (CharSequence) null);
|
||||
Files.writeString((Path) source(), (CharSequence) null, (Charset) null);
|
||||
// "javax.xml.transform.stream;StreamResult";true;"StreamResult;(File);;Argument[0];create-file;ai-generated"
|
||||
new StreamResult((File) source());
|
||||
// "org.apache.commons.io;FileUtils;true;openInputStream;(File);;Argument[0];read-file;ai-generated"
|
||||
FileUtils.openInputStream((File) source());
|
||||
// "org.codehaus.cargo.container.installer;ZipURLInstaller;true;ZipURLInstaller;(URL,String,String);;Argument[1];create-file;ai-generated"
|
||||
new ZipURLInstaller((URL) null, (String) source(null), "");
|
||||
new ZipURLInstaller((URL) null, (String) source(), "");
|
||||
// "org.codehaus.cargo.container.installer;ZipURLInstaller;true;ZipURLInstaller;(URL,String,String);;Argument[2];create-file;ai-generated"
|
||||
new ZipURLInstaller((URL) null, "", (String) source(null));
|
||||
new ZipURLInstaller((URL) null, "", (String) source());
|
||||
}
|
||||
|
||||
void test(AntClassLoader acl) {
|
||||
// "org.apache.tools.ant;AntClassLoader;true;addPathComponent;(File);;Argument[0];read-file;ai-generated"
|
||||
acl.addPathComponent((File) source());
|
||||
// "org.apache.tools.ant;AntClassLoader;true;AntClassLoader;(ClassLoader,Project,Path,boolean);;Argument[2];read-file;ai-generated"
|
||||
new AntClassLoader(null, null, (org.apache.tools.ant.types.Path) source(), false);
|
||||
// "org.apache.tools.ant;AntClassLoader;true;AntClassLoader;(Project,Path,boolean);;Argument[1];read-file;ai-generated"
|
||||
new AntClassLoader(null, (org.apache.tools.ant.types.Path) source(), false);
|
||||
// "org.apache.tools.ant;AntClassLoader;true;AntClassLoader;(Project,Path);;Argument[1];read-file;ai-generated"
|
||||
new AntClassLoader(null, (org.apache.tools.ant.types.Path) source());
|
||||
// "org.kohsuke.stapler.framework.io;LargeText;true;LargeText;(File,Charset,boolean,boolean);;Argument[0];read-file;ai-generated"
|
||||
new LargeText((File) source(), null, false, false);
|
||||
}
|
||||
|
||||
void test(DirectoryScanner ds) {
|
||||
// "org.apache.tools.ant;DirectoryScanner;true;setBasedir;(File);;Argument[0];read-file;ai-generated"
|
||||
ds.setBasedir((File) source());
|
||||
}
|
||||
|
||||
void test(Copy cp) {
|
||||
// "org.apache.tools.ant.taskdefs;Copy;true;addFileset;(FileSet);;Argument[0];read-file;ai-generated"
|
||||
cp.addFileset((FileSet) source());
|
||||
// "org.apache.tools.ant.taskdefs;Copy;true;setFile;(File);;Argument[0];read-file;ai-generated"
|
||||
cp.setFile((File) source());
|
||||
// "org.apache.tools.ant.taskdefs;Copy;true;setTodir;(File);;Argument[0];create-file;ai-generated"
|
||||
cp.setTodir((File) source());
|
||||
// "org.apache.tools.ant.taskdefs;Copy;true;setTofile;(File);;Argument[0];create-file;ai-generated"
|
||||
cp.setTofile((File) source());
|
||||
}
|
||||
|
||||
void test(Expand ex) {
|
||||
// "org.apache.tools.ant.taskdefs;Expand;true;setDest;(File);;Argument[0];create-file;ai-generated"
|
||||
ex.setDest((File) source());
|
||||
// "org.apache.tools.ant.taskdefs;Expand;true;setSrc;(File);;Argument[0];read-file;ai-generated"
|
||||
ex.setSrc((File) source());
|
||||
}
|
||||
|
||||
void test(ChainedOptionsBuilder cob) {
|
||||
// "org.openjdk.jmh.runner.options;ChainedOptionsBuilder;true;result;(String);;Argument[0];create-file;ai-generated"
|
||||
cob.result((String) source());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
// semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/servlet-api-2.4:${testdir}/../../../../../stubs/apache-commons-io-2.6:${testdir}/../../../../../stubs/cargo
|
||||
// semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/servlet-api-2.4:${testdir}/../../../../../stubs/apache-commons-io-2.6:${testdir}/../../../../../stubs/cargo:${testdir}/../../../../../stubs/apache-ant-1.10.13:${testdir}/../../../../../stubs/stapler-1.263:${testdir}/../../../../../stubs/javax-servlet-2.5:${testdir}/../../../../../stubs/apache-commons-jelly-1.0.1:${testdir}/../../../../../stubs/apache-commons-fileupload-1.4:${testdir}/../../../../../stubs/saxon-xqj-9.x:${testdir}/../../../../../stubs/apache-commons-beanutils:${testdir}/../../../../../stubs/dom4j-2.1.1:${testdir}/../../../../../stubs/apache-commons-lang:${testdir}/../../../../../stubs/jaxen-1.2.0:${testdir}/../../../../../stubs/jmh-1.3.6
|
||||
@@ -4,7 +4,10 @@ edges
|
||||
| HttpsUrlsTest.java:24:13:24:57 | new URL(...) : URL | HttpsUrlsTest.java:28:50:28:50 | u |
|
||||
| HttpsUrlsTest.java:24:21:24:56 | ... + ... : String | HttpsUrlsTest.java:24:13:24:57 | new URL(...) : URL |
|
||||
| HttpsUrlsTest.java:36:23:36:28 | "http" : String | HttpsUrlsTest.java:41:50:41:50 | u |
|
||||
| HttpsUrlsTest.java:49:23:49:31 | "http://" : String | HttpsUrlsTest.java:51:64:51:98 | ... + ... : String |
|
||||
| HttpsUrlsTest.java:49:23:49:31 | "http://" : String | HttpsUrlsTest.java:55:50:55:50 | u |
|
||||
| HttpsUrlsTest.java:51:13:51:99 | new URL(...) : URL | HttpsUrlsTest.java:55:50:55:50 | u |
|
||||
| HttpsUrlsTest.java:51:64:51:98 | ... + ... : String | HttpsUrlsTest.java:51:13:51:99 | new URL(...) : URL |
|
||||
| HttpsUrlsTest.java:87:23:87:28 | "http" : String | HttpsUrlsTest.java:92:50:92:50 | u |
|
||||
nodes
|
||||
| HttpsUrlsTest.java:23:23:23:31 | "http://" : String | semmle.label | "http://" : String |
|
||||
@@ -14,6 +17,8 @@ nodes
|
||||
| HttpsUrlsTest.java:36:23:36:28 | "http" : String | semmle.label | "http" : String |
|
||||
| HttpsUrlsTest.java:41:50:41:50 | u | semmle.label | u |
|
||||
| HttpsUrlsTest.java:49:23:49:31 | "http://" : String | semmle.label | "http://" : String |
|
||||
| HttpsUrlsTest.java:51:13:51:99 | new URL(...) : URL | semmle.label | new URL(...) : URL |
|
||||
| HttpsUrlsTest.java:51:64:51:98 | ... + ... : String | semmle.label | ... + ... : String |
|
||||
| HttpsUrlsTest.java:55:50:55:50 | u | semmle.label | u |
|
||||
| HttpsUrlsTest.java:87:23:87:28 | "http" : String | semmle.label | "http" : String |
|
||||
| HttpsUrlsTest.java:92:50:92:50 | u | semmle.label | u |
|
||||
|
||||
@@ -4,6 +4,8 @@ edges
|
||||
| UrlRedirect.java:36:58:36:89 | getParameter(...) : String | UrlRedirect.java:36:25:36:89 | ... + ... |
|
||||
| UrlRedirect.java:45:28:45:39 | input : String | UrlRedirect.java:46:10:46:14 | input : String |
|
||||
| UrlRedirect.java:46:10:46:14 | input : String | UrlRedirect.java:46:10:46:40 | replaceAll(...) : String |
|
||||
| mad/Test.java:9:16:9:41 | getParameter(...) : String | mad/Test.java:14:31:14:38 | source(...) : String |
|
||||
| mad/Test.java:14:31:14:38 | source(...) : String | mad/Test.java:14:22:14:38 | (...)... |
|
||||
nodes
|
||||
| UrlRedirect.java:23:25:23:54 | getParameter(...) | semmle.label | getParameter(...) |
|
||||
| UrlRedirect.java:32:25:32:67 | weakCleanup(...) | semmle.label | weakCleanup(...) |
|
||||
@@ -15,6 +17,9 @@ nodes
|
||||
| UrlRedirect.java:45:28:45:39 | input : String | semmle.label | input : String |
|
||||
| UrlRedirect.java:46:10:46:14 | input : String | semmle.label | input : String |
|
||||
| UrlRedirect.java:46:10:46:40 | replaceAll(...) : String | semmle.label | replaceAll(...) : String |
|
||||
| mad/Test.java:9:16:9:41 | getParameter(...) : String | semmle.label | getParameter(...) : String |
|
||||
| mad/Test.java:14:22:14:38 | (...)... | semmle.label | (...)... |
|
||||
| mad/Test.java:14:31:14:38 | source(...) : String | semmle.label | source(...) : String |
|
||||
subpaths
|
||||
| UrlRedirect.java:32:37:32:66 | getParameter(...) : String | UrlRedirect.java:45:28:45:39 | input : String | UrlRedirect.java:46:10:46:40 | replaceAll(...) : String | UrlRedirect.java:32:25:32:67 | weakCleanup(...) |
|
||||
#select
|
||||
@@ -23,3 +28,4 @@ subpaths
|
||||
| UrlRedirect.java:36:25:36:89 | ... + ... | UrlRedirect.java:36:58:36:89 | getParameter(...) : String | UrlRedirect.java:36:25:36:89 | ... + ... | Untrusted URL redirection depends on a $@. | UrlRedirect.java:36:58:36:89 | getParameter(...) | user-provided value |
|
||||
| UrlRedirect.java:39:34:39:63 | getParameter(...) | UrlRedirect.java:39:34:39:63 | getParameter(...) | UrlRedirect.java:39:34:39:63 | getParameter(...) | Untrusted URL redirection depends on a $@. | UrlRedirect.java:39:34:39:63 | getParameter(...) | user-provided value |
|
||||
| UrlRedirect.java:42:43:42:72 | getParameter(...) | UrlRedirect.java:42:43:42:72 | getParameter(...) | UrlRedirect.java:42:43:42:72 | getParameter(...) | Untrusted URL redirection depends on a $@. | UrlRedirect.java:42:43:42:72 | getParameter(...) | user-provided value |
|
||||
| mad/Test.java:14:22:14:38 | (...)... | mad/Test.java:9:16:9:41 | getParameter(...) : String | mad/Test.java:14:22:14:38 | (...)... | Untrusted URL redirection depends on a $@. | mad/Test.java:9:16:9:41 | getParameter(...) | user-provided value |
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import org.kohsuke.stapler.HttpResponses;
|
||||
|
||||
public class Test {
|
||||
|
||||
private static HttpServletRequest request;
|
||||
|
||||
public static Object source() {
|
||||
return request.getParameter(null);
|
||||
}
|
||||
|
||||
public void test(HttpResponses r) {
|
||||
// "org.kohsuke.stapler;HttpResponses;true;redirectTo;(String);;Argument[0];open-url;ai-generated"
|
||||
r.redirectTo((String) source());
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/servlet-api-2.4
|
||||
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/servlet-api-2.4:${testdir}/../../../../../stubs/stapler-1.263:${testdir}/../../../../../stubs/javax-servlet-2.5:${testdir}/../../../../../stubs/apache-commons-jelly-1.0.1:${testdir}/../../../../../stubs/apache-commons-fileupload-1.4:${testdir}/../../../../../stubs/saxon-xqj-9.x:${testdir}/../../../../../stubs/apache-commons-beanutils:${testdir}/../../../../../stubs/dom4j-2.1.1:${testdir}/../../../../../stubs/apache-commons-lang:${testdir}/../../../../../stubs/jaxen-1.2.0
|
||||
|
||||
@@ -1,22 +1,77 @@
|
||||
import java.net.DatagramSocket;
|
||||
import java.net.Proxy;
|
||||
import java.net.Socket;
|
||||
import java.net.SocketAddress;
|
||||
import java.net.URL;
|
||||
import java.net.URLClassLoader;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javafx.scene.web.WebEngine;
|
||||
import org.apache.commons.jelly.JellyContext;
|
||||
import org.codehaus.cargo.container.installer.ZipURLInstaller;
|
||||
import org.kohsuke.stapler.HttpResponses;
|
||||
|
||||
public class Test {
|
||||
|
||||
public static Object source(HttpServletRequest request) {
|
||||
private static HttpServletRequest request;
|
||||
|
||||
public static Object source() {
|
||||
return request.getParameter(null);
|
||||
}
|
||||
|
||||
public void test(DatagramSocket socket) throws Exception {
|
||||
// "java.net;DatagramSocket;true;connect;(SocketAddress);;Argument[0];open-url;ai-generated"
|
||||
socket.connect((SocketAddress) source()); // $ SSRF
|
||||
}
|
||||
|
||||
public void test(URL url) throws Exception {
|
||||
// "java.net;URL;false;openConnection;(Proxy);:Argument[-1]:open-url;manual"
|
||||
((URL) source()).openConnection(); // $ SSRF
|
||||
// "java.net;URL;false;openConnection;(Proxy);:Argument[0]:open-url;ai-generated"
|
||||
url.openConnection((Proxy) source()); // $ SSRF
|
||||
// "java.net;URL;false;openStream;;:Argument[-1]:open-url;manual"
|
||||
((URL) source()).openStream(); // $ SSRF
|
||||
}
|
||||
|
||||
public void test(URLClassLoader cl) throws Exception {
|
||||
// "java.net;URLClassLoader;false;URLClassLoader;(String,URL[],ClassLoader);;Argument[1];open-url;manual"
|
||||
new URLClassLoader("", (URL[]) source(), null); // $ SSRF
|
||||
// "java.net;URLClassLoader;false;URLClassLoader;(String,URL[],ClassLoader,URLStreamHandlerFactory);;Argument[1];open-url;manual"
|
||||
new URLClassLoader("", (URL[]) source(), null, null); // $ SSRF
|
||||
// "java.net;URLClassLoader;false;URLClassLoader;(URL[]);;Argument[0];open-url;manual"
|
||||
new URLClassLoader((URL[]) source()); // $ SSRF
|
||||
// "java.net;URLClassLoader;false;URLClassLoader;(URL[],ClassLoader);;Argument[0];open-url;manual"
|
||||
new URLClassLoader((URL[]) source(), null); // $ SSRF
|
||||
// "java.net;URLClassLoader;false;URLClassLoader;(URL[],ClassLoader,URLStreamHandlerFactory);;Argument[0];open-url;manual"
|
||||
new URLClassLoader((URL[]) source(), null, null); // $ SSRF
|
||||
// "java.net;URLClassLoader;false;newInstance;;;Argument[0];open-url;manual"
|
||||
URLClassLoader.newInstance((URL[]) source()); // $ SSRF
|
||||
// "org.apache.commons.jelly;JellyContext;true;JellyContext;(JellyContext,URL,URL);;Argument[1];open-url;ai-generated"
|
||||
new JellyContext(null, (URL) source(), null); // $ SSRF
|
||||
// "org.apache.commons.jelly;JellyContext;true;JellyContext;(JellyContext,URL,URL);;Argument[2];open-url;ai-generated"
|
||||
new JellyContext(null, null, (URL) source()); // $ SSRF
|
||||
// "org.apache.commons.jelly;JellyContext;true;JellyContext;(JellyContext,URL);;Argument[1];open-url;ai-generated"
|
||||
new JellyContext((JellyContext) null, (URL) source()); // $ SSRF
|
||||
// "org.apache.commons.jelly;JellyContext;true;JellyContext;(URL,URL);;Argument[0];open-url;ai-generated"
|
||||
new JellyContext((URL) source(), null); // $ SSRF
|
||||
// "org.apache.commons.jelly;JellyContext;true;JellyContext;(URL,URL);;Argument[1];open-url;ai-generated"
|
||||
new JellyContext((URL) null, (URL) source()); // $ SSRF
|
||||
// "org.apache.commons.jelly;JellyContext;true;JellyContext;(URL);;Argument[0];open-url;ai-generated"
|
||||
new JellyContext((URL) source()); // $ SSRF
|
||||
}
|
||||
|
||||
public void test(WebEngine webEngine) {
|
||||
// "javafx.scene.web;WebEngine;false;load;(String);;Argument[0];open-url;ai-generated"
|
||||
webEngine.load((String) source(null)); // $ SSRF
|
||||
webEngine.load((String) source()); // $ SSRF
|
||||
}
|
||||
|
||||
public void test() {
|
||||
public void test(ZipURLInstaller zui) {
|
||||
// "org.codehaus.cargo.container.installer;ZipURLInstaller;true;ZipURLInstaller;(URL,String,String);;Argument[0];open-url:ai-generated"
|
||||
new ZipURLInstaller((URL) source(null), "", ""); // $ SSRF
|
||||
new ZipURLInstaller((URL) source(), "", ""); // $ SSRF
|
||||
}
|
||||
|
||||
public void test(HttpResponses r) {
|
||||
// "org.kohsuke.stapler;HttpResponses;true;staticResource;(URL);;Argument[0];open-url;ai-generated"
|
||||
r.staticResource((URL) source()); // $ SSRF
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
//semmle-extractor-options: --javac-args -source 11 -target 11 -cp ${testdir}/../../../stubs/springframework-5.3.8:${testdir}/../../../stubs/javax-ws-rs-api-2.1.1:${testdir}/../../../stubs/javax-ws-rs-api-3.0.0:${testdir}/../../../stubs/apache-http-4.4.13/:${testdir}/../../../stubs/servlet-api-2.4/:${testdir}/../../../stubs/projectreactor-3.4.3/:${testdir}/../../../stubs/postgresql-42.3.3/:${testdir}/../../../stubs/HikariCP-3.4.5/:${testdir}/../../../stubs/spring-jdbc-5.3.8/:${testdir}/../../../stubs/jdbi3-core-3.27.2/:${testdir}/../../../stubs/cargo:${testdir}/../../../stubs/javafx-web
|
||||
|
||||
//semmle-extractor-options: --javac-args -source 11 -target 11 -cp ${testdir}/../../../stubs/springframework-5.3.8:${testdir}/../../../stubs/javax-ws-rs-api-2.1.1:${testdir}/../../../stubs/javax-ws-rs-api-3.0.0:${testdir}/../../../stubs/apache-http-4.4.13/:${testdir}/../../../stubs/projectreactor-3.4.3/:${testdir}/../../../stubs/postgresql-42.3.3/:${testdir}/../../../stubs/HikariCP-3.4.5/:${testdir}/../../../stubs/spring-jdbc-5.3.8/:${testdir}/../../../stubs/jdbi3-core-3.27.2/:${testdir}/../../../stubs/cargo:${testdir}/../../../stubs/javafx-web:${testdir}/../../../stubs/apache-commons-jelly-1.0.1:${testdir}/../../../stubs/dom4j-2.1.1:${testdir}/../../../stubs/jaxen-1.2.0:${testdir}/../../../stubs/stapler-1.263:${testdir}/../../../stubs/javax-servlet-2.5:${testdir}/../../../stubs/apache-commons-fileupload-1.4:${testdir}/../../../stubs/saxon-xqj-9.x:${testdir}/../../../stubs/apache-commons-beanutils:${testdir}/../../../stubs/apache-commons-lang
|
||||
|
||||
70
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/AntClassLoader.java
generated
Normal file
70
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/AntClassLoader.java
generated
Normal file
@@ -0,0 +1,70 @@
|
||||
// Generated automatically from org.apache.tools.ant.AntClassLoader for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.util.Enumeration;
|
||||
import java.util.jar.Manifest;
|
||||
import org.apache.tools.ant.BuildEvent;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.SubBuildListener;
|
||||
import org.apache.tools.ant.types.Path;
|
||||
|
||||
public class AntClassLoader extends ClassLoader implements Closeable, SubBuildListener
|
||||
{
|
||||
protected Class<? extends Object> defineClassFromData(File p0, byte[] p1, String p2){ return null; }
|
||||
protected Class<? extends Object> loadClass(String p0, boolean p1){ return null; }
|
||||
protected Enumeration<URL> findResources(String p0){ return null; }
|
||||
protected Enumeration<URL> findResources(String p0, boolean p1){ return null; }
|
||||
protected URL findResource(String p0){ return null; }
|
||||
protected URL getResourceURL(File p0, String p1){ return null; }
|
||||
protected boolean isInPath(File p0){ return false; }
|
||||
protected void addPathFile(File p0){}
|
||||
protected void definePackage(File p0, String p1){}
|
||||
protected void definePackage(File p0, String p1, Manifest p2){}
|
||||
protected void log(String p0, int p1){}
|
||||
public AntClassLoader(){}
|
||||
public AntClassLoader(ClassLoader p0, Project p1, Path p2){}
|
||||
public AntClassLoader(ClassLoader p0, Project p1, Path p2, boolean p3){}
|
||||
public AntClassLoader(ClassLoader p0, boolean p1){}
|
||||
public AntClassLoader(Project p0, Path p1){}
|
||||
public AntClassLoader(Project p0, Path p1, boolean p2){}
|
||||
public Class<? extends Object> findClass(String p0){ return null; }
|
||||
public Class<? extends Object> forceLoadClass(String p0){ return null; }
|
||||
public Class<? extends Object> forceLoadSystemClass(String p0){ return null; }
|
||||
public ClassLoader getConfiguredParent(){ return null; }
|
||||
public Enumeration<URL> getNamedResources(String p0){ return null; }
|
||||
public Enumeration<URL> getResources(String p0){ return null; }
|
||||
public InputStream getResourceAsStream(String p0){ return null; }
|
||||
public String getClasspath(){ return null; }
|
||||
public String toString(){ return null; }
|
||||
public URL getResource(String p0){ return null; }
|
||||
public static AntClassLoader newAntClassLoader(ClassLoader p0, Project p1, Path p2, boolean p3){ return null; }
|
||||
public static void initializeClass(Class<? extends Object> p0){}
|
||||
public void addJavaLibraries(){}
|
||||
public void addLoaderPackageRoot(String p0){}
|
||||
public void addPathComponent(File p0){}
|
||||
public void addPathElement(String p0){}
|
||||
public void addSystemPackageRoot(String p0){}
|
||||
public void buildFinished(BuildEvent p0){}
|
||||
public void buildStarted(BuildEvent p0){}
|
||||
public void cleanup(){}
|
||||
public void close(){}
|
||||
public void messageLogged(BuildEvent p0){}
|
||||
public void resetThreadContextLoader(){}
|
||||
public void setClassPath(Path p0){}
|
||||
public void setIsolated(boolean p0){}
|
||||
public void setParent(ClassLoader p0){}
|
||||
public void setParentFirst(boolean p0){}
|
||||
public void setProject(Project p0){}
|
||||
public void setThreadContextLoader(){}
|
||||
public void subBuildFinished(BuildEvent p0){}
|
||||
public void subBuildStarted(BuildEvent p0){}
|
||||
public void targetFinished(BuildEvent p0){}
|
||||
public void targetStarted(BuildEvent p0){}
|
||||
public void taskFinished(BuildEvent p0){}
|
||||
public void taskStarted(BuildEvent p0){}
|
||||
}
|
||||
54
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/BuildEvent.java
generated
Normal file
54
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/BuildEvent.java
generated
Normal file
@@ -0,0 +1,54 @@
|
||||
// Generated automatically from org.apache.tools.ant.BuildEvent for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import java.util.EventObject;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.Target;
|
||||
import org.apache.tools.ant.Task;
|
||||
|
||||
public class BuildEvent extends EventObject {
|
||||
protected BuildEvent() {
|
||||
super(null);
|
||||
}
|
||||
|
||||
public BuildEvent(Project p0) {
|
||||
super(null);
|
||||
}
|
||||
|
||||
public BuildEvent(Target p0) {
|
||||
super(null);
|
||||
}
|
||||
|
||||
public BuildEvent(Task p0) {
|
||||
super(null);
|
||||
}
|
||||
|
||||
public Project getProject() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Target getTarget() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Task getTask() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Throwable getException() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getPriority() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void setException(Throwable p0) {}
|
||||
|
||||
public void setMessage(String p0, int p1) {}
|
||||
}
|
||||
22
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/BuildException.java
generated
Normal file
22
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/BuildException.java
generated
Normal file
@@ -0,0 +1,22 @@
|
||||
// Generated automatically from org.apache.tools.ant.BuildException for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import org.apache.tools.ant.Location;
|
||||
|
||||
public class BuildException extends RuntimeException
|
||||
{
|
||||
public BuildException(){}
|
||||
public BuildException(String p0){}
|
||||
public BuildException(String p0, Location p1){}
|
||||
public BuildException(String p0, Object... p1){}
|
||||
public BuildException(String p0, Throwable p1){}
|
||||
public BuildException(String p0, Throwable p1, Location p2){}
|
||||
public BuildException(Throwable p0){}
|
||||
public BuildException(Throwable p0, Location p1){}
|
||||
public Location getLocation(){ return null; }
|
||||
public String toString(){ return null; }
|
||||
public Throwable getException(){ return null; }
|
||||
public static BuildException of(Throwable p0){ return null; }
|
||||
public void setLocation(Location p0){}
|
||||
}
|
||||
17
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/BuildListener.java
generated
Normal file
17
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/BuildListener.java
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
// Generated automatically from org.apache.tools.ant.BuildListener for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import java.util.EventListener;
|
||||
import org.apache.tools.ant.BuildEvent;
|
||||
|
||||
public interface BuildListener extends EventListener
|
||||
{
|
||||
void buildFinished(BuildEvent p0);
|
||||
void buildStarted(BuildEvent p0);
|
||||
void messageLogged(BuildEvent p0);
|
||||
void targetFinished(BuildEvent p0);
|
||||
void targetStarted(BuildEvent p0);
|
||||
void taskFinished(BuildEvent p0);
|
||||
void taskStarted(BuildEvent p0);
|
||||
}
|
||||
80
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/DirectoryScanner.java
generated
Normal file
80
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/DirectoryScanner.java
generated
Normal file
@@ -0,0 +1,80 @@
|
||||
// Generated automatically from org.apache.tools.ant.DirectoryScanner for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Vector;
|
||||
import org.apache.tools.ant.FileScanner;
|
||||
import org.apache.tools.ant.types.Resource;
|
||||
import org.apache.tools.ant.types.ResourceFactory;
|
||||
import org.apache.tools.ant.types.selectors.FileSelector;
|
||||
import org.apache.tools.ant.types.selectors.SelectorScanner;
|
||||
|
||||
public class DirectoryScanner implements FileScanner, ResourceFactory, SelectorScanner
|
||||
{
|
||||
protected File basedir = null;
|
||||
protected FileSelector[] selectors = null;
|
||||
protected String[] excludes = null;
|
||||
protected String[] includes = null;
|
||||
protected Vector<String> dirsDeselected = null;
|
||||
protected Vector<String> dirsExcluded = null;
|
||||
protected Vector<String> dirsIncluded = null;
|
||||
protected Vector<String> dirsNotIncluded = null;
|
||||
protected Vector<String> filesDeselected = null;
|
||||
protected Vector<String> filesExcluded = null;
|
||||
protected Vector<String> filesIncluded = null;
|
||||
protected Vector<String> filesNotIncluded = null;
|
||||
protected boolean couldHoldIncluded(String p0){ return false; }
|
||||
protected boolean errorOnMissingDir = false;
|
||||
protected boolean everythingIncluded = false;
|
||||
protected boolean haveSlowResults = false;
|
||||
protected boolean isCaseSensitive = false;
|
||||
protected boolean isExcluded(String p0){ return false; }
|
||||
protected boolean isIncluded(String p0){ return false; }
|
||||
protected boolean isSelected(String p0, File p1){ return false; }
|
||||
protected static String[] DEFAULTEXCLUDES = null;
|
||||
protected static boolean match(String p0, String p1, boolean p2){ return false; }
|
||||
protected static boolean matchPath(String p0, String p1){ return false; }
|
||||
protected static boolean matchPath(String p0, String p1, boolean p2){ return false; }
|
||||
protected static boolean matchPatternStart(String p0, String p1){ return false; }
|
||||
protected static boolean matchPatternStart(String p0, String p1, boolean p2){ return false; }
|
||||
protected void clearResults(){}
|
||||
protected void scandir(File p0, String p1, boolean p2){}
|
||||
protected void slowScan(){}
|
||||
public DirectoryScanner(){}
|
||||
public File getBasedir(){ return null; }
|
||||
public Resource getResource(String p0){ return null; }
|
||||
public String[] getDeselectedDirectories(){ return null; }
|
||||
public String[] getDeselectedFiles(){ return null; }
|
||||
public String[] getExcludedDirectories(){ return null; }
|
||||
public String[] getExcludedFiles(){ return null; }
|
||||
public String[] getIncludedDirectories(){ return null; }
|
||||
public String[] getIncludedFiles(){ return null; }
|
||||
public String[] getNotFollowedSymlinks(){ return null; }
|
||||
public String[] getNotIncludedDirectories(){ return null; }
|
||||
public String[] getNotIncludedFiles(){ return null; }
|
||||
public boolean isCaseSensitive(){ return false; }
|
||||
public boolean isEverythingIncluded(){ return false; }
|
||||
public boolean isFollowSymlinks(){ return false; }
|
||||
public int getIncludedDirsCount(){ return 0; }
|
||||
public int getIncludedFilesCount(){ return 0; }
|
||||
public static String DOES_NOT_EXIST_POSTFIX = null;
|
||||
public static String[] getDefaultExcludes(){ return null; }
|
||||
public static boolean addDefaultExclude(String p0){ return false; }
|
||||
public static boolean match(String p0, String p1){ return false; }
|
||||
public static boolean removeDefaultExclude(String p0){ return false; }
|
||||
public static int MAX_LEVELS_OF_SYMLINKS = 0;
|
||||
public static void resetDefaultExcludes(){}
|
||||
public void addDefaultExcludes(){}
|
||||
public void addExcludes(String[] p0){}
|
||||
public void scan(){}
|
||||
public void setBasedir(File p0){}
|
||||
public void setBasedir(String p0){}
|
||||
public void setCaseSensitive(boolean p0){}
|
||||
public void setErrorOnMissingDir(boolean p0){}
|
||||
public void setExcludes(String[] p0){}
|
||||
public void setFollowSymlinks(boolean p0){}
|
||||
public void setIncludes(String[] p0){}
|
||||
public void setMaxLevelsOfSymlinks(int p0){}
|
||||
public void setSelectors(FileSelector[] p0){}
|
||||
}
|
||||
11
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/Executor.java
generated
Normal file
11
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/Executor.java
generated
Normal file
@@ -0,0 +1,11 @@
|
||||
// Generated automatically from org.apache.tools.ant.Executor for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import org.apache.tools.ant.Project;
|
||||
|
||||
public interface Executor
|
||||
{
|
||||
Executor getSubProjectExecutor();
|
||||
void executeTargets(Project p0, String[] p1);
|
||||
}
|
||||
23
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/FileScanner.java
generated
Normal file
23
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/FileScanner.java
generated
Normal file
@@ -0,0 +1,23 @@
|
||||
// Generated automatically from org.apache.tools.ant.FileScanner for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public interface FileScanner
|
||||
{
|
||||
File getBasedir();
|
||||
String[] getExcludedDirectories();
|
||||
String[] getExcludedFiles();
|
||||
String[] getIncludedDirectories();
|
||||
String[] getIncludedFiles();
|
||||
String[] getNotIncludedDirectories();
|
||||
String[] getNotIncludedFiles();
|
||||
void addDefaultExcludes();
|
||||
void scan();
|
||||
void setBasedir(File p0);
|
||||
void setBasedir(String p0);
|
||||
void setCaseSensitive(boolean p0);
|
||||
void setExcludes(String[] p0);
|
||||
void setIncludes(String[] p0);
|
||||
}
|
||||
21
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/Location.java
generated
Normal file
21
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/Location.java
generated
Normal file
@@ -0,0 +1,21 @@
|
||||
// Generated automatically from org.apache.tools.ant.Location for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import java.io.Serializable;
|
||||
import org.xml.sax.Locator;
|
||||
|
||||
public class Location implements Serializable
|
||||
{
|
||||
protected Location() {}
|
||||
public Location(Locator p0){}
|
||||
public Location(String p0){}
|
||||
public Location(String p0, int p1, int p2){}
|
||||
public String getFileName(){ return null; }
|
||||
public String toString(){ return null; }
|
||||
public boolean equals(Object p0){ return false; }
|
||||
public int getColumnNumber(){ return 0; }
|
||||
public int getLineNumber(){ return 0; }
|
||||
public int hashCode(){ return 0; }
|
||||
public static Location UNKNOWN_LOCATION = null;
|
||||
}
|
||||
157
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/Project.java
generated
Normal file
157
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/Project.java
generated
Normal file
@@ -0,0 +1,157 @@
|
||||
// Generated automatically from org.apache.tools.ant.Project for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.util.Hashtable;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.Vector;
|
||||
import org.apache.tools.ant.AntClassLoader;
|
||||
import org.apache.tools.ant.BuildListener;
|
||||
import org.apache.tools.ant.Executor;
|
||||
import org.apache.tools.ant.Target;
|
||||
import org.apache.tools.ant.Task;
|
||||
import org.apache.tools.ant.input.InputHandler;
|
||||
import org.apache.tools.ant.types.FilterSet;
|
||||
import org.apache.tools.ant.types.Path;
|
||||
import org.apache.tools.ant.types.Resource;
|
||||
import org.apache.tools.ant.types.ResourceFactory;
|
||||
|
||||
public class Project implements ResourceFactory
|
||||
{
|
||||
protected void fireMessageLogged(Project p0, String p1, Throwable p2, int p3){}
|
||||
protected void fireMessageLogged(Project p0, String p1, int p2){}
|
||||
protected void fireMessageLogged(Target p0, String p1, Throwable p2, int p3){}
|
||||
protected void fireMessageLogged(Target p0, String p1, int p2){}
|
||||
protected void fireMessageLogged(Task p0, String p1, Throwable p2, int p3){}
|
||||
protected void fireMessageLogged(Task p0, String p1, int p2){}
|
||||
protected void fireTargetFinished(Target p0, Throwable p1){}
|
||||
protected void fireTargetStarted(Target p0){}
|
||||
protected void fireTaskFinished(Task p0, Throwable p1){}
|
||||
protected void fireTaskStarted(Task p0){}
|
||||
public <T> T getReference(String p0){ return null; }
|
||||
public AntClassLoader createClassLoader(ClassLoader p0, Path p1){ return null; }
|
||||
public AntClassLoader createClassLoader(Path p0){ return null; }
|
||||
public ClassLoader getCoreLoader(){ return null; }
|
||||
public Executor getExecutor(){ return null; }
|
||||
public File getBaseDir(){ return null; }
|
||||
public File resolveFile(String p0){ return null; }
|
||||
public File resolveFile(String p0, File p1){ return null; }
|
||||
public FilterSet getGlobalFilterSet(){ return null; }
|
||||
public Hashtable<String, Class<? extends Object>> getDataTypeDefinitions(){ return null; }
|
||||
public Hashtable<String, Class<? extends Object>> getTaskDefinitions(){ return null; }
|
||||
public Hashtable<String, Object> getInheritedProperties(){ return null; }
|
||||
public Hashtable<String, Object> getProperties(){ return null; }
|
||||
public Hashtable<String, Object> getReferences(){ return null; }
|
||||
public Hashtable<String, Object> getUserProperties(){ return null; }
|
||||
public Hashtable<String, String> getFilters(){ return null; }
|
||||
public Hashtable<String, Target> getTargets(){ return null; }
|
||||
public InputHandler getInputHandler(){ return null; }
|
||||
public InputStream getDefaultInputStream(){ return null; }
|
||||
public Map<String, Class<? extends Object>> getCopyOfDataTypeDefinitions(){ return null; }
|
||||
public Map<String, Class<? extends Object>> getCopyOfTaskDefinitions(){ return null; }
|
||||
public Map<String, Object> getCopyOfReferences(){ return null; }
|
||||
public Map<String, Target> getCopyOfTargets(){ return null; }
|
||||
public Object createDataType(String p0){ return null; }
|
||||
public Project createSubProject(){ return null; }
|
||||
public Project(){}
|
||||
public Resource getResource(String p0){ return null; }
|
||||
public Set<String> getPropertyNames(){ return null; }
|
||||
public String getDefaultTarget(){ return null; }
|
||||
public String getDescription(){ return null; }
|
||||
public String getElementName(Object p0){ return null; }
|
||||
public String getName(){ return null; }
|
||||
public String getProperty(String p0){ return null; }
|
||||
public String getUserProperty(String p0){ return null; }
|
||||
public String replaceProperties(String p0){ return null; }
|
||||
public Task createTask(String p0){ return null; }
|
||||
public Task getThreadTask(Thread p0){ return null; }
|
||||
public Vector<BuildListener> getBuildListeners(){ return null; }
|
||||
public boolean hasReference(String p0){ return false; }
|
||||
public boolean isKeepGoingMode(){ return false; }
|
||||
public final Vector<Target> topoSort(String p0, Hashtable<String, Target> p1){ return null; }
|
||||
public final Vector<Target> topoSort(String p0, Hashtable<String, Target> p1, boolean p2){ return null; }
|
||||
public final Vector<Target> topoSort(String[] p0, Hashtable<String, Target> p1, boolean p2){ return null; }
|
||||
public final void setProjectReference(Object p0){}
|
||||
public int defaultInput(byte[] p0, int p1, int p2){ return 0; }
|
||||
public int demuxInput(byte[] p0, int p1, int p2){ return 0; }
|
||||
public static Project getProject(Object p0){ return null; }
|
||||
public static String JAVA_1_0 = null;
|
||||
public static String JAVA_1_1 = null;
|
||||
public static String JAVA_1_2 = null;
|
||||
public static String JAVA_1_3 = null;
|
||||
public static String JAVA_1_4 = null;
|
||||
public static String TOKEN_END = null;
|
||||
public static String TOKEN_START = null;
|
||||
public static String getJavaVersion(){ return null; }
|
||||
public static String translatePath(String p0){ return null; }
|
||||
public static boolean toBoolean(String p0){ return false; }
|
||||
public static int MSG_DEBUG = 0;
|
||||
public static int MSG_ERR = 0;
|
||||
public static int MSG_INFO = 0;
|
||||
public static int MSG_VERBOSE = 0;
|
||||
public static int MSG_WARN = 0;
|
||||
public void addBuildListener(BuildListener p0){}
|
||||
public void addDataTypeDefinition(String p0, Class<? extends Object> p1){}
|
||||
public void addFilter(String p0, String p1){}
|
||||
public void addIdReference(String p0, Object p1){}
|
||||
public void addOrReplaceTarget(String p0, Target p1){}
|
||||
public void addOrReplaceTarget(Target p0){}
|
||||
public void addReference(String p0, Object p1){}
|
||||
public void addTarget(String p0, Target p1){}
|
||||
public void addTarget(Target p0){}
|
||||
public void addTaskDefinition(String p0, Class<? extends Object> p1){}
|
||||
public void checkTaskClass(Class<? extends Object> p0){}
|
||||
public void copyFile(File p0, File p1){}
|
||||
public void copyFile(File p0, File p1, boolean p2){}
|
||||
public void copyFile(File p0, File p1, boolean p2, boolean p3){}
|
||||
public void copyFile(File p0, File p1, boolean p2, boolean p3, boolean p4){}
|
||||
public void copyFile(String p0, String p1){}
|
||||
public void copyFile(String p0, String p1, boolean p2){}
|
||||
public void copyFile(String p0, String p1, boolean p2, boolean p3){}
|
||||
public void copyFile(String p0, String p1, boolean p2, boolean p3, boolean p4){}
|
||||
public void copyInheritedProperties(Project p0){}
|
||||
public void copyUserProperties(Project p0){}
|
||||
public void demuxFlush(String p0, boolean p1){}
|
||||
public void demuxOutput(String p0, boolean p1){}
|
||||
public void executeSortedTargets(Vector<Target> p0){}
|
||||
public void executeTarget(String p0){}
|
||||
public void executeTargets(Vector<String> p0){}
|
||||
public void fireBuildFinished(Throwable p0){}
|
||||
public void fireBuildStarted(){}
|
||||
public void fireSubBuildFinished(Throwable p0){}
|
||||
public void fireSubBuildStarted(){}
|
||||
public void inheritIDReferences(Project p0){}
|
||||
public void init(){}
|
||||
public void initProperties(){}
|
||||
public void initSubProject(Project p0){}
|
||||
public void log(String p0){}
|
||||
public void log(String p0, Throwable p1, int p2){}
|
||||
public void log(String p0, int p1){}
|
||||
public void log(Target p0, String p1, Throwable p2, int p3){}
|
||||
public void log(Target p0, String p1, int p2){}
|
||||
public void log(Task p0, String p1, Throwable p2, int p3){}
|
||||
public void log(Task p0, String p1, int p2){}
|
||||
public void registerThreadTask(Thread p0, Task p1){}
|
||||
public void removeBuildListener(BuildListener p0){}
|
||||
public void setBaseDir(File p0){}
|
||||
public void setBasedir(String p0){}
|
||||
public void setCoreLoader(ClassLoader p0){}
|
||||
public void setDefault(String p0){}
|
||||
public void setDefaultInputStream(InputStream p0){}
|
||||
public void setDefaultTarget(String p0){}
|
||||
public void setDescription(String p0){}
|
||||
public void setExecutor(Executor p0){}
|
||||
public void setFileLastModified(File p0, long p1){}
|
||||
public void setInheritedProperty(String p0, String p1){}
|
||||
public void setInputHandler(InputHandler p0){}
|
||||
public void setJavaVersionProperty(){}
|
||||
public void setKeepGoingMode(boolean p0){}
|
||||
public void setName(String p0){}
|
||||
public void setNewProperty(String p0, String p1){}
|
||||
public void setProperty(String p0, String p1){}
|
||||
public void setSystemProperties(){}
|
||||
public void setUserProperty(String p0, String p1){}
|
||||
}
|
||||
23
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/ProjectComponent.java
generated
Normal file
23
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/ProjectComponent.java
generated
Normal file
@@ -0,0 +1,23 @@
|
||||
// Generated automatically from org.apache.tools.ant.ProjectComponent for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import org.apache.tools.ant.Location;
|
||||
import org.apache.tools.ant.Project;
|
||||
|
||||
abstract public class ProjectComponent implements Cloneable
|
||||
{
|
||||
protected Location location = null;
|
||||
protected Project project = null;
|
||||
protected String description = null;
|
||||
public Location getLocation(){ return null; }
|
||||
public Object clone(){ return null; }
|
||||
public Project getProject(){ return null; }
|
||||
public ProjectComponent(){}
|
||||
public String getDescription(){ return null; }
|
||||
public void log(String p0){}
|
||||
public void log(String p0, int p1){}
|
||||
public void setDescription(String p0){}
|
||||
public void setLocation(Location p0){}
|
||||
public void setProject(Project p0){}
|
||||
}
|
||||
39
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/RuntimeConfigurable.java
generated
Normal file
39
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/RuntimeConfigurable.java
generated
Normal file
@@ -0,0 +1,39 @@
|
||||
// Generated automatically from org.apache.tools.ant.RuntimeConfigurable for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Enumeration;
|
||||
import java.util.Hashtable;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.UnknownElement;
|
||||
import org.xml.sax.AttributeList;
|
||||
|
||||
public class RuntimeConfigurable implements Serializable
|
||||
{
|
||||
protected RuntimeConfigurable() {}
|
||||
public AttributeList getAttributes(){ return null; }
|
||||
public Enumeration<RuntimeConfigurable> getChildren(){ return null; }
|
||||
public Hashtable<String, Object> getAttributeMap(){ return null; }
|
||||
public Object getProxy(){ return null; }
|
||||
public RuntimeConfigurable(Object p0, String p1){}
|
||||
public String getElementTag(){ return null; }
|
||||
public String getId(){ return null; }
|
||||
public String getPolyType(){ return null; }
|
||||
public StringBuffer getText(){ return null; }
|
||||
public boolean isEnabled(UnknownElement p0){ return false; }
|
||||
public void addChild(RuntimeConfigurable p0){}
|
||||
public void addText(String p0){}
|
||||
public void addText(char[] p0, int p1, int p2){}
|
||||
public void applyPreSet(RuntimeConfigurable p0){}
|
||||
public void maybeConfigure(Project p0){}
|
||||
public void maybeConfigure(Project p0, boolean p1){}
|
||||
public void reconfigure(Project p0){}
|
||||
public void removeAttribute(String p0){}
|
||||
public void setAttribute(String p0, Object p1){}
|
||||
public void setAttribute(String p0, String p1){}
|
||||
public void setAttributes(AttributeList p0){}
|
||||
public void setElementTag(String p0){}
|
||||
public void setPolyType(String p0){}
|
||||
public void setProxy(Object p0){}
|
||||
}
|
||||
12
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/SubBuildListener.java
generated
Normal file
12
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/SubBuildListener.java
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// Generated automatically from org.apache.tools.ant.SubBuildListener for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import org.apache.tools.ant.BuildEvent;
|
||||
import org.apache.tools.ant.BuildListener;
|
||||
|
||||
public interface SubBuildListener extends BuildListener
|
||||
{
|
||||
void subBuildFinished(BuildEvent p0);
|
||||
void subBuildStarted(BuildEvent p0);
|
||||
}
|
||||
43
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/Target.java
generated
Normal file
43
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/Target.java
generated
Normal file
@@ -0,0 +1,43 @@
|
||||
// Generated automatically from org.apache.tools.ant.Target for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
import org.apache.tools.ant.Location;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.RuntimeConfigurable;
|
||||
import org.apache.tools.ant.Task;
|
||||
import org.apache.tools.ant.TaskContainer;
|
||||
import org.apache.tools.ant.taskdefs.condition.Condition;
|
||||
|
||||
public class Target implements TaskContainer
|
||||
{
|
||||
public Enumeration<String> getDependencies(){ return null; }
|
||||
public Location getLocation(){ return null; }
|
||||
public Project getProject(){ return null; }
|
||||
public String getDescription(){ return null; }
|
||||
public String getIf(){ return null; }
|
||||
public String getName(){ return null; }
|
||||
public String getUnless(){ return null; }
|
||||
public String toString(){ return null; }
|
||||
public Target(){}
|
||||
public Target(Target p0){}
|
||||
public Task[] getTasks(){ return null; }
|
||||
public boolean dependsOn(String p0){ return false; }
|
||||
public final void performTasks(){}
|
||||
public static List<String> parseDepends(String p0, String p1, String p2){ return null; }
|
||||
public void addDataType(RuntimeConfigurable p0){}
|
||||
public void addDependency(String p0){}
|
||||
public void addTask(Task p0){}
|
||||
public void execute(){}
|
||||
public void setDepends(String p0){}
|
||||
public void setDescription(String p0){}
|
||||
public void setIf(Condition p0){}
|
||||
public void setIf(String p0){}
|
||||
public void setLocation(Location p0){}
|
||||
public void setName(String p0){}
|
||||
public void setProject(Project p0){}
|
||||
public void setUnless(Condition p0){}
|
||||
public void setUnless(String p0){}
|
||||
}
|
||||
41
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/Task.java
generated
Normal file
41
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/Task.java
generated
Normal file
@@ -0,0 +1,41 @@
|
||||
// Generated automatically from org.apache.tools.ant.Task for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import org.apache.tools.ant.ProjectComponent;
|
||||
import org.apache.tools.ant.RuntimeConfigurable;
|
||||
import org.apache.tools.ant.Target;
|
||||
|
||||
abstract public class Task extends ProjectComponent
|
||||
{
|
||||
protected RuntimeConfigurable getWrapper(){ return null; }
|
||||
protected RuntimeConfigurable wrapper = null;
|
||||
protected String taskName = null;
|
||||
protected String taskType = null;
|
||||
protected Target target = null;
|
||||
protected final boolean isInvalid(){ return false; }
|
||||
protected int handleInput(byte[] p0, int p1, int p2){ return 0; }
|
||||
protected void handleErrorFlush(String p0){}
|
||||
protected void handleErrorOutput(String p0){}
|
||||
protected void handleFlush(String p0){}
|
||||
protected void handleOutput(String p0){}
|
||||
public RuntimeConfigurable getRuntimeConfigurableWrapper(){ return null; }
|
||||
public String getTaskName(){ return null; }
|
||||
public String getTaskType(){ return null; }
|
||||
public Target getOwningTarget(){ return null; }
|
||||
public Task(){}
|
||||
public final void bindToOwner(Task p0){}
|
||||
public final void perform(){}
|
||||
public void execute(){}
|
||||
public void init(){}
|
||||
public void log(String p0){}
|
||||
public void log(String p0, Throwable p1, int p2){}
|
||||
public void log(String p0, int p1){}
|
||||
public void log(Throwable p0, int p1){}
|
||||
public void maybeConfigure(){}
|
||||
public void reconfigure(){}
|
||||
public void setOwningTarget(Target p0){}
|
||||
public void setRuntimeConfigurableWrapper(RuntimeConfigurable p0){}
|
||||
public void setTaskName(String p0){}
|
||||
public void setTaskType(String p0){}
|
||||
}
|
||||
10
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/TaskContainer.java
generated
Normal file
10
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/TaskContainer.java
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
// Generated automatically from org.apache.tools.ant.TaskContainer for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import org.apache.tools.ant.Task;
|
||||
|
||||
public interface TaskContainer
|
||||
{
|
||||
void addTask(Task p0);
|
||||
}
|
||||
43
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/UnknownElement.java
generated
Normal file
43
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/UnknownElement.java
generated
Normal file
@@ -0,0 +1,43 @@
|
||||
// Generated automatically from org.apache.tools.ant.UnknownElement for testing purposes
|
||||
|
||||
package org.apache.tools.ant;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.tools.ant.BuildException;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.RuntimeConfigurable;
|
||||
import org.apache.tools.ant.Task;
|
||||
|
||||
public class UnknownElement extends Task
|
||||
{
|
||||
protected UnknownElement() {}
|
||||
protected BuildException getNotFoundException(String p0, String p1){ return null; }
|
||||
protected Object makeObject(UnknownElement p0, RuntimeConfigurable p1){ return null; }
|
||||
protected String getComponentName(){ return null; }
|
||||
protected Task makeTask(UnknownElement p0, RuntimeConfigurable p1){ return null; }
|
||||
protected int handleInput(byte[] p0, int p1, int p2){ return 0; }
|
||||
protected void handleChildren(Object p0, RuntimeConfigurable p1){}
|
||||
protected void handleErrorFlush(String p0){}
|
||||
protected void handleErrorOutput(String p0){}
|
||||
protected void handleFlush(String p0){}
|
||||
protected void handleOutput(String p0){}
|
||||
public List<UnknownElement> getChildren(){ return null; }
|
||||
public Object getRealThing(){ return null; }
|
||||
public RuntimeConfigurable getWrapper(){ return null; }
|
||||
public String getNamespace(){ return null; }
|
||||
public String getQName(){ return null; }
|
||||
public String getTag(){ return null; }
|
||||
public String getTaskName(){ return null; }
|
||||
public Task getTask(){ return null; }
|
||||
public UnknownElement copy(Project p0){ return null; }
|
||||
public UnknownElement(String p0){}
|
||||
public boolean similar(Object p0){ return false; }
|
||||
public void addChild(UnknownElement p0){}
|
||||
public void applyPreSet(UnknownElement p0){}
|
||||
public void configure(Object p0){}
|
||||
public void execute(){}
|
||||
public void maybeConfigure(){}
|
||||
public void setNamespace(String p0){}
|
||||
public void setQName(String p0){}
|
||||
public void setRealThing(Object p0){}
|
||||
}
|
||||
45
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/BaseFilterReader.java
generated
Normal file
45
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/BaseFilterReader.java
generated
Normal file
@@ -0,0 +1,45 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.BaseFilterReader for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.FilterReader;
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.Project;
|
||||
|
||||
abstract public class BaseFilterReader extends FilterReader {
|
||||
protected final Project getProject() {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected final String readFully() {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected final String readLine() {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected final boolean getInitialized() {
|
||||
return false;
|
||||
}
|
||||
|
||||
protected final void setInitialized(boolean p0) {}
|
||||
|
||||
public BaseFilterReader() {
|
||||
super(null);
|
||||
}
|
||||
|
||||
public BaseFilterReader(Reader p0) {
|
||||
super(null);
|
||||
}
|
||||
|
||||
public final int read(char[] p0, int p1, int p2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public final long skip(long p0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public final void setProject(Project p0) {}
|
||||
}
|
||||
16
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/BaseParamFilterReader.java
generated
Normal file
16
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/BaseParamFilterReader.java
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.BaseParamFilterReader for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseFilterReader;
|
||||
import org.apache.tools.ant.types.Parameter;
|
||||
import org.apache.tools.ant.types.Parameterizable;
|
||||
|
||||
abstract public class BaseParamFilterReader extends BaseFilterReader implements Parameterizable
|
||||
{
|
||||
protected final Parameter[] getParameters(){ return null; }
|
||||
public BaseParamFilterReader(){}
|
||||
public BaseParamFilterReader(Reader p0){}
|
||||
public final void setParameters(Parameter... p0){}
|
||||
}
|
||||
10
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/ChainableReader.java
generated
Normal file
10
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/ChainableReader.java
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.ChainableReader for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
|
||||
public interface ChainableReader
|
||||
{
|
||||
Reader chain(Reader p0);
|
||||
}
|
||||
15
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/ClassConstants.java
generated
Normal file
15
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/ClassConstants.java
generated
Normal file
@@ -0,0 +1,15 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.ClassConstants for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
|
||||
public class ClassConstants extends BaseFilterReader implements ChainableReader
|
||||
{
|
||||
public ClassConstants(){}
|
||||
public ClassConstants(Reader p0){}
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public int read(){ return 0; }
|
||||
}
|
||||
15
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/EscapeUnicode.java
generated
Normal file
15
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/EscapeUnicode.java
generated
Normal file
@@ -0,0 +1,15 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.EscapeUnicode for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseParamFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
|
||||
public class EscapeUnicode extends BaseParamFilterReader implements ChainableReader
|
||||
{
|
||||
public EscapeUnicode(){}
|
||||
public EscapeUnicode(Reader p0){}
|
||||
public final Reader chain(Reader p0){ return null; }
|
||||
public final int read(){ return 0; }
|
||||
}
|
||||
17
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/ExpandProperties.java
generated
Normal file
17
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/ExpandProperties.java
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.ExpandProperties for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
import org.apache.tools.ant.types.PropertySet;
|
||||
|
||||
public class ExpandProperties extends BaseFilterReader implements ChainableReader
|
||||
{
|
||||
public ExpandProperties(){}
|
||||
public ExpandProperties(Reader p0){}
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public int read(){ return 0; }
|
||||
public void add(PropertySet p0){}
|
||||
}
|
||||
17
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/HeadFilter.java
generated
Normal file
17
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/HeadFilter.java
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.HeadFilter for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseParamFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
|
||||
public class HeadFilter extends BaseParamFilterReader implements ChainableReader
|
||||
{
|
||||
public HeadFilter(){}
|
||||
public HeadFilter(Reader p0){}
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public int read(){ return 0; }
|
||||
public void setLines(long p0){}
|
||||
public void setSkip(long p0){}
|
||||
}
|
||||
26
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/LineContains.java
generated
Normal file
26
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/LineContains.java
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.LineContains for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseParamFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
|
||||
public class LineContains extends BaseParamFilterReader implements ChainableReader
|
||||
{
|
||||
public LineContains(){}
|
||||
public LineContains(Reader p0){}
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public boolean isMatchAny(){ return false; }
|
||||
public boolean isNegated(){ return false; }
|
||||
public int read(){ return 0; }
|
||||
public void addConfiguredContains(LineContains.Contains p0){}
|
||||
public void setMatchAny(boolean p0){}
|
||||
public void setNegate(boolean p0){}
|
||||
static public class Contains
|
||||
{
|
||||
public Contains(){}
|
||||
public final String getValue(){ return null; }
|
||||
public final void setValue(String p0){}
|
||||
}
|
||||
}
|
||||
21
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/LineContainsRegExp.java
generated
Normal file
21
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/LineContainsRegExp.java
generated
Normal file
@@ -0,0 +1,21 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.LineContainsRegExp for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseParamFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
import org.apache.tools.ant.types.RegularExpression;
|
||||
|
||||
public class LineContainsRegExp extends BaseParamFilterReader implements ChainableReader
|
||||
{
|
||||
public LineContainsRegExp(){}
|
||||
public LineContainsRegExp(Reader p0){}
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public boolean isNegated(){ return false; }
|
||||
public int read(){ return 0; }
|
||||
public void addConfiguredRegexp(RegularExpression p0){}
|
||||
public void setCaseSensitive(boolean p0){}
|
||||
public void setNegate(boolean p0){}
|
||||
public void setRegexp(String p0){}
|
||||
}
|
||||
16
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/PrefixLines.java
generated
Normal file
16
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/PrefixLines.java
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.PrefixLines for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseParamFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
|
||||
public class PrefixLines extends BaseParamFilterReader implements ChainableReader
|
||||
{
|
||||
public PrefixLines(){}
|
||||
public PrefixLines(Reader p0){}
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public int read(){ return 0; }
|
||||
public void setPrefix(String p0){}
|
||||
}
|
||||
28
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/ReplaceTokens.java
generated
Normal file
28
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/ReplaceTokens.java
generated
Normal file
@@ -0,0 +1,28 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.ReplaceTokens for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseParamFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
import org.apache.tools.ant.types.Resource;
|
||||
|
||||
public class ReplaceTokens extends BaseParamFilterReader implements ChainableReader
|
||||
{
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public ReplaceTokens(){}
|
||||
public ReplaceTokens(Reader p0){}
|
||||
public int read(){ return 0; }
|
||||
public void addConfiguredToken(ReplaceTokens.Token p0){}
|
||||
public void setBeginToken(String p0){}
|
||||
public void setEndToken(String p0){}
|
||||
public void setPropertiesResource(Resource p0){}
|
||||
static public class Token
|
||||
{
|
||||
public Token(){}
|
||||
public final String getKey(){ return null; }
|
||||
public final String getValue(){ return null; }
|
||||
public final void setKey(String p0){}
|
||||
public final void setValue(String p0){}
|
||||
}
|
||||
}
|
||||
15
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/StripJavaComments.java
generated
Normal file
15
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/StripJavaComments.java
generated
Normal file
@@ -0,0 +1,15 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.StripJavaComments for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
|
||||
public class StripJavaComments extends BaseFilterReader implements ChainableReader
|
||||
{
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public StripJavaComments(){}
|
||||
public StripJavaComments(Reader p0){}
|
||||
public int read(){ return 0; }
|
||||
}
|
||||
16
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/StripLineBreaks.java
generated
Normal file
16
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/StripLineBreaks.java
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.StripLineBreaks for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseParamFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
|
||||
public class StripLineBreaks extends BaseParamFilterReader implements ChainableReader
|
||||
{
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public StripLineBreaks(){}
|
||||
public StripLineBreaks(Reader p0){}
|
||||
public int read(){ return 0; }
|
||||
public void setLineBreaks(String p0){}
|
||||
}
|
||||
23
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/StripLineComments.java
generated
Normal file
23
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/StripLineComments.java
generated
Normal file
@@ -0,0 +1,23 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.StripLineComments for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseParamFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
|
||||
public class StripLineComments extends BaseParamFilterReader implements ChainableReader
|
||||
{
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public StripLineComments(){}
|
||||
public StripLineComments(Reader p0){}
|
||||
public int read(){ return 0; }
|
||||
public void addConfiguredComment(StripLineComments.Comment p0){}
|
||||
static public class Comment
|
||||
{
|
||||
public Comment(){}
|
||||
public final String getValue(){ return null; }
|
||||
public final void setValue(String p0){}
|
||||
public void addText(String p0){}
|
||||
}
|
||||
}
|
||||
16
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/SuffixLines.java
generated
Normal file
16
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/SuffixLines.java
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.SuffixLines for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseParamFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
|
||||
public class SuffixLines extends BaseParamFilterReader implements ChainableReader
|
||||
{
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public SuffixLines(){}
|
||||
public SuffixLines(Reader p0){}
|
||||
public int read(){ return 0; }
|
||||
public void setSuffix(String p0){}
|
||||
}
|
||||
16
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/TabsToSpaces.java
generated
Normal file
16
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/TabsToSpaces.java
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.TabsToSpaces for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseParamFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
|
||||
public class TabsToSpaces extends BaseParamFilterReader implements ChainableReader
|
||||
{
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public TabsToSpaces(){}
|
||||
public TabsToSpaces(Reader p0){}
|
||||
public int read(){ return 0; }
|
||||
public void setTablength(int p0){}
|
||||
}
|
||||
17
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/TailFilter.java
generated
Normal file
17
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/TailFilter.java
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.TailFilter for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.filters.BaseParamFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
|
||||
public class TailFilter extends BaseParamFilterReader implements ChainableReader
|
||||
{
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public TailFilter(){}
|
||||
public TailFilter(Reader p0){}
|
||||
public int read(){ return 0; }
|
||||
public void setLines(long p0){}
|
||||
public void setSkip(long p0){}
|
||||
}
|
||||
97
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/TokenFilter.java
generated
Normal file
97
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/filters/TokenFilter.java
generated
Normal file
@@ -0,0 +1,97 @@
|
||||
// Generated automatically from org.apache.tools.ant.filters.TokenFilter for testing purposes
|
||||
|
||||
package org.apache.tools.ant.filters;
|
||||
|
||||
import java.io.Reader;
|
||||
import org.apache.tools.ant.ProjectComponent;
|
||||
import org.apache.tools.ant.filters.BaseFilterReader;
|
||||
import org.apache.tools.ant.filters.ChainableReader;
|
||||
import org.apache.tools.ant.util.LineTokenizer;
|
||||
import org.apache.tools.ant.util.Tokenizer;
|
||||
|
||||
public class TokenFilter extends BaseFilterReader implements ChainableReader
|
||||
{
|
||||
abstract static public class ChainableReaderFilter extends ProjectComponent implements ChainableReader, TokenFilter.Filter
|
||||
{
|
||||
public ChainableReaderFilter(){}
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public void setByLine(boolean p0){}
|
||||
}
|
||||
public TokenFilter(){}
|
||||
public TokenFilter(Reader p0){}
|
||||
public final Reader chain(Reader p0){ return null; }
|
||||
public int read(){ return 0; }
|
||||
public static String resolveBackSlash(String p0){ return null; }
|
||||
public static int convertRegexOptions(String p0){ return 0; }
|
||||
public void add(TokenFilter.Filter p0){}
|
||||
public void add(Tokenizer p0){}
|
||||
public void addContainsRegex(TokenFilter.ContainsRegex p0){}
|
||||
public void addContainsString(TokenFilter.ContainsString p0){}
|
||||
public void addDeleteCharacters(TokenFilter.DeleteCharacters p0){}
|
||||
public void addFileTokenizer(TokenFilter.FileTokenizer p0){}
|
||||
public void addIgnoreBlank(TokenFilter.IgnoreBlank p0){}
|
||||
public void addLineTokenizer(LineTokenizer p0){}
|
||||
public void addReplaceRegex(TokenFilter.ReplaceRegex p0){}
|
||||
public void addReplaceString(TokenFilter.ReplaceString p0){}
|
||||
public void addStringTokenizer(TokenFilter.StringTokenizer p0){}
|
||||
public void addTrim(TokenFilter.Trim p0){}
|
||||
public void setDelimOutput(String p0){}
|
||||
static public class ContainsRegex extends TokenFilter.ChainableReaderFilter
|
||||
{
|
||||
public ContainsRegex(){}
|
||||
public String filter(String p0){ return null; }
|
||||
public void setFlags(String p0){}
|
||||
public void setPattern(String p0){}
|
||||
public void setReplace(String p0){}
|
||||
}
|
||||
static public class ContainsString extends ProjectComponent implements TokenFilter.Filter
|
||||
{
|
||||
public ContainsString(){}
|
||||
public String filter(String p0){ return null; }
|
||||
public void setContains(String p0){}
|
||||
}
|
||||
static public class DeleteCharacters extends ProjectComponent implements ChainableReader, TokenFilter.Filter
|
||||
{
|
||||
public DeleteCharacters(){}
|
||||
public Reader chain(Reader p0){ return null; }
|
||||
public String filter(String p0){ return null; }
|
||||
public void setChars(String p0){}
|
||||
}
|
||||
static public class FileTokenizer extends org.apache.tools.ant.util.FileTokenizer
|
||||
{
|
||||
public FileTokenizer(){}
|
||||
}
|
||||
static public class IgnoreBlank extends TokenFilter.ChainableReaderFilter
|
||||
{
|
||||
public IgnoreBlank(){}
|
||||
public String filter(String p0){ return null; }
|
||||
}
|
||||
static public class ReplaceRegex extends TokenFilter.ChainableReaderFilter
|
||||
{
|
||||
public ReplaceRegex(){}
|
||||
public String filter(String p0){ return null; }
|
||||
public void setFlags(String p0){}
|
||||
public void setPattern(String p0){}
|
||||
public void setReplace(String p0){}
|
||||
}
|
||||
static public class ReplaceString extends TokenFilter.ChainableReaderFilter
|
||||
{
|
||||
public ReplaceString(){}
|
||||
public String filter(String p0){ return null; }
|
||||
public void setFrom(String p0){}
|
||||
public void setTo(String p0){}
|
||||
}
|
||||
static public class StringTokenizer extends org.apache.tools.ant.util.StringTokenizer
|
||||
{
|
||||
public StringTokenizer(){}
|
||||
}
|
||||
static public class Trim extends TokenFilter.ChainableReaderFilter
|
||||
{
|
||||
public String filter(String p0){ return null; }
|
||||
public Trim(){}
|
||||
}
|
||||
static public interface Filter
|
||||
{
|
||||
String filter(String p0);
|
||||
}
|
||||
}
|
||||
10
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/input/InputHandler.java
generated
Normal file
10
java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/ant/input/InputHandler.java
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
// Generated automatically from org.apache.tools.ant.input.InputHandler for testing purposes
|
||||
|
||||
package org.apache.tools.ant.input;
|
||||
|
||||
import org.apache.tools.ant.input.InputRequest;
|
||||
|
||||
public interface InputHandler
|
||||
{
|
||||
void handleInput(InputRequest p0);
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user