systemc-clang 2.0.0
Parsing SystemC constructs
Loading...
Searching...
No Matches
FindWait.h
Go to the documentation of this file.
1#ifndef _FIND_WAIT_H_
2#define _FIND_WAIT_H_
3
4#include "WaitContainer.h"
5//#include "clang/AST/DeclCXX.h"
6#include "clang/AST/RecursiveASTVisitor.h"
7#include "llvm/Support/raw_ostream.h"
8#include <map>
9
10namespace clang {
11 class CXXMethodDecl;
12 class CallExpr;
13};
14
15namespace systemc_clang {
16
17
18class FindWait : public RecursiveASTVisitor<FindWait> {
19 public:
20 typedef vector<WaitContainer *> waitListType;
21
22 typedef std::pair<clang::CXXMethodDecl *, vector<std::string>>
24 typedef std::map<clang::CXXMethodDecl *, vector<std::string>>
26 bool VisitUnresolvedMemberExpr(clang::UnresolvedMemberExpr *e);
27 FindWait(clang::CXXMethodDecl *, llvm::raw_ostream &);
28
29 virtual ~FindWait();
31
32 virtual bool VisitCallExpr(clang::CallExpr *expr);
33
34 clang::CXXMethodDecl *getEntryMethod() const;
36 void dump();
37
38 private:
39 clang::CXXMethodDecl *entry_method_decl_;
40 llvm::raw_ostream &os_;
41 clang::CallExpr *wait_call_;
44};
45} // namespace systemc_clang
46#endif
llvm::raw_ostream & os_
Definition FindWait.h:40
vector< WaitContainer * > waitListType
Definition FindWait.h:20
waitListType wait_calls_list_
Definition FindWait.h:43
FindWait(clang::CXXMethodDecl *, llvm::raw_ostream &)
Definition FindWait.cpp:9
bool shouldVisitTemplateInstantiations() const
Definition FindWait.cpp:29
clang::CXXMethodDecl * getEntryMethod() const
Definition FindWait.cpp:66
std::map< clang::CXXMethodDecl *, vector< std::string > > processWaitEventMapType
Definition FindWait.h:25
std::pair< clang::CXXMethodDecl *, vector< std::string > > processWaitEventPairType
Definition FindWait.h:23
virtual bool VisitCallExpr(clang::CallExpr *expr)
Definition FindWait.cpp:43
clang::CallExpr * wait_call_
Definition FindWait.h:41
waitListType getWaitCalls()
Definition FindWait.cpp:64
clang::CXXMethodDecl * entry_method_decl_
Definition FindWait.h:39
bool VisitUnresolvedMemberExpr(clang::UnresolvedMemberExpr *e)
Definition FindWait.cpp:31
Clang forward declarations.
Definition FindArgument.h:6