ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NEW_CreateSliceSet.h
Go to the documentation of this file.
1 // #include "rose.h"
2 
3 #include "DependenceGraph.h"
4 #include <set>
5 
6 
7 class CreateSliceSet
8 {
9  public:
10  CreateSliceSet(SystemDependenceGraph *program,std::list<SgNode*> targets);
11  std::set<SgNode*> computeSliceSet();
12  std::set<SgNode*> computeSliceSet(SgNode * node);
13  std::set<SgNode*> computeForwardSliceSet();
14  std::set<SgNode*> computeForwardSliceSet(DependenceNode * depNode);
15  protected:
17  std::list<SgNode*> sliceTargetNodes;
18  std::set<DependenceNode*> getSliceDepNodes(std::set <DependenceNode*> searchSet,std::set<DependenceGraph::EdgeType> allowedEdges);
19  std::set<DependenceNode*> getForwardSliceDepNodes(std::set <DependenceNode*> searchSet,std::set<DependenceGraph::EdgeType> allowedEdges);
20 };