ROSE  0.9.9.109
printAnalysisStates.h
1 #ifndef PRINT_ANALYSIS_STATES_H
2 #define PRINT_ANALYSIS_STATES_H
3 
4 #include "genericDataflowCommon.h"
5 #include "VirtualCFGIterator.h"
6 #include "cfgUtils.h"
7 #include "CallGraphTraverse.h"
8 #include "analysisCommon.h"
9 #include "analysis.h"
10 #include "dataflow.h"
11 #include "latticeFull.h"
12 #include "lattice.h"
13 
14 #include <vector>
15 #include <string>
16 
18 {
19  public:
20  Analysis* creator;
21  std::vector<int> latticeNames;
22  std::vector<int> factNames;
23  std::string indent;
24  typedef enum {above=0, below=1} ab;
25  ab latSide; // Records whether we should print lattices above or below each node.
26 
27  printAnalysisStates(Analysis* creator, std::vector<int>& factNames, std::vector<int>& latticeNames, ab latSide, std::string indent);
28 
29  void visit(const Function& func, const DataflowNode& n, NodeState& state);
30 };
31 
32 #endif