Module DataFlowUtil

Basic definitions for use in the data flow library.

Import path

semmle.code.java.dataflow.internal.DataFlowUtil

Imports

InstanceAccess

Provides classes and predicates for reasoning about explicit and implicit instance accesses.

Predicates

exprNode

Gets the node corresponding to e.

getFieldQualifier

Gets the node that occurs as the qualifier of fa.

getInstanceArgument

Gets the instance argument of a non-static call.

hasNonlocalValue

Holds if the FieldRead is not completely determined by explicit SSA updates.

localFlow

Holds if data can flow from node1 to node2 in zero or more local (intra-procedural) steps.

localFlowStep

Holds if data can flow from node1 to node2 in one local step.

parameterNode

Gets the node corresponding to p.

Classes

ExplicitParameterNode

A parameter, viewed as a node in a data flow graph.

ExprNode

An expression, viewed as a node in a data flow graph.

ImplicitInstanceAccess

An implicit read of this or A.this.

ImplicitVarargsArray

An implicit varargs array creation expression.

InstanceParameterNode

An instance parameter for an instance method or constructor.

Node

An element, viewed as a node in a data flow graph. Either an expression, a parameter, or an implicit varargs array creation.

ParameterNode

An explicit or implicit parameter.

PostUpdateNode

A node associated with an object after an operation that might have changed its state.