forked from qt-creator/qt-creator
Clang: Add path notifier to symbol indexer
Change-Id: I2a605a5a5ac2511566edd9c069e84b5ec9d95279 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
@@ -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
|
||||
|
@@ -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;
|
||||
|
@@ -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};
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user