aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangtools/clangtoolruncontrol.h
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2023-01-11 23:48:53 +0100
committerJarek Kobus <jaroslaw.kobus@qt.io>2023-01-12 10:11:44 +0000
commite7781e2a99bce1981ab4efab97e5df14b142238c (patch)
tree6d6f6e917c5522714e6b21e6a984d9fe374a0d6f /src/plugins/clangtools/clangtoolruncontrol.h
parent1dad90ea451b763f8cf90ceb1d355206252c7255 (diff)
ClangTools: Reuse TaskTree
Reuse it in ClangToolRunControl and DocumentClangToolRunner. Get rid of ClangToolRunner and provide clangToolTask() method instead. Change-Id: I677940b325850849c5f5a60f2d320c031a4f0da0 Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/clangtools/clangtoolruncontrol.h')
-rw-r--r--src/plugins/clangtools/clangtoolruncontrol.h24
1 files changed, 4 insertions, 20 deletions
diff --git a/src/plugins/clangtools/clangtoolruncontrol.h b/src/plugins/clangtools/clangtoolruncontrol.h
index 08ba180602..63ffdf99c0 100644
--- a/src/plugins/clangtools/clangtoolruncontrol.h
+++ b/src/plugins/clangtools/clangtoolruncontrol.h
@@ -13,21 +13,17 @@
#include <utils/temporarydirectory.h>
#include <QElapsedTimer>
-#include <QFutureInterface>
#include <QSet>
-#include <QStringList>
+
+namespace Utils { class TaskTree; }
namespace ClangTools {
namespace Internal {
class AnalyzeOutputData;
-class AnalyzeUnit;
class ClangTool;
-class ClangToolRunner;
class ProjectBuilder;
-using RunnerCreator = std::function<ClangToolRunner*()>;
-
class ClangToolRunWorker : public ProjectExplorer::RunWorker
{
Q_OBJECT
@@ -39,6 +35,7 @@ public:
const CppEditor::ClangDiagnosticConfig &diagnosticConfig,
const FileInfos &fileInfos,
bool buildBeforeAnalysis);
+ ~ClangToolRunWorker();
int filesAnalyzed() const { return m_filesAnalyzed.size(); }
int filesNotAnalyzed() const { return m_filesNotAnalyzed.size(); }
@@ -53,16 +50,6 @@ private:
void start() final;
void stop() final;
void onDone(const AnalyzeOutputData &output);
-
- QList<RunnerCreator> runnerCreators(const AnalyzeUnit &unit);
- ClangToolRunner *createRunner(CppEditor::ClangToolType tool, const AnalyzeUnit &unit);
-
- void analyzeNextFile();
- void handleFinished(ClangToolRunner *runner);
-
- void onProgressCanceled();
- void updateProgressValue();
-
void finalize();
private:
@@ -80,11 +67,8 @@ private:
QString m_targetTriple;
Utils::Id m_toolChainType;
- QFutureInterface<void> m_progress;
- QList<RunnerCreator> m_runnerCreators;
+ std::unique_ptr<Utils::TaskTree> m_taskTree;
QSet<Utils::FilePath> m_projectFiles;
- QSet<ClangToolRunner *> m_runners;
- int m_initialQueueSize = 0;
QSet<QString> m_filesAnalyzed;
QSet<QString> m_filesNotAnalyzed;