CodeQL library for C/C++
codeql/cpp-all 4.0.4-dev (changelog, source)
Search

Module Make::DataFlowIntegration

Constructs the type Node and associated value step relations, which are intended to be included in the DataFlow::Node type and local step relations.

Additionally, this module also provides a barrier guards implementation.

Import path

import codeql.ssa.Ssa

Predicates

localFlowStep

Holds if there is a local flow step from nodeFrom to nodeTo.

localMustFlowStep

Holds if the value of nodeTo is given by nodeFrom.

Classes

ExprNode

An expression node.

ExprNodePreOrPost

A (post-update) expression node.

ExprPostUpdateNode

A post-update expression node.

Node

A data flow node that we need to reference in the value step relation.

SsaDefinitionExtNode

An SSA definition, viewed as a node in a data flow graph.

SsaDefinitionNode

An SSA definition, viewed as a node in a data flow graph.

SsaInputNode

A node that represents an input to an SSA phi (read) definition.

SsaNode

A synthesized SSA data flow node.

SsaSynthReadNode

A node that represents a synthetic read of a source variable.

WriteDefSourceNode

A source of a write definition.

Modules

BarrierGuard

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

BarrierGuardDefWithState

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

BarrierGuardWithState

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.

Type signatures

Parameters