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