diff options
author | Marco Bubke <marco.bubke@qt.io> | 2018-12-17 12:06:57 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2019-01-21 15:27:10 +0000 |
commit | dd366b68dea11eebb0b1c53f3cff1902ce2bfefa (patch) | |
tree | b919ffd70c5e3677244d2475381f6fb8defdd3eb /src/tools/clangrefactoringbackend/source/symbolindexing.h | |
parent | a78e3e5dd5f882a28a3152f2e63ae986a9f2a8c5 (diff) | |
download | qt-creator-dd366b68dea11eebb0b1c53f3cff1902ce2bfefa.tar.gz |
PchManager: Split pch tasks in project and system pch tasks
Like you can see in the task numbers this patch is touching many different
areas. So I will only touch the main parts. It is using a clang action
instead of an extra process which will be enabling the handling of
generated files in PCHs. The flags from the project part are now not
anymore transformed in a command line but they are saved in the container
semantically aware so that they can later be merged. Most of this patch is
simply polishing of other patches.
Task-number: QTCREATORBUG-21346
Task-number: QTCREATORBUG-21380
Task-number: QTCREATORBUG-21382
Task-number: QTCREATORBUG-21383
Task-number: QTCREATORBUG-21693
Task-number: QTCREATORBUG-21778
Change-Id: I9b0c02d8149b554254e819448fbc61eeaa5b7494
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/tools/clangrefactoringbackend/source/symbolindexing.h')
-rw-r--r-- | src/tools/clangrefactoringbackend/source/symbolindexing.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/tools/clangrefactoringbackend/source/symbolindexing.h b/src/tools/clangrefactoringbackend/source/symbolindexing.h index 10e1be0358..6f52f863d8 100644 --- a/src/tools/clangrefactoringbackend/source/symbolindexing.h +++ b/src/tools/clangrefactoringbackend/source/symbolindexing.h @@ -81,12 +81,16 @@ public: FilePathCachingInterface &filePathCache, const GeneratedFiles &generatedFiles, ProgressCounter::SetProgressCallback &&setProgressCallback) - : m_filePathCache(filePathCache), - m_usedMacroAndSourceStorage(database), - m_symbolStorage(database), - m_collectorManger(generatedFiles, database), - m_progressCounter(std::move(setProgressCallback)), - m_indexerScheduler(m_collectorManger, m_indexerQueue, m_progressCounter, std::thread::hardware_concurrency()) + : m_filePathCache(filePathCache) + , m_buildDependencyStorage(database) + , m_symbolStorage(database) + , m_collectorManger(generatedFiles, database) + , m_progressCounter(std::move(setProgressCallback)) + , m_indexerScheduler(m_collectorManger, + m_indexerQueue, + m_progressCounter, + std::thread::hardware_concurrency(), + CallDoInMainThreadAfterFinished::Yes) { } @@ -109,12 +113,12 @@ public: } } - void updateProjectParts(V2::ProjectPartContainers &&projectParts) override; + void updateProjectParts(ProjectPartContainers &&projectParts) override; private: using SymbolIndexerTaskScheduler = TaskScheduler<SymbolsCollectorManager, SymbolIndexerTask::Callable>; FilePathCachingInterface &m_filePathCache; - BuildDependenciesStorage m_usedMacroAndSourceStorage; + BuildDependenciesStorage m_buildDependencyStorage; SymbolStorage m_symbolStorage; ClangPathWatcher<QFileSystemWatcher, QTimer> m_sourceWatcher{m_filePathCache}; FileStatusCache m_fileStatusCache{m_filePathCache}; @@ -124,7 +128,7 @@ private: SymbolIndexerTaskQueue m_indexerQueue{m_indexerScheduler, m_progressCounter}; SymbolIndexer m_indexer{m_indexerQueue, m_symbolStorage, - m_usedMacroAndSourceStorage, + m_buildDependencyStorage, m_sourceWatcher, m_filePathCache, m_fileStatusCache, |