From a7cdfd9cb5643b15fcbd885aa73e5c304ffff91b Mon Sep 17 00:00:00 2001 From: Kadir Cetinkaya Date: Mon, 11 Mar 2019 11:01:14 +0000 Subject: [PATCH] [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 --- clang-tools-extra/clangd/index/IndexAction.cpp | 3 ++- clang-tools-extra/clangd/index/IndexAction.h | 2 +- 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 96c007d4a8ff..61db161bd5ba 100644 --- a/clang-tools-extra/clangd/index/IndexAction.cpp +++ b/clang-tools-extra/clangd/index/IndexAction.cpp @@ -183,7 +183,8 @@ std::unique_ptr 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 748b26e16717..f2b45deba02a 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 createStaticIndexingAction( SymbolCollector::Options Opts, std::function SymbolsCallback,