Rose2xaif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TemplateTraverse.hpp
Go to the documentation of this file.
1 
2 
3 #ifndef TEMPLATETRAVERSE_HPP
4 #define TEMPLATETRAVERSE_HPP
5 
6 #include "rose.h"
7 #include "util/Messages.hpp"
8 namespace rose2xaif {
9 
10  namespace SgXAIF {
11 
12 
13 
14  class templateTraverse : public SgSimpleProcessing
15  {
16 
17  std::map<int, std::list<SgExprStatement*> > intexprstmtlistmap;
18  SgFile * functionfile;
19  public:
20 
21  templateTraverse(SgFile * sgfile)
22  {
23  functionfile = sgfile;
24  }
25 
26  std::map<int, std::list<SgExprStatement*> > get_intexprstmtlistmap()
27  {
28  return intexprstmtlistmap;
29  }
30  void visit(SgNode* node);
31  };
32 
33  class identifyBasicBlockTraverse : public SgSimpleProcessing
34  {
35 
36  SgBasicBlock * bodyptr;
37  public:
38 
40  {
41  bodyptr = NULL;
42  }
43  void visit(SgNode* node);
44  SgBasicBlock * get_body()
45  {
46  return bodyptr;
47  }
48  };
49  }
50 }
51 #endif