Public Member Functions | Protected Member Functions | List of all members
StaticCFG::CustomFilteredCFG< _Filter > Class Template Reference


template<typename _Filter>
class StaticCFG::CustomFilteredCFG< _Filter >

A CFG implementation with Custom filters.

Definition at line 17 of file customFilteredCFG.h.

#include <virtualCFG/customFilteredCFG.h>

Inheritance diagram for StaticCFG::CustomFilteredCFG< _Filter >:
Inheritance graph
Collaboration diagram for StaticCFG::CustomFilteredCFG< _Filter >:
Collaboration graph

Public Member Functions

 CustomFilteredCFG (SgNode *node)
virtual void buildFilteredCFG ()
 Build filtered CFG which only contains interesting nodes.
- Public Member Functions inherited from StaticCFG::CFG
CFGNode toCFGNode (SgGraphNode *node)
 Turn a graph node into a CFGNode which is defined in VirtualCFG namespace.
SgGraphNodetoGraphNode (CFGNode &n)
 Turn a CFG node into a GraphNode which is defined in VirtualCFG namespace. More...
 CFG (SgNode *node, bool is_filtered=false)
 The constructor building the CFG. More...
SgIncidenceDirectedGraphgetGraph () const
 Get the pointer pointing to the graph used by static CFG.
void setStart (SgNode *node)
 Set the start node for graph building. More...
SgGraphNodegetEntry () const
 Get the entry node of the CFG.
SgGraphNodegetExit () const
 Get the exit node of the CFG.
bool isFilteredCFG () const
void setFiltered (bool flag)
virtual void buildCFG ()
 Build CFG according to the 'is_filtered_' flag.
virtual void buildFullCFG ()
 Build CFG for debugging.
std::vector< SgDirectedGraphEdge * > getOutEdges (SgGraphNode *node)
std::vector< SgDirectedGraphEdge * > getInEdges (SgGraphNode *node)
SgGraphNodecfgForBeginning (SgNode *node)
SgGraphNodecfgForEnd (SgNode *node)
void cfgToDot (SgNode *node, const std::string &file_name)
 Output the graph to a DOT file.

Protected Member Functions

virtual void printEdge (std::ostream &o, SgDirectedGraphEdge *edge, bool isInEdge)
 Virtual function Overloaded to print the Custom Filtered CFG Edges.
- Protected Member Functions inherited from StaticCFG::CFG
template<class NodeT , class EdgeT >
void buildCFG (NodeT n, std::map< NodeT, SgGraphNode * > &all_nodes, std::set< NodeT > &explored)
void clearNodesAndEdges ()
 Delete all nodes and edges in the graph and release memories.
virtual void processNodes (std::ostream &o, SgGraphNode *n, std::set< SgGraphNode * > &explored)
virtual void printNodePlusEdges (std::ostream &o, SgGraphNode *node)
virtual void printNode (std::ostream &o, SgGraphNode *node)

Additional Inherited Members

- Static Public Member Functions inherited from StaticCFG::CFG
static int getIndex (SgGraphNode *node)
 Get the index of a CFG node.
- Protected Attributes inherited from StaticCFG::CFG
 The graph data structure holding the CFG.
std::map< CFGNode, SgGraphNode * > all_nodes_
 A map from CFGNode in virtualCFG to node from staticCFG.
 The start node to begin CFG build.
 The entry node.
 The exit node.
bool is_filtered_
 A flag shows whether this CFG is filtered or not.

The documentation for this class was generated from the following file: