summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/index/Background.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/index/Background.cpp')
-rw-r--r--clang-tools-extra/clangd/index/Background.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/clang-tools-extra/clangd/index/Background.cpp b/clang-tools-extra/clangd/index/Background.cpp
index 7c734d39cb3..13c427110f0 100644
--- a/clang-tools-extra/clangd/index/Background.cpp
+++ b/clang-tools-extra/clangd/index/Background.cpp
@@ -619,11 +619,15 @@ BackgroundIndex::loadShards(std::vector<std::string> ChangedFiles) {
llvm::StringSet<> LoadedShards;
Rebuilder.startLoading();
for (const auto &File : ChangedFiles) {
- ProjectInfo PI;
- auto Cmd = CDB.getCompileCommand(File, &PI);
+ auto Cmd = CDB.getCompileCommand(File);
if (!Cmd)
continue;
- BackgroundIndexStorage *IndexStorage = IndexStorageFactory(PI.SourceRoot);
+
+ std::string ProjectRoot;
+ if (auto PI = CDB.getProjectInfo(File))
+ ProjectRoot = std::move(PI->SourceRoot);
+
+ BackgroundIndexStorage *IndexStorage = IndexStorageFactory(ProjectRoot);
auto Dependencies = loadShard(*Cmd, IndexStorage, LoadedShards);
for (const auto &Dependency : Dependencies) {
if (!Dependency.NeedsReIndexing || FilesToIndex.count(Dependency.Path))
OpenPOWER on IntegriCloud