Skip to content

StaticCFG::CFG

Synopsis

Declared in <SageIII/virtualCFG/staticCFG.h>

class CFG;

Member Functions

Name

Description

CFG [constructor]

The constructor building the CFG. The valid nodes are SgProject, SgStatement, SgExpression and SgInitializedName.

~CFG [destructor] [virtual]

Destructor

buildCFG [virtual]

Build CFG according to the 'is_filtered_' flag.

buildFilteredCFG [virtual]

Build filtered CFG which only contains interesting nodes.

buildFullCFG [virtual]

Build CFG for debugging.

cfgForBeginning

cfgForEnd

cfgToDot

Output the graph to a DOT file.

getEntry

Get the entry node of the CFG

getExit

Get the exit node of the CFG

getGraph

Get the pointer pointing to the graph used by static CFG.

getInEdges

getOutEdges

isFilteredCFG

setFiltered

setStart

Set the start node for graph building. The valid nodes are SgProject, SgStatement, SgExpression and SgInitializedName.

toCFGNode

Turn a graph node into a CFGNode which is defined in VirtualCFG namespace.

toGraphNode

Turn a CFG node into a GraphNode which is defined in VirtualCFG namespace. Returns NULL if CFGNode is not present

Static Member Functions

Name

Description

getIndex

Get the index of a CFG node.

Protected Member Functions

Name

Description

CFG [constructor]

buildCFG

clearNodesAndEdges

Delete all nodes and edges in the graph and release memories.

printEdge [virtual]

printNode [virtual]

printNodePlusEdges [virtual]

processNodes [virtual]

Protected Data Members

Name

Description

all_nodes_

A map from CFGNode in virtualCFG to node from staticCFG.

entry_

The entry node.

exit_

The exit node.

graph_

The graph data structure holding the CFG.

is_filtered_

A flag shows whether this CFG is filtered or not.

start_

The start node to begin CFG build.

Derived Classes

Name

Description

CustomFilteredCFG

A CFG implementation with Custom filters

InterproceduralCFG

Created with MrDocs