diff options
Diffstat (limited to 'wrapperhelper/utils.h')
| -rw-r--r-- | wrapperhelper/utils.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/wrapperhelper/utils.h b/wrapperhelper/utils.h index 25865376..06acbb72 100644 --- a/wrapperhelper/utils.h +++ b/wrapperhelper/utils.h @@ -1,4 +1,5 @@ #pragma once +#include <clang/AST/ASTContext.h> #include <clang/AST/Decl.h> #include <clang/AST/Type.h> #include <clang/Tooling/Tooling.h> @@ -19,3 +20,14 @@ static const clang::Type* StripTypedef(clang::QualType type) { return type.getTypePtr(); } } + +// FIXME: Need to support other triple except default target triple +static std::string GetDeclHeaderFile(clang::ASTContext& Ctx, clang::Decl* Decl) { + const auto& SourceManager = Ctx.getSourceManager(); + const clang::FileID FileID = SourceManager.getFileID(Decl->getBeginLoc()); + const clang::FileEntry *FileEntry = SourceManager.getFileEntryForID(FileID); + if (FileEntry) { + return FileEntry->getName().str(); + } + return ""; +} \ No newline at end of file |