OA::ICFG::Node Class Reference

#include <ICFG.hpp>

Inheritance diagram for OA::ICFG::Node:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Node (OA_ptr< ICFG > pICFG, ProcHandle proc, NodeType pType)
 Node (OA_ptr< ICFG > pICFG, ProcHandle proc, NodeType pType, OA_ptr< CFG::NodeInterface > cNode)
 Node (Node &other)
 ~Node ()
NodeType getType () const
ProcHandle getProc () const
unsigned int size () const
 number of statements in node
OA_ptr
< CFG::NodeStatementsIteratorInterface
getNodeStatementsIterator () const
 create a forward order iterator for the statements in the node
OA_ptr
< CFG::NodeStatementsRevIteratorInterface
getNodeStatementsRevIterator () const
 create a reverse order iterator for the statements in the node
void addCallEdge (OA_ptr< Edge > e)
void addReturnEdge (OA_ptr< Edge > e)
void removeCallEdge (OA_ptr< Edge > e)
void removeReturnEdge (OA_ptr< Edge > e)
OA_ptr< EdgesIteratorInterfacegetICFGIncomingEdgesIterator () const
 getId: An id unique within instances of ICFG::Node
OA_ptr< EdgesIteratorInterfacegetICFGOutgoingEdgesIterator () const
OA_ptr< NodesIteratorInterfacegetICFGSourceNodesIterator () const
OA_ptr< NodesIteratorInterfacegetICFGSinkNodesIterator () const
void dump (std::ostream &os)
void dumpbase (std::ostream &os)
void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
void dumpdot (ICFG &, std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
void longdump (ICFG &icfg, std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
virtual void output (OA::IRHandlesIRInterface &ir)

Private Member Functions

void Ctor ()

Private Attributes

OA_ptr< std::list< OA_ptr
< Edge > > > 
mCallEdges
OA_ptr< std::list< OA_ptr
< Edge > > > 
mReturnEdges
OA_ptr< ICFGmICFG
ProcHandle mProc
NodeType mType
OA_ptr< CFG::NodeInterfacemCFGNode

Friends

class ICFG
class Edge


Detailed Description

Definition at line 63 of file ICFG.hpp.


Constructor & Destructor Documentation

OA::ICFG::Node::Node ( OA_ptr< ICFG pICFG,
ProcHandle  proc,
NodeType  pType 
)

called by all Node constructors

Definition at line 67 of file ICFG.cpp.

References Ctor().

Here is the call graph for this function:

OA::ICFG::Node::Node ( OA_ptr< ICFG pICFG,
ProcHandle  proc,
NodeType  pType,
OA_ptr< CFG::NodeInterface cNode 
)

Definition at line 71 of file ICFG.cpp.

References Ctor().

Here is the call graph for this function:

OA::ICFG::Node::Node ( Node other  ) 

Definition at line 75 of file ICFG.cpp.

References Ctor().

Here is the call graph for this function:

OA::ICFG::Node::~Node (  ) 

Definition at line 79 of file ICFG.cpp.


Member Function Documentation

void OA::ICFG::Node::addCallEdge ( OA_ptr< Edge e  ) 

Definition at line 86 of file ICFG.cpp.

References mCallEdges.

void OA::ICFG::Node::addReturnEdge ( OA_ptr< Edge e  ) 

Definition at line 88 of file ICFG.cpp.

References mReturnEdges.

void OA::ICFG::Node::Ctor (  )  [private]

Definition at line 106 of file ICFG.cpp.

References mCallEdges, and mReturnEdges.

Referenced by Node().

void OA::ICFG::Node::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
)

void OA::ICFG::Node::dump ( std::ostream &  os  )  [inline, virtual]

Reimplemented from OA::DGraph::NodeImplement.

Definition at line 173 of file ICFG.hpp.

void OA::ICFG::Node::dumpbase ( std::ostream &  os  )  [inline]

Definition at line 174 of file ICFG.hpp.

void OA::ICFG::Node::dumpdot ( ICFG ,
std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
)

OA_ptr< EdgesIteratorInterface > OA::ICFG::Node::getICFGIncomingEdgesIterator (  )  const [virtual]

getId: An id unique within instances of ICFG::Node

Implements OA::ICFG::NodeInterface.

Definition at line 345 of file ICFG.cpp.

References OA::DGraph::NodeImplement::getIncomingEdgesIterator().

Here is the call graph for this function:

OA_ptr< EdgesIteratorInterface > OA::ICFG::Node::getICFGOutgoingEdgesIterator (  )  const [virtual]

Implements OA::ICFG::NodeInterface.

Definition at line 354 of file ICFG.cpp.

References OA::DGraph::NodeImplement::getOutgoingEdgesIterator().

Here is the call graph for this function:

OA_ptr< NodesIteratorInterface > OA::ICFG::Node::getICFGSinkNodesIterator (  )  const [virtual]

Implements OA::ICFG::NodeInterface.

Definition at line 394 of file ICFG.cpp.

References OA::DGraph::NodeImplement::getSinkNodesIterator().

Here is the call graph for this function:

OA_ptr< NodesIteratorInterface > OA::ICFG::Node::getICFGSourceNodesIterator (  )  const [virtual]

Implements OA::ICFG::NodeInterface.

Definition at line 385 of file ICFG.cpp.

References OA::DGraph::NodeImplement::getSourceNodesIterator().

Here is the call graph for this function:

OA_ptr< CFG::NodeStatementsIteratorInterface > OA::ICFG::Node::getNodeStatementsIterator (  )  const [virtual]

create a forward order iterator for the statements in the node

Implements OA::ICFG::NodeInterface.

Definition at line 119 of file ICFG.cpp.

References mCFGNode.

Referenced by output().

OA_ptr< CFG::NodeStatementsRevIteratorInterface > OA::ICFG::Node::getNodeStatementsRevIterator (  )  const [virtual]

create a reverse order iterator for the statements in the node

Implements OA::ICFG::NodeInterface.

Definition at line 126 of file ICFG.cpp.

References mCFGNode.

ProcHandle OA::ICFG::Node::getProc (  )  const [virtual]

Implements OA::ICFG::NodeInterface.

Definition at line 83 of file ICFG.cpp.

References mProc.

NodeType OA::ICFG::Node::getType (  )  const [virtual]

Implements OA::ICFG::NodeInterface.

Definition at line 81 of file ICFG.cpp.

References mType.

Referenced by output().

void OA::ICFG::Node::longdump ( ICFG icfg,
std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
)

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

void OA::ICFG::Node::removeCallEdge ( OA_ptr< Edge e  ) 

Definition at line 90 of file ICFG.cpp.

References mCallEdges.

void OA::ICFG::Node::removeReturnEdge ( OA_ptr< Edge e  ) 

Definition at line 92 of file ICFG.cpp.

References mReturnEdges.

unsigned int OA::ICFG::Node::size (  )  const [virtual]

number of statements in node

Implements OA::ICFG::NodeInterface.

Definition at line 112 of file ICFG.cpp.

References mCFGNode.


Friends And Related Function Documentation

friend class Edge [friend]

Definition at line 213 of file ICFG.hpp.

friend class ICFG [friend]

Definition at line 212 of file ICFG.hpp.


Member Data Documentation

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

Definition at line 200 of file ICFG.hpp.

Referenced by addCallEdge(), Ctor(), and removeCallEdge().

Definition at line 207 of file ICFG.hpp.

Referenced by getNodeStatementsIterator(), getNodeStatementsRevIterator(), and size().

Definition at line 204 of file ICFG.hpp.

Definition at line 205 of file ICFG.hpp.

Referenced by getProc().

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

Definition at line 201 of file ICFG.hpp.

Referenced by addReturnEdge(), Ctor(), and removeReturnEdge().

Definition at line 206 of file ICFG.hpp.

Referenced by getType().


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

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