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

#include <nodeState.h>

Public Member Functions

 NodeState ()
 
void initialized (Analysis *analysis)
 
bool isInitialized (Analysis *analysis)
 
void setLattices (const Analysis *analysis, std::vector< Lattice * > &lattices)
 
void setLatticeAbove (const Analysis *analysis, std::vector< Lattice * > &lattices)
 
void setLatticeBelow (const Analysis *analysis, std::vector< Lattice * > &lattices)
 
LatticegetLatticeAbove (const Analysis *analysis, int latticeName) const
 
LatticegetLatticeBelow (const Analysis *analysis, int latticeName) const
 
const std::vector< Lattice * > & getLatticeAbove (const Analysis *analysis) const
 
const std::vector< Lattice * > & getLatticeBelow (const Analysis *analysis) const
 
std::vector< Lattice * > & getLatticeAboveMod (const Analysis *analysis)
 
std::vector< Lattice * > & getLatticeBelowMod (const Analysis *analysis)
 
void deleteLatticeAbove (const Analysis *analysis)
 
void deleteLatticeBelow (const Analysis *analysis)
 
void cloneAnalysisState (const Analysis *srcA, const Analysis *tgtA)
 
void unionLattices (std::set< Analysis * > &unionSet, const Analysis *master)
 
void addFact (const Analysis *analysis, int factName, NodeFact *f)
 
void setFacts (const Analysis *analysis, const std::vector< NodeFact * > &newFacts)
 
NodeFactgetFact (const Analysis *analysis, int factName) const
 
const std::vector< NodeFact * > & getFacts (const Analysis *analysis) const
 
std::vector< NodeFact * > & getFactsMod (const Analysis *analysis)
 
void deleteFacts (const Analysis *analysis)
 
void deleteState (const Analysis *analysis)
 
std::string str (Analysis *analysis, std::string indent="") const
 

Static Public Member Functions

static const std::vector
< Lattice * > & 
getLatticeAbove (const Analysis *analysis, SgNode *n, unsigned int index)
 returns all the lattices from above the CFG node (corresponding to SgNode and an CFG index) that are owned by the given analysis More...
 
static const std::vector
< Lattice * > & 
getLatticeBelow (const Analysis *analysis, SgNode *n, unsigned int index)
 
static bool eqLattices (const std::vector< Lattice * > &latticesA, const std::vector< Lattice * > &latticesB)
 
static NodeStategetNodeState (const DataflowNode &n, int index=0)
 
static NodeStategetNodeState (SgNode *n, int index=0)
 
static const std::vector
< NodeState * > 
getNodeStates (const DataflowNode &n)
 
static int numNodeStates (DataflowNode &n)
 
static void copyLattices_aEQa (Analysis *analysis, NodeState &to, const NodeState &from)
 
static void copyLattices_aEQa (Analysis *analysisA, NodeState &to, Analysis *analysisB, const NodeState &from)
 
static void copyLattices_bEQa (Analysis *analysis, NodeState &to, const NodeState &from)
 
static void copyLattices_bEQa (Analysis *analysisA, NodeState &to, Analysis *analysisB, const NodeState &from)
 
static void copyLattices_bEQb (Analysis *analysis, NodeState &to, const NodeState &from)
 
static void copyLattices_aEQb (Analysis *analysis, NodeState &to, const NodeState &from)
 

Static Protected Member Functions

static void copyLattices (std::vector< Lattice * > &dfInfoX, const std::vector< Lattice * > &dfInfoY)
 

Private Types

typedef std::map< Analysis
*, std::vector< Lattice * > > 
LatticeMap
 
typedef std::map< Analysis
*, std::vector< NodeFact * > > 
NodeFactMap
 
typedef std::map< Analysis
*, bool > 
BoolMap
 

Private Member Functions

LatticegetLattice_ex (const LatticeMap &dfMap, const Analysis *analysis, int latticeName) const
 

Static Private Member Functions

static void initNodeStateMap (bool(*filter)(CFGNode cfgn))
 

Private Attributes

LatticeMap dfInfoAbove
 
LatticeMap dfInfoBelow
 
NodeFactMap facts
 
BoolMap initializedAnalyses
 

Static Private Attributes

static std::map< DataflowNode,
std::vector< NodeState * > > 
nodeStateMap
 
static bool nodeStateMapInit
 

Detailed Description

Definition at line 89 of file nodeState.h.

Member Typedef Documentation

typedef std::map<Analysis*, std::vector<Lattice*> > NodeState::LatticeMap
private

Definition at line 97 of file nodeState.h.

typedef std::map<Analysis*, std::vector<NodeFact*> > NodeState::NodeFactMap
private

Definition at line 99 of file nodeState.h.

typedef std::map<Analysis*, bool > NodeState::BoolMap
private

Definition at line 100 of file nodeState.h.

Constructor & Destructor Documentation

NodeState::NodeState ( )
inline

