summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/AST.cpp
diff options
context:
space:
mode:
authorHaojian Wu <hokein@google.com>2018-08-07 08:57:52 +0000
committerHaojian Wu <hokein@google.com>2018-08-07 08:57:52 +0000
commitc6ddb461629f4f71186bcf3f019bb66e4d6413fa (patch)
tree749c64bc37ace2c39e90e834a7490fdacc980931 /clang-tools-extra/clangd/AST.cpp
parent65eceee701e1d8edbdc9ec553e100097942add7f (diff)
downloadbcm5719-llvm-c6ddb461629f4f71186bcf3f019bb66e4d6413fa.tar.gz
bcm5719-llvm-c6ddb461629f4f71186bcf3f019bb66e4d6413fa.zip
[clangd] Share getSymbolID implementation.
Summary: And remove all duplicated implementation. Reviewers: ioeric Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D50375 llvm-svn: 339116
Diffstat (limited to 'clang-tools-extra/clangd/AST.cpp')
-rw-r--r--clang-tools-extra/clangd/AST.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/AST.cpp b/clang-tools-extra/clangd/AST.cpp
index ec1862cd73d..1344931a998 100644
--- a/clang-tools-extra/clangd/AST.cpp
+++ b/clang-tools-extra/clangd/AST.cpp
@@ -12,6 +12,7 @@
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/Basic/SourceManager.h"
+#include "clang/Index/USRGeneration.h"
namespace clang {
namespace clangd {
@@ -53,5 +54,12 @@ std::string printQualifiedName(const NamedDecl &ND) {
return QName;
}
+llvm::Optional<SymbolID> getSymbolID(const Decl *D) {
+ llvm::SmallString<128> USR;
+ if (index::generateUSRForDecl(D, USR))
+ return None;
+ return SymbolID(USR);
+}
+
} // namespace clangd
} // namespace clang
OpenPOWER on IntegriCloud