diff options
author | Jarek Kobus <jaroslaw.kobus@qt.io> | 2023-01-11 15:32:46 +0100 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@qt.io> | 2023-01-12 09:24:43 +0000 |
commit | 5dec97ea4121a8253f6d89d99e5165eb333e50a0 (patch) | |
tree | f52eaab824513ce15f88ac9cc94b480c84d3fe95 /src/plugins/clangtools/clangtoolruncontrol.h | |
parent | c181631de9b06654148c915479592cf2522f4a10 (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.h | 22 |
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(); |