ROSE 2.9.0
Loading...
Searching...
No Matches
FlowAnalysisInterface.h
1#ifndef ROSE_FlowAnalysisInterface_H
2#define ROSE_FlowAnalysisInterface_H
3
4#include <RoseFirst.h>
5#include <Rose/FlowGraphInterface.h>
6
7class SgNode;
9class SgExpression;
10class SgProject;
11
12namespace Rose{
13namespace FlowGraphInterface {
14
15// Internally automatically select the desired analysis based on the options.
16enum class AnalysisSupportOption { CodeThorn, AstSideEffect };
17
18template <class NodeIterator, class EdgeIterator, class CallData, AnalysisSupportOption>
20 public:
21 // Call Graph Analysis Interface below.
23 typedef SgExpression* EdgeInfo;
25
26 GraphAccess& getResultGraph();
27 CallData& getSavedCallData();
28
29 bool performAnalysis(SgProject* ast);
30};
31
32}; // namespace FlowGraphInterface
33
34}; // namespace Rose
35
36#endif
This class represents the notion of an expression. Expressions are derived from SgLocatedNodes,...
This class represents the concept of a function declaration statement.
This class represents the base class for all IR nodes within Sage III.
This class represents a source project, with a list of SgFile objects and global information about th...
The ROSE library.