OA::CallGraph::CallGraph Class Reference

#include <CallGraph.hpp>

Inheritance diagram for OA::CallGraph::CallGraph:

Inheritance graph
[legend]
Collaboration diagram for OA::CallGraph::CallGraph:

Collaboration graph
[legend]

List of all members.

Public Types

typedef std::map< SymHandle,
OA_ptr< Node > > 
SymToNodeMapType

Public Member Functions

 CallGraph (const SymHandle name)
 CallGraph ()
virtual ~CallGraph ()
void connect (OA_ptr< NodeInterface > src, OA_ptr< NodeInterface > dst, EdgeType type, CallHandle call)
void disconnect (OA_ptr< EdgeInterface > e)
OA_ptr< NodefindOrAddNode (SymHandle sym)
void addToCallProcSetMap (CallHandle call, ProcHandle proc)
void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
virtual void output (OA::IRHandlesIRInterface &ir)
const OA::SymHandle subprog_name ()
OA_ptr< NodesIteratorInterfacegetCallGraphNodesIterator () const
OA_ptr< EdgesIteratorInterfacegetCallGraphEdgesIterator () const
OA_ptr< NodesIteratorInterfacegetCallGraphReversePostDFSIterator (DGraph::DGraphEdgeDirection pOrient)
OA_ptr< NodesIteratorInterfacegetCallGraphDFSIterator (OA_ptr< NodeInterface > n)
OA_ptr< NodesIteratorInterfacegetCallGraphEntryNodesIterator () const
OA_ptr< NodesIteratorInterfacegetCallGraphExitNodesIterator () const
OA_ptr< ProcHandleIteratorgetCalleeProcIter (CallHandle call)

Private Attributes

const SymHandle mName
SymToNodeMapType mSymToNodeMap
std::map< CallHandle, OA_ptr
< std::set< ProcHandle > > > 
mCallToCalleeProcSetMap

Friends

class NodeLabelListIterator


Detailed Description

Definition at line 300 of file CallGraph.hpp.


Member Typedef Documentation

Definition at line 331 of file CallGraph.hpp.


Constructor & Destructor Documentation

OA::CallGraph::CallGraph::CallGraph ( const SymHandle  name  ) 

Definition at line 172 of file CallGraph.cpp.

References OA::CallGraph::debug, and OA_DEBUG_CTRL_MACRO.

OA::CallGraph::CallGraph::CallGraph (  ) 

Definition at line 178 of file CallGraph.cpp.

OA::CallGraph::CallGraph::~CallGraph (  )  [virtual]

Definition at line 184 of file CallGraph.cpp.


Member Function Documentation

void OA::CallGraph::CallGraph::addToCallProcSetMap ( CallHandle  call,
ProcHandle  proc 
)

Definition at line 400 of file CallGraph.cpp.

References OA::CallGraph::debug, mCallToCalleeProcSetMap, and NULL.

void OA::CallGraph::CallGraph::connect ( OA_ptr< NodeInterface src,
OA_ptr< NodeInterface dst,
EdgeType  type,
CallHandle  call 
)

Definition at line 364 of file CallGraph.cpp.

References OA::DGraph::DGraphImplement::addEdge().

Here is the call graph for this function:

void OA::CallGraph::CallGraph::disconnect ( OA_ptr< EdgeInterface e  ) 

Definition at line 374 of file CallGraph.cpp.

References OA::DGraph::DGraphImplement::removeEdge().

Here is the call graph for this function:

void OA::CallGraph::CallGraph::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
) [virtual]

OA_ptr< Node > OA::CallGraph::CallGraph::findOrAddNode ( SymHandle  sym  ) 

Definition at line 381 of file CallGraph.cpp.

References OA::DGraph::DGraphImplement::addNode(), mSymToNodeMap, NULL, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

OA_ptr< ProcHandleIterator > OA::CallGraph::CallGraph::getCalleeProcIter ( CallHandle  call  )  [virtual]

Returns an iterator over ProcHandles, of Procs that are may called from the given CallHandle

Implements OA::CallGraph::CallGraphInterface.

Definition at line 213 of file CallGraph.cpp.

References mCallToCalleeProcSetMap, NULL, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

OA_ptr< NodesIteratorInterface > OA::CallGraph::CallGraph::getCallGraphDFSIterator ( OA_ptr< NodeInterface n  )  [virtual]

Implements OA::CallGraph::CallGraphInterface.

Definition at line 510 of file CallGraph.cpp.

References OA::DGraph::DGraphImplement::getDFSIterator().

Here is the call graph for this function:

OA_ptr< EdgesIteratorInterface > OA::CallGraph::CallGraph::getCallGraphEdgesIterator (  )  const [virtual]

Implements OA::CallGraph::CallGraphInterface.

Definition at line 490 of file CallGraph.cpp.

References OA::DGraph::DGraphImplement::getEdgesIterator().

Here is the call graph for this function:

OA_ptr< NodesIteratorInterface > OA::CallGraph::CallGraph::getCallGraphEntryNodesIterator (  )  const [virtual]

Implements OA::CallGraph::CallGraphInterface.

Definition at line 519 of file CallGraph.cpp.

References OA::DGraph::DGraphImplement::getEntryNodesIterator().

Here is the call graph for this function:

OA_ptr< NodesIteratorInterface > OA::CallGraph::CallGraph::getCallGraphExitNodesIterator (  )  const [virtual]

Implements OA::CallGraph::CallGraphInterface.

Definition at line 528 of file CallGraph.cpp.

References OA::DGraph::DGraphImplement::getExitNodesIterator().

Here is the call graph for this function:

OA_ptr< NodesIteratorInterface > OA::CallGraph::CallGraph::getCallGraphNodesIterator (  )  const [virtual]

Implements OA::CallGraph::CallGraphInterface.

Definition at line 481 of file CallGraph.cpp.

References OA::DGraph::DGraphImplement::getNodesIterator().

Here is the call graph for this function:

OA_ptr< NodesIteratorInterface > OA::CallGraph::CallGraph::getCallGraphReversePostDFSIterator ( DGraph::DGraphEdgeDirection  pOrient  )  [virtual]

Implements OA::CallGraph::CallGraphInterface.

Definition at line 500 of file CallGraph.cpp.

References OA::DGraph::DGraphImplement::getReversePostDFSIterator().

Here is the call graph for this function:

void OA::CallGraph::CallGraph::output ( OA::IRHandlesIRInterface ir  )  [virtual]

const OA::SymHandle OA::CallGraph::CallGraph::subprog_name (  )  [inline, virtual]

Implements OA::CallGraph::CallGraphInterface.

Definition at line 337 of file CallGraph.hpp.

References mName.


Friends And Related Function Documentation

friend class NodeLabelListIterator [friend]

Definition at line 312 of file CallGraph.hpp.


Member Data Documentation

Definition at line 406 of file CallGraph.hpp.

Referenced by addToCallProcSetMap(), getCalleeProcIter(), and output().

Definition at line 402 of file CallGraph.hpp.

Referenced by subprog_name().

Definition at line 404 of file CallGraph.hpp.

Referenced by findOrAddNode().


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

Generated on Fri Jul 24 05:39:12 2009 for OpenADFortTk (extended to Open64) by  doxygen 1.5.7.1