summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKadir Cetinkaya <kadircet@google.com>2019-03-11 11:01:14 +0000
committerKadir Cetinkaya <kadircet@google.com>2019-03-11 11:01:14 +0000
commita7cdfd9cb5643b15fcbd885aa73e5c304ffff91b (patch)
treea04361148f89f7d62ca45e4437bc79ae6a541508
parent1b1d372b423413dc8b2c5cca86240e9ae79afcc6 (diff)
downloadbcm5719-llvm-a7cdfd9cb5643b15fcbd885aa73e5c304ffff91b.tar.gz
bcm5719-llvm-a7cdfd9cb5643b15fcbd885aa73e5c304ffff91b.zip
[clangd] Respect Origin option in createStaticIndexingAction
Summary: Currently createStaticIndexingAction always set Origin to Static, which makes it hard to change it later on by different indexers(One needs to go over each symbol making a new copy). This patch changes that behavior to rather respect it if set by user. Reviewers: ioeric Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D59205 llvm-svn: 355820
-rw-r--r--clang-tools-extra/clangd/index/IndexAction.cpp3
-rw-r--r--clang-tools-extra/clangd/index/IndexAction.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/clang-tools-extra/clangd/index/IndexAction.cpp b/clang-tools-extra/clangd/index/IndexAction.cpp
index 96c007d4a8f..61db161bd5b 100644
--- a/clang-tools-extra/clangd/index/IndexAction.cpp
+++ b/clang-tools-extra/clangd/index/IndexAction.cpp
@@ -183,7 +183,8 @@ std::unique_ptr<FrontendAction> createStaticIndexingAction(
index::IndexingOptions::SystemSymbolFilterKind::All;
Opts.CollectIncludePath = true;
Opts.CountReferences = true;
- Opts.Origin = SymbolOrigin::Static;
+ if (Opts.Origin == SymbolOrigin::Unknown)
+ Opts.Origin = SymbolOrigin::Static;
Opts.StoreAllDocumentation = false;
if (RefsCallback != nullptr) {
Opts.RefFilter = RefKind::All;
diff --git a/clang-tools-extra/clangd/index/IndexAction.h b/clang-tools-extra/clangd/index/IndexAction.h
index 748b26e1671..f2b45deba02 100644
--- a/clang-tools-extra/clangd/index/IndexAction.h
+++ b/clang-tools-extra/clangd/index/IndexAction.h
@@ -22,7 +22,7 @@ namespace clangd {
// - include paths are always collected, and canonicalized appropriately
// - references are always counted
// - all references are collected (if RefsCallback is non-null)
-// - the symbol origin is always Static
+// - the symbol origin is set to Static if not specified by caller
std::unique_ptr<FrontendAction> createStaticIndexingAction(
SymbolCollector::Options Opts,
std::function<void(SymbolSlab)> SymbolsCallback,
OpenPOWER on IntegriCloud