Module ControlFlowGraph

Import path

semmle.code.cpp.controlflow.ControlFlowGraph

Imports

BasicBlocks
Cached
cpp

Provides classes and predicates for working with C/C++/ObjC/ObjC++ code.

Predicates

falsecond_base
successors_extended

Holds if there is a control-flow edge from source to target in either the extractor-generated control-flow graph or in a subclass of AdditionalControlFlowEdge. Use this relation instead of successors.

truecond_base

Classes

AdditionalControlFlowEdge

An abstract class that can be extended to add additional edges to the control-flow graph. Instances of this class correspond to the source nodes of such edges, and the predicate getAnEdgeTarget should be overridden to produce the target nodes of each source.

ControlFlowNode

A control-flow node is either a statement or an expression; in addition, functions are control-flow nodes representing the exit point of the function. The graph represents one possible evaluation order out of all the ones the compiler might have picked.

ControlFlowNodeBase

An element that is convertible to ControlFlowNode. This class is similar to ControlFlowNode except that is has no member predicates apart from toString.