Module DataFlowPrivate

Import path

semmle.code.java.dataflow.internal.DataFlowPrivate

Imports

java

Provides all default Java QL imports.

Predicates

compatibleTypes

Holds if t1 and t2 are compatible, that is, whether data can flow from a node of type t1 to a node of type t2.

getErasedRepr

Gets a representative (boxed) type for t for the purpose of pruning possible flow. A single type is used for all numeric types to account for numeric conversions, and otherwise the erasure is used.

instanceFieldAssign

Holds if fa is an access to an instance field that occurs as the destination of an assignment of the value src.

jumpStep

Holds if data can flow from node1 to node2 through a static field or variable capture.

ppReprType

Gets a string representation of a type returned by getErasedRepr.

readStep

Holds if data can flow from node1 to node2 via a read of f. Thus, node1 references an object with a field f whose value ends up in node2.

storeStep

Holds if data can flow from node1 to node2 via an assignment to f. Thus, node2 references an object with a field f that contains the value of node1.

Classes

ArgumentNode

A data flow node that occurs as the argument of a call and is passed as-is to the callable. Arguments that are wrapped in an implicit varargs array creation are not included, but the implicitly created array is. Instance arguments are also included.

Content

A reference contained in an object. Examples include instance fields, the contents of a collection object, or the contents of an array.

ReturnNode

A data flow node that occurs as the result of a ReturnStmt.