

Public Types | |
|
typedef std::list< ShPointer< ShStructuralNode > > | StructNodeList |
|
typedef std::pair< ShVariable, ShPointer< ShStructuralNode > > | SuccessorEdge |
| typedef std::list< SuccessorEdge > | SuccessorList |
|
typedef std::pair< ShVariable, ShStructuralNode * > | PredecessorEdge |
| typedef std::list< PredecessorEdge > | PredecessorList |
| typedef std::list< CfgMatch > | CfgMatchList |
|
typedef std::list< ShPointer< ShStructuralNode > > | ChildList |
| enum | NodeType { UNREDUCED, BLOCK, SECTION, IF, IFELSE, SELFLOOP, WHILELOOP, PROPINT } |
Public Member Functions | |
| ShStructuralNode (const ShCtrlGraphNodePtr &node) | |
| ShStructuralNode (NodeType type) | |
| std::ostream & | dump (std::ostream &out, int nodes=-1) const |
| bool | contains (const ShCtrlGraphNodePtr &node) const |
| Contains the cfg_node in this region. | |
| void | getSuccs (CfgMatchList &result, const SuccessorEdge &edge) |
| void | getPreds (CfgMatchList &result, const PredecessorEdge &edge) |
| void | getExits (CfgMatchList &result, ShPointer< ShStructuralNode > node=0) |
| void | getEntries (CfgMatchList &result, ShPointer< ShStructuralNode > node=0) |
Public Attributes | |
| NodeType | type |
| ShStructuralNode * | container |
| StructNodeList | structnodes |
| Nodes in this region. | |
| ShCtrlGraphNodePtr | cfg_node |
| SuccessorList | succs |
| PredecessorList | preds |
| ShStatement * | secStart |
| Flags whether entry is marked by a STARTSEC and exit marked by an ENDSEC that has not already been handled in a SECTION reduced block Remember to set these when building reduced nodes. | |
| ShStatement * | secEnd |
| ShStructuralNode * | parent |
| ChildList | children |
Friends | |
| class | ShStructural |
Classes | |
| struct | CfgMatch |
| Describes a cfg edge. More... | |
Definition at line 35 of file ShStructural.hpp.
1.4.6