Definition at line 132 of file nodeState.h.

Member Function Documentation

void NodeState::initialized ( Analysis analysis)
bool NodeState::isInitialized ( Analysis analysis)
void NodeState::setLattices ( const Analysis analysis,
std::vector< Lattice * > &  lattices 
)
void NodeState::setLatticeAbove ( const Analysis analysis,
std::vector< Lattice * > &  lattices 
)
void NodeState::setLatticeBelow ( const Analysis analysis,
std::vector< Lattice * > &  lattices 
)
Lattice* NodeState::getLatticeAbove ( const Analysis analysis,
int  latticeName 
) const
Lattice* NodeState::getLatticeBelow ( const Analysis analysis,
int  latticeName 
) const
static const std::vector<Lattice*>& NodeState::getLatticeAbove ( const Analysis analysis,
SgNode n,
unsigned int  index 
)
static

returns all the lattices from above the CFG node (corresponding to SgNode and an CFG index) that are owned by the given analysis

static const std::vector<Lattice*>& NodeState::getLatticeBelow ( const Analysis analysis,
SgNode n,
unsigned int  index 
)
static
const std::vector<Lattice*>& NodeState::getLatticeAbove ( const Analysis analysis) const
const std::vector<Lattice*>& NodeState::getLatticeBelow ( const Analysis analysis) const
std::vector<Lattice*>& NodeState::getLatticeAboveMod ( const Analysis analysis)
std::vector<Lattice*>& NodeState::getLatticeBelowMod ( const Analysis analysis)
void NodeState::deleteLatticeAbove ( const Analysis analysis)
void NodeState::deleteLatticeBelow ( const Analysis analysis)
static bool NodeState::eqLattices ( const std::vector< Lattice * > &  latticesA,
const std::vector< Lattice * > &  latticesB 
)
static
void NodeState::cloneAnalysisState ( const Analysis srcA,
const Analysis tgtA 
)
void NodeState::unionLattices ( std::set< Analysis * > &  unionSet,
const Analysis master 
)
Lattice* NodeState::getLattice_ex ( const LatticeMap dfMap,
const Analysis analysis,
int  latticeName 
) const
private
void NodeState::addFact ( const Analysis analysis,
int  factName,
NodeFact f 
)
void NodeState::setFacts ( const Analysis analysis,
const std::vector< NodeFact * > &  newFacts 
)
NodeFact* NodeState::getFact ( const Analysis analysis,
int  factName 
) const
const std::vector<NodeFact*>& NodeState::getFacts ( const Analysis analysis) const
std::vector<NodeFact*>& NodeState::getFactsMod ( const Analysis analysis)
void NodeState::deleteFacts ( const Analysis analysis)
void NodeState::deleteState ( const Analysis analysis)
static NodeState* NodeState::getNodeState ( const DataflowNode n,
int  index = 0 
)
static
static NodeState* NodeState::getNodeState ( SgNode n,
int  index = 0 
)
static
static const std::vector<NodeState*> NodeState::getNodeStates ( const DataflowNode n)
static
static int NodeState::numNodeStates ( DataflowNode n)
static
static void NodeState::initNodeStateMap ( bool(*)(CFGNode cfgn)  filter)
staticprivate
static void NodeState::copyLattices_aEQa ( Analysis analysis,
NodeState to,
const NodeState from 
)
static
static void NodeState::copyLattices_aEQa ( Analysis analysisA,
NodeState to,
Analysis analysisB,
const NodeState from 
)
static
static void NodeState::copyLattices_bEQa ( Analysis analysis,
NodeState to,
const NodeState from 
)
static
static void NodeState::copyLattices_bEQa ( Analysis analysisA,
NodeState to,
Analysis analysisB,
const NodeState from 
)
static
static void NodeState::copyLattices_bEQb ( Analysis analysis,
NodeState to,
const NodeState from 
)
static
static void NodeState::copyLattices_aEQb ( Analysis analysis,
NodeState to,
const NodeState from 
)
static
static void NodeState::copyLattices ( std::vector< Lattice * > &  dfInfoX,
const std::vector< Lattice * > &  dfInfoY 
)
staticprotected
std::string NodeState::str ( Analysis analysis,
std::string  indent = "" 
) const

Member Data Documentation

LatticeMap NodeState::dfInfoAbove
private

Definition at line 105 of file nodeState.h.

LatticeMap NodeState::dfInfoBelow
private

Definition at line 109 of file nodeState.h.

NodeFactMap NodeState::facts
private

Definition at line 113 of file nodeState.h.

BoolMap NodeState::initializedAnalyses
private

Definition at line 117 of file nodeState.h.

std::map<DataflowNode, std::vector<NodeState*> > NodeState::nodeStateMap
staticprivate

Definition at line 287 of file nodeState.h.

bool NodeState::nodeStateMapInit
staticprivate

Definition at line 288 of file nodeState.h.


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