systemc-clang 2.0.0
Parsing SystemC constructs
Loading...
Searching...
No Matches
CXXRecordDeclUtils.h
Go to the documentation of this file.
1#ifndef _CXX_RECORD_DECL_UTILS_H_
2#define _CXX_RECORD_DECL_UTILS_H_
3
4#undef DEBUG_TYPE
5#define DEBUG_TYPE "CXXConstructDeclUtils"
6
7#include <string>
8#include <vector>
9
10#include "llvm/ADT/StringRef.h"
11
12//#include "clang/AST/Type.h"
13
14namespace clang {
15class CXXRecordDecl;
16class CXXCtorInitializer;
17class FieldDecl;
18class CXXMemberCallExpr;
19class Type;
20class CallExpr;
21}; // namespace clang
22
23namespace sc_ast_matchers {
24namespace utils {
25
26bool isCXXMemberCallExprSystemCCall(const clang::Type *type,
27 const std::vector<llvm::StringRef> &names);
28// bool isCXXMemberCallExprSystemCCall(const clang::CXXMemberCallExpr *mce, const std::vector<llvm::StringRef> &names);
29 bool isCXXMemberCallExprSystemCCall(const clang::CXXMemberCallExpr *mce);
30
31bool isCXXMemberCallExprSystemCCall(const clang::CallExpr *ce,
32 const std::vector<llvm::StringRef> &names);
33
34
35
36typedef std::tuple<clang::FieldDecl *, std::string,
37 const clang::CXXCtorInitializer *>
39
40std::vector<const clang::CXXRecordDecl *> getAllBaseClassNames (
41 const clang::CXXRecordDecl *decl);
42
43std::vector<const clang::CXXRecordDecl *> getAllBaseClasses(
44 const clang::CXXRecordDecl *decl);
45
47//
48std::vector<ModuleInitializerTupleType> getModuleInitializerNames(
49 const clang::CXXCtorInitializer *init);
50
51
52} // namespace utils
53
54} // namespace sc_ast_matchers
55
56#endif
Clang forward declarations.
Definition FindArgument.h:6
std::vector< const clang::CXXRecordDecl * > getAllBaseClasses(const clang::CXXRecordDecl *decl)
bool isCXXMemberCallExprSystemCCall(const clang::CallExpr *ce, const std::vector< llvm::StringRef > &names)
std::vector< ModuleInitializerTupleType > getModuleInitializerNames(const clang::CXXCtorInitializer *init)
Get the first constructor argument.
std::vector< const clang::CXXRecordDecl * > getAllBaseClassNames(const clang::CXXRecordDecl *decl)
std::tuple< clang::FieldDecl *, std::string, const clang::CXXCtorInitializer * > ModuleInitializerTupleType