aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangtools/clangtoolruncontrol.h
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2023-01-11 15:32:46 +0100
committerJarek Kobus <jaroslaw.kobus@qt.io>2023-01-12 09:24:43 +0000
commit5dec97ea4121a8253f6d89d99e5165eb333e50a0 (patch)
treef52eaab824513ce15f88ac9cc94b480c84d3fe95 /src/plugins/clangtools/clangtoolruncontrol.h
parentc181631de9b06654148c915479592cf2522f4a10 (diff)
ClangToolRunner: Add done(const AnalyzeOutputData &) signal
Introduce AnalyzerOutputData structure that is passed inside new done() signal. This signal replaces the finishedWithSuccess() and finishedWithFailure() signals. The output structure contains all the data required in clients' handlers. Move AnalyzeUnit into clangtoolrunner.h in order to avoid circular dependencies. Get rid of outputFilePath(), as it's passed inside AnalyzeOutputData now. Inline ClangToolRunWorker::unitsToAnalyze() as it's used only once. Change-Id: Icf9a52853c68e83f6ddfc4858dbcb830b96e1844 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/clangtools/clangtoolruncontrol.h')
-rw-r--r--src/plugins/clangtools/clangtoolruncontrol.h22
1 files changed, 4 insertions, 18 deletions
diff --git a/src/plugins/clangtools/clangtoolruncontrol.h b/src/plugins/clangtools/clangtoolruncontrol.h
index 019613f88d..08ba180602 100644
--- a/src/plugins/clangtools/clangtoolruncontrol.h
+++ b/src/plugins/clangtools/clangtoolruncontrol.h
@@ -19,20 +19,13 @@
namespace ClangTools {
namespace Internal {
+
+class AnalyzeOutputData;
+class AnalyzeUnit;
class ClangTool;
class ClangToolRunner;
class ProjectBuilder;
-struct AnalyzeUnit {
- AnalyzeUnit(const FileInfo &fileInfo,
- const Utils::FilePath &clangResourceDir,
- const QString &clangVersion);
-
- QString file;
- QStringList arguments; // without file itself and "-o somePath"
-};
-using AnalyzeUnits = QList<AnalyzeUnit>;
-
using RunnerCreator = std::function<ClangToolRunner*()>;
class ClangToolRunWorker : public ProjectExplorer::RunWorker
@@ -56,22 +49,15 @@ signals:
void runnerFinished();
void startFailed();
-protected:
- void onRunnerFinishedWithSuccess(ClangToolRunner *runner, const QString &filePath);
- void onRunnerFinishedWithFailure(ClangToolRunner *runner, const QString &errorMessage,
- const QString &errorDetails);
-
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);
- AnalyzeUnits unitsToAnalyze(const Utils::FilePath &clangIncludeDir,
- const QString &clangVersion);
void analyzeNextFile();
-
void handleFinished(ClangToolRunner *runner);
void onProgressCanceled();