ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DominatorTreesAndDominanceFrontiers::ControlNode Class Reference

#include <ControlFlowGraph.h>

Inheritance diagram for DominatorTreesAndDominanceFrontiers::ControlNode:
Collaboration diagram for DominatorTreesAndDominanceFrontiers::ControlNode:

Public Types

enum  Type {
  SGNODE,
  EMPTY,
  SGNODE,
  EMPTY
}
 
enum  Type {
  SGNODE,
  EMPTY,
  SGNODE,
  EMPTY
}
 

Public Member Functions

 ControlNode (SgNode *node=NULL)
 
SgNodegetNode ()
 
Type getType ()
 
int getID (ControlFlowGraph::ID_dir dir)
 
void setID (int id, ControlFlowGraph::ID_dir dir)
 
virtual void writeOut (std::ostream &os)
 virtual function to support displaying node information More...
 
 ControlNode (SgNode *node=NULL)
 
SgNodegetNode ()
 
Type getType ()
 
int getID (ControlFlowGraph::ID_dir dir)
 
void setID (int id, ControlFlowGraph::ID_dir dir)
 
virtual void writeOut (std::ostream &os)
 virtual function to support displaying node information More...
 
- Public Member Functions inherited from SimpleDirectedGraphNode
 ~SimpleDirectedGraphNode ()
 
std::set
< SimpleDirectedGraphNode * > 
getSuccessors ()
 get the nodes which are pointed to by the current node More...
 
std::set
< SimpleDirectedGraphNode * > 
getPredecessors ()
 get the nodes which point to the current node More...
 
void addSuccessor (SimpleDirectedGraphNode *n)
 add an edge from the current node to n More...
 
void addPredecessor (SimpleDirectedGraphNode *n)
 add an edge from n to the current node More...
 
bool hasSuccessor (SimpleDirectedGraphNode *n)
 test whether n is a successor of the current node More...
 
bool hasPredecessor (SimpleDirectedGraphNode *n)
 test whether n is a predecessor of the current node More...
 
int numSuccessors ()
 return the number of outgoing edges More...
 
int numPredecessors ()
 return the number of incoming edges More...
 
virtual ~SimpleDirectedGraphNode ()
 
std::set
< SimpleDirectedGraphNode * > 
getSuccessors ()
 get the nodes which are pointed to by the current node More...
 
std::set
< SimpleDirectedGraphNode * > 
getPredecessors ()
 get the nodes which point to the current node More...
 
void addSuccessor (SimpleDirectedGraphNode *n)
 add an edge from the current node to n More...
 
void addPredecessor (SimpleDirectedGraphNode *n)
 add an edge from n to the current node More...
 
void removeSuccessor (SimpleDirectedGraphNode *n)
 
void removePredecessor (SimpleDirectedGraphNode *n)
 
bool hasSuccessor (SimpleDirectedGraphNode *n)
 test whether n is a successor of the current node More...
 
bool hasPredecessor (SimpleDirectedGraphNode *n)
 test whether n is a predecessor of the current node More...
 
int numSuccessors ()
 return the number of outgoing edges More...
 
int numPredecessors ()
 return the number of incoming edges More...
 

Private Attributes

SgNode_node
 
Type _type
 
int _forID
 
int _backID
 

Detailed Description

This class is a node in the CFG. It can either be an SgNode or it can be a special entry or exit node (since there are some empty blocks in the CFG).

Definition at line 108 of file dominatorTreesAndDominanceFrontiers/ControlFlowGraph.h.

Member Enumeration Documentation

Enumerator
SGNODE 
EMPTY 
SGNODE 
EMPTY 

Definition at line 112 of file dominatorTreesAndDominanceFrontiers/ControlFlowGraph.h.

Enumerator
SGNODE 
EMPTY 
SGNODE 
EMPTY 

Definition at line 112 of file staticInterproceduralSlicing/ControlFlowGraph.h.

Constructor & Destructor Documentation

DominatorTreesAndDominanceFrontiers::ControlNode::ControlNode ( SgNode node = NULL)
inline

Definition at line 118 of file dominatorTreesAndDominanceFrontiers/ControlFlowGraph.h.

References _node, _type, EMPTY, and SGNODE.

DominatorTreesAndDominanceFrontiers::ControlNode::ControlNode ( SgNode node = NULL)
inline

Definition at line 118 of file staticInterproceduralSlicing/ControlFlowGraph.h.

References _node, _type, EMPTY, and SGNODE.

Member Function Documentation

SgNode* DominatorTreesAndDominanceFrontiers::ControlNode::getNode ( )
inline

Definition at line 125 of file dominatorTreesAndDominanceFrontiers/ControlFlowGraph.h.

References _node.

Type DominatorTreesAndDominanceFrontiers::ControlNode::getType ( )
inline

Definition at line 126 of file dominatorTreesAndDominanceFrontiers/ControlFlowGraph.h.

References _type.

int DominatorTreesAndDominanceFrontiers::ControlNode::getID ( ControlFlowGraph::ID_dir  dir)
inline
void DominatorTreesAndDominanceFrontiers::ControlNode::setID ( int  id,
ControlFlowGraph::ID_dir  dir 
)
inline
virtual void DominatorTreesAndDominanceFrontiers::ControlNode::writeOut ( std::ostream &  os)
inlinevirtual

virtual function to support displaying node information

Reimplemented from SimpleDirectedGraphNode.

Definition at line 144 of file dominatorTreesAndDominanceFrontiers/ControlFlowGraph.h.

References _backID, _forID, _node, _type, EMPTY, escapeString(), SgNode::sage_class_name(), and SgNode::unparseToString().

SgNode* DominatorTreesAndDominanceFrontiers::ControlNode::getNode ( )
inline

Definition at line 125 of file staticInterproceduralSlicing/ControlFlowGraph.h.

References _node.

Type DominatorTreesAndDominanceFrontiers::ControlNode::getType ( )
inline

Definition at line 126 of file staticInterproceduralSlicing/ControlFlowGraph.h.

References _type.

int DominatorTreesAndDominanceFrontiers::ControlNode::getID ( ControlFlowGraph::ID_dir  dir)
inline
void DominatorTreesAndDominanceFrontiers::ControlNode::setID ( int  id,
ControlFlowGraph::ID_dir  dir 
)
inline
virtual void DominatorTreesAndDominanceFrontiers::ControlNode::writeOut ( std::ostream &  os)
inlinevirtual

virtual function to support displaying node information

Reimplemented from SimpleDirectedGraphNode.

Definition at line 144 of file staticInterproceduralSlicing/ControlFlowGraph.h.

References _backID, _forID, _node, _type, EMPTY, escapeString(), SgNode::sage_class_name(), and SgNode::unparseToString().

Member Data Documentation

SgNode * DominatorTreesAndDominanceFrontiers::ControlNode::_node
private
Type DominatorTreesAndDominanceFrontiers::ControlNode::_type
private
int DominatorTreesAndDominanceFrontiers::ControlNode::_forID
private

Definition at line 163 of file dominatorTreesAndDominanceFrontiers/ControlFlowGraph.h.

Referenced by getID(), setID(), and writeOut().

int DominatorTreesAndDominanceFrontiers::ControlNode::_backID
private

Definition at line 164 of file dominatorTreesAndDominanceFrontiers/ControlFlowGraph.h.

Referenced by getID(), setID(), and writeOut().


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