CodeQL library for Java/Kotlin
codeql/java-all 0.9.0 (changelog, source)
Search

Module DataFlow

Import path

import semmle.code.java.dataflow.DataFlow

Imports

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.

localExprFlow

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

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.

localMustFlowStep

Holds if the value of node2 is given by node1.

parameterNode

Gets the node corresponding to p.

simpleAstFlowStep

Holds if there is a data flow step from e1 to e2 that only steps from child to parent in the AST.

simpleLocalFlowStep

INTERNAL: do not use.

Classes

AdditionalNode

A node introduced by an extension of AdditionalDataFlowNode.

ArrayContent

A reference through an array.

CapturedVariableContent

A captured variable.

CollectionContent

A reference through the contents of some collection-like container.

Configuration

DEPRECATED: Use Global and GlobalWithState instead.

Content

A description of the way data may be stored inside an object. Examples include instance fields, the contents of a collection object, or the contents of an array.

ContentSet

An entity that represents a set of Contents.

ExplicitParameterNode

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

ExprNode

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

FieldContent

A reference through an instance field.

FieldValueNode

A node representing the value of a field.

ImplicitInstanceAccess

An implicit read of this or A.this.

ImplicitVarargsArray

An implicit varargs array creation expression.

InstanceAccessNode

A node representing an InstanceAccessExt.

InstanceParameterNode

An instance parameter for an instance method or constructor.

MapKeyContent

A reference through a map key.

MapValueContent

A reference through a map value.

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.

PathNode

A Node augmented with a call context (except for sinks), an access path, and a configuration. Only those PathNodes that are reachable from a source, and which can reach a sink, are generated.

PostUpdateNode

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

SyntheticFieldContent

A reference through a synthetic instance field.

Modules

BarrierGuard

Provides a set of barrier nodes for a guard that validates an expression.

Predicate signatures

guardChecksSig

Holds if the guard g validates the expression e upon evaluating to branch.

Aliases

PathGraph

Provides the query predicates needed to include a graph in a path-problem query.

flowsTo