ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SDG::SDGEdge Struct Reference

#include <SDG.h>

Collaboration diagram for SDG::SDGEdge:

Public Types

enum  EdgeType {
  ControlDependence,
  DataDependence,
  ParameterIn,
  ParameterOut,
  Call,
  Summary
}
 The type of the SDG edge. More...
 
enum  ControlDependenceType {
  cdTrue,
  cdFalse,
  cdCase,
  cdDefault
}
 

Public Member Functions

 SDGEdge (EdgeType t)
 
void setTrue ()
 
void setFalse ()
 
void setCondition (VirtualCFG::EdgeConditionKind cond, SgExpression *expr=NULL)
 

Public Attributes

EdgeType type
 Indicate the type of this edge, whether control or data dependence. More...
 
ControlDependenceType condition
 The condition attached to edges in the CDG. More...
 
SgExpressioncaseLabel
 If the condition is a case edge, this expression is the case value. More...
 
std::set< VarNamevarNames
 All variable names in data dependence of this edge. More...
 

Detailed Description

Definition at line 45 of file SDG.h.

Member Enumeration Documentation

The type of the SDG edge.

Enumerator
ControlDependence 
DataDependence 
ParameterIn 
ParameterOut 
Call 
Summary 

Definition at line 48 of file SDG.h.

Enumerator
cdTrue 
cdFalse 
cdCase 
cdDefault 

Definition at line 58 of file SDG.h.

Constructor & Destructor Documentation

SDG::SDGEdge::SDGEdge ( EdgeType  t)
inline

Definition at line 66 of file SDG.h.

Member Function Documentation

void SDG::SDGEdge::setTrue ( )
inline

Definition at line 73 of file SDG.h.

References cdTrue, and condition.

void SDG::SDGEdge::setFalse ( )
inline

Definition at line 74 of file SDG.h.

References cdFalse, and condition.

void SDG::SDGEdge::setCondition ( VirtualCFG::EdgeConditionKind  cond,
SgExpression expr = NULL 
)

Member Data Documentation

EdgeType SDG::SDGEdge::type

Indicate the type of this edge, whether control or data dependence.

Definition at line 69 of file SDG.h.

ControlDependenceType SDG::SDGEdge::condition

The condition attached to edges in the CDG.

Definition at line 78 of file SDG.h.

Referenced by setFalse(), and setTrue().

SgExpression* SDG::SDGEdge::caseLabel

If the condition is a case edge, this expression is the case value.

Definition at line 81 of file SDG.h.

std::set<VarName> SDG::SDGEdge::varNames

All variable names in data dependence of this edge.

Definition at line 88 of file SDG.h.


The documentation for this struct was generated from the following file: