about summary refs log tree commit diff stats
path: root/wrapperhelper/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'wrapperhelper/utils.h')
-rw-r--r--wrapperhelper/utils.h12
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