Add clang_getDeclSource().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82807 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang-c/Index.h b/include/clang-c/Index.h
index 2203e28..3178017 100644
--- a/include/clang-c/Index.h
+++ b/include/clang-c/Index.h
@@ -177,6 +177,7 @@
const char *clang_getDeclSpelling(CXDecl);
unsigned clang_getDeclLine(CXDecl);
unsigned clang_getDeclColumn(CXDecl);
+const char *clang_getDeclSource(CXDecl);
/*
* CXCursor Operations.
diff --git a/tools/CIndex/CIndex.cpp b/tools/CIndex/CIndex.cpp
index 74b3cfd..ff0be0d 100644
--- a/tools/CIndex/CIndex.cpp
+++ b/tools/CIndex/CIndex.cpp
@@ -370,6 +370,14 @@
return SourceMgr.getSpellingLineNumber(ND->getLocation());
}
+const char *clang_getDeclSource(CXDecl AnonDecl)
+{
+ assert(AnonDecl && "Passed null CXDecl");
+ NamedDecl *ND = static_cast<NamedDecl *>(AnonDecl);
+ SourceManager &SourceMgr = ND->getASTContext().getSourceManager();
+ return SourceMgr.getBufferName(ND->getLocation());
+}
+
const char *clang_getCursorSpelling(CXCursor C)
{
assert(C.decl && "CXCursor has null decl");
diff --git a/tools/CIndex/CIndex.exports b/tools/CIndex/CIndex.exports
index 8cfc1a9..c1ca0c7 100644
--- a/tools/CIndex/CIndex.exports
+++ b/tools/CIndex/CIndex.exports
@@ -11,6 +11,7 @@
_clang_getDeclSpelling
_clang_getDeclLine
_clang_getDeclColumn
+_clang_getDeclSource
_clang_getEntity
_clang_getEntityFromDecl
_clang_getURI