1#include <featureTests.h>
2#ifdef ROSE_ENABLE_SOURCE_ANALYSIS
7#include "genericDataflowCommon.h"
17bool defaultFilter (
CFGNode cfgn);
38 std::string toString()
const {
return n.
toString();}
40 std::string id()
const {
return n.
id();}
42 unsigned int getIndex()
const {
return n.
getIndex();}
43 std::vector<DataflowEdge> outEdges()
const;
44 std::vector<DataflowEdge> inEdges()
const;
45 bool isInteresting()
const;
46 bool operator==(
const DataflowNode& o)
const {
return n == o.n;}
47 bool operator!=(
const DataflowNode& o)
const {
return !(*
this == o);}
48 bool operator<(
const DataflowNode& o)
const {
return n < o.n;}
50 std::string str(std::string indent=
"")
const;
53typedef std::map<SgNode*, DataflowNode> m_AST2CFG;
63 std::string toString()
const {
return p.toString();}
64 std::string toStringForDebugging()
const {
return p.toStringForDebugging();}
65 std::string id()
const {
return p.id();}
68 EdgeConditionKind condition()
const {
return p.condition();}
70 SgExpression* conditionBasedOn()
const {
return p.conditionBasedOn();}
71 std::vector<SgInitializedName*> scopesBeingExited()
const {
return p.scopesBeingExited();}
72 std::vector<SgInitializedName*> scopesBeingEntered()
const {
return p.scopesBeingEntered();}
73 bool operator==(
const DataflowEdge& o)
const {
return p == o.p;}
74 bool operator!=(
const DataflowEdge& o)
const {
return p != o.p;}
82bool isDataflowInteresting(
CFGNode cn);
This class represents the notion of an expression. Expressions are derived from SgLocatedNodes,...
This class represents the base class for all IR nodes within Sage III.
A node in the control flow graph.
SgNode * getNode() const
The underlying AST node.
std::string toString() const
Pretty string for Dot node labels, etc.
unsigned int getIndex() const
An identifying index within the AST node given by getNode()
std::string id() const
ID to use for Dot, etc.
std::string toStringForDebugging() const
String for debugging graphs.