summaryrefslogtreecommitdiff
path: root/src/tools/clangrefactoringbackend/source/symbolindexing.h
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2018-12-17 12:06:57 +0100
committerMarco Bubke <marco.bubke@qt.io>2019-01-21 15:27:10 +0000
commitdd366b68dea11eebb0b1c53f3cff1902ce2bfefa (patch)
treeb919ffd70c5e3677244d2475381f6fb8defdd3eb /src/tools/clangrefactoringbackend/source/symbolindexing.h
parenta78e3e5dd5f882a28a3152f2e63ae986a9f2a8c5 (diff)
downloadqt-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.h22
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,