Template Class CFGImplTemplate#

Inheritance Relationships#

Base Types#

Derived Type#

Class Documentation#

template<class Node, class Edge>
class CFGImplTemplate : public VirtualGraphCreateTemplate<Node, Edge>, public BuildCFGConfig<Node>#

Subclassed by DataFlowAnalysis< ReachingDefNode, ReachingDefinitions >

Public Types

typedef VirtualGraphCreateTemplate<Node, Edge>::NodeIterator NodeIterator#
typedef VirtualGraphCreateTemplate<Node, Edge>::EdgeIterator EdgeIterator#

Public Functions

inline CFGImplTemplate(BaseGraphCreate *_impl = 0)#
inline NodeIterator GetPredecessors(Node *n)#
inline NodeIterator GetSuccessors(Node *n)#

Protected Types

typedef BuildCFGConfig<Node>::EdgeType EdgeType#

Protected Functions

inline virtual Node *CreateNode()#
inline virtual void CreateEdge(Node *n1, Node *n2, EdgeType condval)#
inline virtual void AddNodeStmt(Node *n, const AstNodePtr &s)#