diff options
author | Marco Bubke <marco.bubke@qt.io> | 2018-10-11 18:09:55 +0200 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2018-10-16 08:57:00 +0000 |
commit | 2c885fa3d4533ce1d2db43af809d532a64755b00 (patch) | |
tree | e9fea758df346a9f584f2bda899a2ab0d98435fd /src/tools/clangrefactoringbackend/source/symbolindexer.cpp | |
parent | 468dcc67cbb3b43387b6dfe5b5ddb8a2f63c4198 (diff) | |
download | qt-creator-2c885fa3d4533ce1d2db43af809d532a64755b00.tar.gz |
Clang: Split symbol storage
We need UsedMacros and source related statements in the PCH manager too,
so we have to split that class.
Task-number: QTCREATORBUG-21289
Change-Id: Ie27d4b518b3d6d9174e93fcb243fdb55a09ddf51
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/tools/clangrefactoringbackend/source/symbolindexer.cpp')
-rw-r--r-- | src/tools/clangrefactoringbackend/source/symbolindexer.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/tools/clangrefactoringbackend/source/symbolindexer.cpp b/src/tools/clangrefactoringbackend/source/symbolindexer.cpp index 272e89fa89..02a2fd14a0 100644 --- a/src/tools/clangrefactoringbackend/source/symbolindexer.cpp +++ b/src/tools/clangrefactoringbackend/source/symbolindexer.cpp @@ -58,12 +58,14 @@ private: SymbolIndexer::SymbolIndexer(SymbolIndexerTaskQueueInterface &symbolIndexerTaskQueue, SymbolStorageInterface &symbolStorage, + UsedMacroAndSourceStorageInterface &usedMacroAndSourceStorage, ClangPathWatcherInterface &pathWatcher, FilePathCachingInterface &filePathCache, FileStatusCache &fileStatusCache, Sqlite::TransactionInterface &transactionInterface) : m_symbolIndexerTaskQueue(symbolIndexerTaskQueue), m_symbolStorage(symbolStorage), + m_usedMacroAndSourceStorage(usedMacroAndSourceStorage), m_pathWatcher(pathWatcher), m_filePathCache(filePathCache), m_fileStatusCache(fileStatusCache), @@ -115,11 +117,11 @@ void SymbolIndexer::updateProjectPart(V2::ProjectPartContainer &&projectPart) m_symbolStorage.updateProjectPartSources(projectPartId, symbolsCollector.sourceFiles()); - m_symbolStorage.insertOrUpdateUsedMacros(symbolsCollector.usedMacros()); + m_usedMacroAndSourceStorage.insertOrUpdateUsedMacros(symbolsCollector.usedMacros()); - m_symbolStorage.insertFileStatuses(symbolsCollector.fileStatuses()); + m_usedMacroAndSourceStorage.insertFileStatuses(symbolsCollector.fileStatuses()); - m_symbolStorage.insertOrUpdateSourceDependencies(symbolsCollector.sourceDependencies()); + m_usedMacroAndSourceStorage.insertOrUpdateSourceDependencies(symbolsCollector.sourceDependencies()); transaction.commit(); }; @@ -180,11 +182,11 @@ void SymbolIndexer::updateChangedPath(FilePathId filePathId, m_symbolStorage.updateProjectPartSources(projectPartId, symbolsCollector.sourceFiles()); - m_symbolStorage.insertOrUpdateUsedMacros(symbolsCollector.usedMacros()); + m_usedMacroAndSourceStorage.insertOrUpdateUsedMacros(symbolsCollector.usedMacros()); - m_symbolStorage.insertFileStatuses(symbolsCollector.fileStatuses()); + m_usedMacroAndSourceStorage.insertFileStatuses(symbolsCollector.fileStatuses()); - m_symbolStorage.insertOrUpdateSourceDependencies(symbolsCollector.sourceDependencies()); + m_usedMacroAndSourceStorage.insertOrUpdateSourceDependencies(symbolsCollector.sourceDependencies()); transaction.commit(); }; @@ -212,7 +214,7 @@ FilePathIds SymbolIndexer::filterChangedFiles(const V2::ProjectPartContainer &pr ids.reserve(projectPart.sourcePathIds.size()); for (const FilePathId &sourceId : projectPart.sourcePathIds) { - long long oldLastModified = m_symbolStorage.fetchLowestLastModifiedTime(sourceId); + long long oldLastModified = m_usedMacroAndSourceStorage.fetchLowestLastModifiedTime(sourceId); long long currentLastModified = m_fileStatusCache.lastModifiedTime(sourceId); if (oldLastModified < currentLastModified) ids.push_back(sourceId); |