ROSE  0.11.96.11
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
StaticCFG::InterproceduralCFG Class Reference

Description

Definition at line 23 of file interproceduralCFG.h.

Inheritance diagram for StaticCFG::InterproceduralCFG:
Inheritance graph
[legend]
Collaboration diagram for StaticCFG::InterproceduralCFG:
Collaboration graph
[legend]

Public Member Functions

 InterproceduralCFG (SgNode *node, bool is_filtered=false)
 
SgNode * getEntry ()
 
SgIncidenceDirectedGraph * getGraph ()
 
SgGraphNode * getGraphNode (CFGNode n)
 
virtual void buildCFG ()
 Build CFG according to the 'is_filtered_' flag.
 
virtual void buildFullCFG ()
 Build CFG for debugging.
 
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.
 
SgGraphNode * toGraphNode (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...
 
SgIncidenceDirectedGraph * getGraph () const
 Get the pointer pointing to the graph used by static CFG.
 
void setStart (SgNode *node)
 Set the start node for graph building. More...
 
SgGraphNode * getEntry () const
 Get the entry node of the CFG.
 
SgGraphNode * getExit () const
 Get the exit node of the CFG.
 
bool isFilteredCFG () const
 
void setFiltered (bool flag)
 
std::vector< SgDirectedGraphEdge * > getOutEdges (SgGraphNode *node)
 
std::vector< SgDirectedGraphEdge * > getInEdges (SgGraphNode *node)
 
SgGraphNode * cfgForBeginning (SgNode *node)
 
SgGraphNode * cfgForEnd (SgNode *node)
 
void cfgToDot (SgNode *node, const std::string &file_name)
 Output the graph to a DOT file.
 

Public Attributes

std::map< CFGNode, SgGraphNode * > alNodes
 
CFGNode neededStart
 

Protected Member Functions

virtual void buildCFG (CFGNode n, std::map< CFGNode, SgGraphNode * > &all_nodes, std::set< CFGNode > &explored, ClassHierarchyWrapper *classHierarchy)
 
- 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)
 
virtual void printEdge (std::ostream &o, SgDirectedGraphEdge *edge, bool isInEdge)
 

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
SgIncidenceDirectedGraph * graph_
 The graph data structure holding the CFG.
 
std::map< CFGNode, SgGraphNode * > all_nodes_
 A map from CFGNode in virtualCFG to node from staticCFG.
 
SgNode * start_
 The start node to begin CFG build.
 
SgGraphNode * entry_
 The entry node.
 
SgGraphNode * exit_
 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: