From 2c08ddcd5ab7278ab5e7faf986e6763f8c9d5cf6 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Wed, 27 Dec 2017 13:20:24 +0100 Subject: [PATCH] Clang: Add path notifier to symbol indexer Change-Id: I2a605a5a5ac2511566edd9c069e84b5ec9d95279 Reviewed-by: Ivan Donchevskii --- .../clangrefactoringbackend/source/symbolindexer.cpp | 10 ++++++++++ .../clangrefactoringbackend/source/symbolindexer.h | 5 ++++- tests/unit/unittest/symbolindexer-test.cpp | 6 ++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/tools/clangrefactoringbackend/source/symbolindexer.cpp b/src/tools/clangrefactoringbackend/source/symbolindexer.cpp index 7f288ddc66a..b8d1f1e90c6 100644 --- a/src/tools/clangrefactoringbackend/source/symbolindexer.cpp +++ b/src/tools/clangrefactoringbackend/source/symbolindexer.cpp @@ -34,6 +34,7 @@ SymbolIndexer::SymbolIndexer(SymbolsCollectorInterface &symbolsCollector, m_symbolStorage(symbolStorage), m_pathWatcher(pathWatcher) { + pathWatcher.setNotifier(this); } void SymbolIndexer::updateProjectParts(V2::ProjectPartContainers &&projectParts, @@ -52,4 +53,13 @@ void SymbolIndexer::updateProjectParts(V2::ProjectPartContainers &&projectParts, m_symbolsCollector.sourceLocations()); } +void SymbolIndexer::pathsWithIdsChanged(const Utils::SmallStringVector &) +{ +} + +void SymbolIndexer::pathsChanged(const FilePathIds &filePathIds) +{ + +} + } // namespace ClangBackEnd diff --git a/src/tools/clangrefactoringbackend/source/symbolindexer.h b/src/tools/clangrefactoringbackend/source/symbolindexer.h index f9af79db5bd..239ffc9d5ee 100644 --- a/src/tools/clangrefactoringbackend/source/symbolindexer.h +++ b/src/tools/clangrefactoringbackend/source/symbolindexer.h @@ -34,7 +34,7 @@ namespace ClangBackEnd { -class SymbolIndexer +class SymbolIndexer : public ClangPathWatcherNotifier { public: SymbolIndexer(SymbolsCollectorInterface &symbolsCollector, @@ -44,6 +44,9 @@ public: void updateProjectParts(V2::ProjectPartContainers &&projectParts, V2::FileContainers &&generatedFiles); + void pathsWithIdsChanged(const Utils::SmallStringVector &ids) override; + void pathsChanged(const FilePathIds &filePathIds) override; + private: SymbolsCollectorInterface &m_symbolsCollector; SymbolStorageInterface &m_symbolStorage; diff --git a/tests/unit/unittest/symbolindexer-test.cpp b/tests/unit/unittest/symbolindexer-test.cpp index 09088ec637e..934733ba02e 100644 --- a/tests/unit/unittest/symbolindexer-test.cpp +++ b/tests/unit/unittest/symbolindexer-test.cpp @@ -167,5 +167,11 @@ TEST_F(SymbolIndexer, UpdateProjectPartsCallsInOrder) indexer.updateProjectParts({projectPart1}, Utils::clone(unsaved)); } +TEST_F(SymbolIndexer, CallSetNotifier) +{ + EXPECT_CALL(mockPathWatcher, setNotifier(_)); + + ClangBackEnd::SymbolIndexer indexer{mockCollector, mockStorage, mockPathWatcher}; +} }