OA::CFG::Edge Class Reference

#include <CFG.hpp>

Inheritance diagram for OA::CFG::Edge:

Inheritance graph
[legend]
Collaboration diagram for OA::CFG::Edge:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Edge (OA_ptr< DGraph::NodeInterface > source, OA_ptr< DGraph::NodeInterface > sink, EdgeType _type, OA::ExprHandle _expr)
 ~Edge ()
OA_ptr< NodeInterfacegetCFGSource () const
 CFG Specific Iterators.
OA_ptr< NodeInterfacegetCFGSink () const
void dumpdot (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
void dump (std::ostream &os)
void output (IRHandlesIRInterface &ir)
EdgeType getType () const
 get an id unique within instances of CFG::Edge taken from DGraph::EdgeImplement
ExprHandle getExpr () const
 get expression associated with edge, specifies branching val
const char * edgeTypeToString (EdgeType et) const
 used to be in cfg debugging section

Protected Member Functions

void setType (EdgeType type)
 used by inheriters to gain write access to mType
void setExpr (ExprHandle expr)
 used by inheriters to gain write access to mExpr

Private Attributes

EdgeType mType
ExprHandle mExpr

Static Private Attributes

static const char * sEdgeTypeToString []

Friends

class CFG


Detailed Description

CFG::Edge implements the CFG::EdgeInterface

Definition at line 259 of file CFG.hpp.


Constructor & Destructor Documentation

OA::CFG::Edge::Edge ( OA_ptr< DGraph::NodeInterface source,
OA_ptr< DGraph::NodeInterface sink,
EdgeType  _type,
OA::ExprHandle  _expr 
)

Edge

Definition at line 317 of file CFG.cpp.

OA::CFG::Edge::~Edge (  ) 

Definition at line 324 of file CFG.cpp.


Member Function Documentation

void OA::CFG::Edge::dump ( std::ostream &  os  )  [virtual]

Reimplemented from OA::DGraph::EdgeImplement.

void OA::CFG::Edge::dumpdot ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
)

const char * OA::CFG::Edge::edgeTypeToString ( EdgeType  et  )  const

used to be in cfg debugging section

Definition at line 679 of file CFG.cpp.

References sEdgeTypeToString.

Referenced by output().

OA_ptr< NodeInterface > OA::CFG::Edge::getCFGSink (  )  const [virtual]

Implements OA::CFG::EdgeInterface.

Definition at line 345 of file CFG.cpp.

References OA::DGraph::EdgeImplement::getSink().

Here is the call graph for this function:

OA_ptr< NodeInterface > OA::CFG::Edge::getCFGSource (  )  const [virtual]

CFG Specific Iterators.

Implements OA::CFG::EdgeInterface.

Definition at line 340 of file CFG.cpp.

References OA::DGraph::EdgeImplement::getSource().

Here is the call graph for this function:

ExprHandle OA::CFG::Edge::getExpr (  )  const [virtual]

get expression associated with edge, specifies branching val

Implements OA::CFG::EdgeInterface.

Definition at line 372 of file CFG.cpp.

References mExpr.

EdgeType OA::CFG::Edge::getType (  )  const [virtual]

get an id unique within instances of CFG::Edge taken from DGraph::EdgeImplement

get type of edge: FALLTHROUGH, etc.

Implements OA::CFG::EdgeInterface.

Definition at line 367 of file CFG.cpp.

References mType.

void OA::CFG::Edge::output ( IRHandlesIRInterface ir  )  [virtual]

Reimplemented from OA::DGraph::EdgeImplement.

Definition at line 694 of file CFG.cpp.

References edgeTypeToString(), mExpr, mType, and OA::Annotation::sOutBuild.

Here is the call graph for this function:

void OA::CFG::Edge::setExpr ( ExprHandle  expr  )  [protected]

used by inheriters to gain write access to mExpr

Definition at line 395 of file CFG.cpp.

References mExpr.

void OA::CFG::Edge::setType ( EdgeType  type  )  [protected]

used by inheriters to gain write access to mType

Definition at line 390 of file CFG.cpp.

References mType.


Friends And Related Function Documentation

friend class CFG [friend]

Definition at line 270 of file CFG.hpp.


Member Data Documentation

Definition at line 340 of file CFG.hpp.

Referenced by getExpr(), output(), and setExpr().

Definition at line 339 of file CFG.hpp.

Referenced by getType(), output(), and setType().

const char * OA::CFG::Edge::sEdgeTypeToString [static, private]

Initial value:

 {
  "TRUE_EDGE", "FALLTHROUGH_EDGE", "FALSE_EDGE",
  "BACK_EDGE", "MULTIWAY_EDGE", "BREAK_EDGE",
  "CONTINUE_EDGE", "RETURN_EDGE"
}

Definition at line 341 of file CFG.hpp.

Referenced by edgeTypeToString().


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

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