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

Module DataFlowUtil

Basic definitions for use in the data flow library.

Import path

import semmle.code.java.dataflow.internal.DataFlowUtil

Imports

Predicates

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.

localMustFlowStep

Holds if the value of node2 is given by node1.

simpleAstFlowStep

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

Classes

ArrayContent

A reference through an array.

CapturedVariableContent

A captured variable.

CollectionContent

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

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.

FieldContent

A reference through an instance field.

MapKeyContent

A reference through a map key.

MapValueContent

A reference through a map value.

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.