ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DefUseChain< Node > Class Template Reference

#include <DefUseChain.h>

Inheritance diagram for DefUseChain< Node >:
Collaboration diagram for DefUseChain< Node >:

Public Types

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

Public Member Functions

 DefUseChain (BaseGraphCreate *c)
 
virtual Node * CreateNode (AstInterface &fa, const AstNodePtr &ref, const AstNodePtr &stmt, bool def)
 
EdgeCreateEdge (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)
 

Detailed Description

template<class Node>
class DefUseChain< Node >

Definition at line 24 of file DefUseChain.h.

Member Typedef Documentation

template<class Node>
typedef MultiGraphElem DefUseChain< Node >::Edge

Definition at line 28 of file DefUseChain.h.

template<class Node>
typedef VirtualGraphCreateTemplate<Node, Edge>::NodeIterator DefUseChain< Node >::NodeIterator

Definition at line 29 of file DefUseChain.h.

template<class Node>
typedef VirtualGraphCreateTemplate<Node, Edge>::EdgeIterator DefUseChain< Node >::EdgeIterator

Definition at line 30 of file DefUseChain.h.

Constructor & Destructor Documentation

template<class Node>
DefUseChain< Node >::DefUseChain ( BaseGraphCreate *  c)
inline

Definition at line 32 of file DefUseChain.h.

Member Function Documentation

template<class Node>
virtual Node* DefUseChain< Node >::CreateNode ( AstInterface &  fa,
const AstNodePtr &  ref,
const AstNodePtr &  stmt,
bool  def 
)
inlinevirtual

Reimplemented in ValuePropagate.

Definition at line 35 of file DefUseChain.h.

template<class Node>
Edge* DefUseChain< Node >::CreateEdge ( Node *  n1,
Node *  n2 
)
inline

Definition at line 43 of file DefUseChain.h.

template<class Node>
void DefUseChain< Node >::build ( AstInterface &  fa,
ReachingDefinitionAnalysis r,
AliasAnalysisInterface &  alias,
FunctionSideEffectInterface *  f = 0 
)
template<class Node>
void DefUseChain< Node >::build ( AstInterface &  fa,
AstNodePtr  root,
AliasAnalysisInterface *  alias = 0,
FunctionSideEffectInterface *  f = 0 
)

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