[PATCH] D59205: [clangd] Respect Origin option in createStaticIndexingAction

Kadir Cetinkaya via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 11 03:54:02 PDT 2019

kadircet created this revision.
kadircet added a reviewer: ioeric.
Herald added subscribers: cfe-commits, arphaman, jkorous, MaskRay, ilya-biryukov.
Herald added a project: clang.

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.

  rCTE Clang Tools Extra



Index: clangd/index/IndexAction.h
--- clangd/index/IndexAction.h
+++ clangd/index/IndexAction.h
@@ -22,7 +22,7 @@
 //   - 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,
Index: clangd/index/IndexAction.cpp
--- clangd/index/IndexAction.cpp
+++ clangd/index/IndexAction.cpp
@@ -183,7 +183,8 @@
   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;

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59205.190062.patch
Type: text/x-patch
Size: 1178 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190311/f44824f2/attachment.bin>

More information about the cfe-commits mailing list