Public Member Functions | Private Attributes

OA::ICFG::ICFG Class Reference

#include <ICFG.hpp>

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

List of all members.

Public Member Functions

 ICFG ()
virtual ~ICFG ()
void addEdge (OA_ptr< Edge > pEdge)
void removeEdge (OA_ptr< Edge > e)
void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
void dumpdot (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
void dumpbase (std::ostream &os)
virtual void output (OA::IRHandlesIRInterface &ir)
OA_ptr< NodesIteratorInterfacegetICFGNodesIterator () const
OA_ptr< EdgesIteratorInterfacegetICFGEdgesIterator () const
OA_ptr< NodesIteratorInterfacegetICFGEntryNodesIterator () const
OA_ptr< NodesIteratorInterfacegetICFGExitNodesIterator () const
OA_ptr< NodesIteratorInterfacegetICFGReversePostDFSIterator (DGraph::DGraphEdgeDirection pOrient)
OA_ptr< NodesIteratorInterfacegetICFGDFSIterator (OA_ptr< NodeInterface > n)

Private Attributes

OA_ptr< NodemEntry
OA_ptr< NodemExit
OA_ptr< std::list< OA_ptr
< Node > > > 
mCallNodes
OA_ptr< std::list< OA_ptr
< Edge > > > 
mCallEdges
OA_ptr< std::list< OA_ptr
< Node > > > 
mReturnNodes
OA_ptr< std::list< OA_ptr
< Edge > > > 
mReturnEdges

Detailed Description

Definition at line 361 of file ICFG.hpp.


Constructor & Destructor Documentation

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

Definition at line 566 of file ICFG.cpp.

References mEntry, and mExit.


Member Function Documentation

void OA::ICFG::ICFG::addEdge ( OA_ptr< Edge pEdge  ) 

get ICFGEdge that is associated with given CFG edge in one of the CFGs we contain get ICFGNode that is associated with given CFG node in one of the CFGs we contain

Definition at line 595 of file ICFG.cpp.

References OA::ICFG::CALL_EDGE, OA::OA_ptr< T >::convert(), mCallEdges, mReturnEdges, OA::OA_ptr< T >::ptrEqual(), and OA::ICFG::RETURN_EDGE.

Here is the call graph for this function:

void OA::ICFG::ICFG::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
)
void OA::ICFG::ICFG::dumpbase ( std::ostream &  os  )  [inline]

Definition at line 416 of file ICFG.hpp.

void OA::ICFG::ICFG::dumpdot ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
)
OA_ptr< NodesIteratorInterface > OA::ICFG::ICFG::getICFGDFSIterator ( OA_ptr< NodeInterface n  ) 

Definition at line 826 of file ICFG.cpp.

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

Here is the call graph for this function:

OA_ptr< EdgesIteratorInterface > OA::ICFG::ICFG::getICFGEdgesIterator (  )  const

Definition at line 804 of file ICFG.cpp.

OA_ptr< NodesIteratorInterface > OA::ICFG::ICFG::getICFGEntryNodesIterator (  )  const

Definition at line 785 of file ICFG.cpp.

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

Here is the call graph for this function:

OA_ptr< NodesIteratorInterface > OA::ICFG::ICFG::getICFGExitNodesIterator (  )  const

Definition at line 795 of file ICFG.cpp.

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

Here is the call graph for this function:

OA_ptr< NodesIteratorInterface > OA::ICFG::ICFG::getICFGNodesIterator (  )  const

Definition at line 775 of file ICFG.cpp.

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

Here is the call graph for this function:

OA_ptr< NodesIteratorInterface > OA::ICFG::ICFG::getICFGReversePostDFSIterator ( DGraph::DGraphEdgeDirection  pOrient  ) 

Definition at line 815 of file ICFG.cpp.

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

Here is the call graph for this function:

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

Reimplemented from OA::DGraph::DGraphImplement.

Definition at line 924 of file ICFG.cpp.

void OA::ICFG::ICFG::removeEdge ( OA_ptr< Edge e  ) 

Definition at line 663 of file ICFG.cpp.

References OA::ICFG::CALL_EDGE, OA::OA_ptr< T >::convert(), mCallEdges, mReturnEdges, OA::OA_ptr< T >::ptrEqual(), and OA::ICFG::RETURN_EDGE.

Here is the call graph for this function:


Member Data Documentation

OA_ptr<std::list<OA_ptr<Edge> > > OA::ICFG::ICFG::mCallEdges [private]

Definition at line 490 of file ICFG.hpp.

Referenced by addEdge(), ICFG(), and removeEdge().

OA_ptr<std::list<OA_ptr<Node> > > OA::ICFG::ICFG::mCallNodes [private]

Definition at line 489 of file ICFG.hpp.

Referenced by ICFG().

Definition at line 477 of file ICFG.hpp.

Referenced by ICFG(), and ~ICFG().

Definition at line 478 of file ICFG.hpp.

Referenced by ICFG(), and ~ICFG().

OA_ptr<std::list<OA_ptr<Edge> > > OA::ICFG::ICFG::mReturnEdges [private]

Definition at line 492 of file ICFG.hpp.

Referenced by addEdge(), ICFG(), and removeEdge().

OA_ptr<std::list<OA_ptr<Node> > > OA::ICFG::ICFG::mReturnNodes [private]

Definition at line 491 of file ICFG.hpp.

Referenced by ICFG().


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