Template Class DefUseChain#

Inheritance Relationships#

Base Type#

Class Documentation#

template<class Node>
class DefUseChain : public VirtualGraphCreateTemplate<Node, MultiGraphElem>#

Public Types

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

Public Functions

inline DefUseChain(BaseGraphCreate *c)#
inline virtual Node *CreateNode(AstInterface &fa, const AstNodePtr &ref, const AstNodePtr &stmt, bool def)#
inline Edge *CreateEdge(Node *n1, Node *n2)#
void build(AstInterface &fa, ReachingDefinitionAnalysis &r, AliasAnalysisInterface &alias, FunctionSideEffectInterface *f = 0)#
void build(AstInterface &fa, AstNodePtr root, AliasAnalysisInterface *alias = 0, FunctionSideEffectInterface *f = 0)#