1#ifndef _CXX_RECORD_DECL_UTILS_H_
2#define _CXX_RECORD_DECL_UTILS_H_
5#define DEBUG_TYPE "CXXConstructDeclUtils"
10#include "llvm/ADT/StringRef.h"
16class CXXCtorInitializer;
18class CXXMemberCallExpr;
27 const std::vector<llvm::StringRef> &names);
32 const std::vector<llvm::StringRef> &names);
36typedef std::tuple<clang::FieldDecl *, std::string,
37 const clang::CXXCtorInitializer *>
41 const clang::CXXRecordDecl *decl);
44 const clang::CXXRecordDecl *decl);
49 const clang::CXXCtorInitializer *init);
Clang forward declarations.
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