Public Member Functions | Private Member Functions | Private Attributes | Friends

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 65 of file ICFG.cpp.

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

Definition at line 69 of file ICFG.cpp.

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

Definition at line 73 of file ICFG.cpp.

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

Definition at line 77 of file ICFG.cpp.


Member Function Documentation

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

Definition at line 84 of file ICFG.cpp.

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

Definition at line 86 of file ICFG.cpp.

References mCallEdges.

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

Definition at line 104 of file ICFG.cpp.

References mCallEdges, and mReturnEdges.

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

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

Definition at line 343 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

Definition at line 352 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

Definition at line 392 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

Definition at line 383 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

create a forward order iterator for the statements in the node

Definition at line 117 of file ICFG.cpp.

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

create a reverse order iterator for the statements in the node

Definition at line 124 of file ICFG.cpp.

ProcHandle OA::ICFG::Node::getProc (  )  const

Definition at line 81 of file ICFG.cpp.

References mType.

NodeType OA::ICFG::Node::getType (  )  const

Definition at line 79 of file ICFG.cpp.

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

Reimplemented from OA::DGraph::NodeImplement.

Definition at line 247 of file ICFG.cpp.

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

Definition at line 88 of file ICFG.cpp.

References mReturnEdges.

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

Definition at line 90 of file ICFG.cpp.

References mCallEdges.

unsigned int OA::ICFG::Node::size (  )  const

number of statements in node

Definition at line 110 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 addReturnEdge(), Ctor(), and removeReturnEdge().

Definition at line 207 of file ICFG.hpp.

Referenced by size().

Definition at line 204 of file ICFG.hpp.

Definition at line 205 of file ICFG.hpp.

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

Definition at line 201 of file ICFG.hpp.

Referenced by Ctor(), and removeCallEdge().

Definition at line 206 of file ICFG.hpp.

Referenced by getProc().


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