diff options
author | Jarek Kobus <[email protected]> | 2023-02-20 20:58:38 +0100 |
---|---|---|
committer | Jarek Kobus <[email protected]> | 2023-02-21 07:31:48 +0000 |
commit | 69ec9c43618f021a0146a1f23b13f18b827893d1 (patch) | |
tree | e47b4648083820eed5819fe7f521f50edd7e0df3 /src/plugins/clangtools/clangtoolrunner.cpp | |
parent | dce702596965735a5bc2bbf3adcf5e1c50f7b55f (diff) |
TaskTree: Add TreeStorage::operator*()
Reuse it in some places.
Change-Id: I335f38fa0384ea17bd8e981d743f835c3f05b731
Reviewed-by: <[email protected]>
Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/clangtools/clangtoolrunner.cpp')
-rw-r--r-- | src/plugins/clangtools/clangtoolrunner.cpp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/src/plugins/clangtools/clangtoolrunner.cpp b/src/plugins/clangtools/clangtoolrunner.cpp index f5c955c50e7..90bfe51ca30 100644 --- a/src/plugins/clangtools/clangtoolrunner.cpp +++ b/src/plugins/clangtools/clangtoolrunner.cpp @@ -111,11 +111,10 @@ TaskItem clangToolTask(const AnalyzeInputData &input, }; const TreeStorage<ClangToolStorage> storage; - const auto mainToolArguments = [=](const ClangToolStorage *data) - { + const auto mainToolArguments = [=](const ClangToolStorage &data) { QStringList result; - result << "-export-fixes=" + data->outputFilePath.nativePath(); - if (!input.overlayFilePath.isEmpty() && isVFSOverlaySupported(data->executable)) + result << "-export-fixes=" + data.outputFilePath.nativePath(); + if (!input.overlayFilePath.isEmpty() && isVFSOverlaySupported(data.executable)) result << "--vfsoverlay=" + input.overlayFilePath; result << input.unit.file.nativePath(); return result; @@ -147,13 +146,13 @@ TaskItem clangToolTask(const AnalyzeInputData &input, process.setLowPriority(); process.setWorkingDirectory(input.outputDirPath); // Current clang-cl puts log file into working dir. - const ClangToolStorage *data = storage.activeStorage(); + const ClangToolStorage &data = *storage; const QStringList args = checksArguments(input.tool, input.config) + mainToolArguments(data) + QStringList{"--"} + clangArguments(input.config, input.unit.arguments); - const CommandLine commandLine = {data->executable, args}; + const CommandLine commandLine = {data.executable, args}; qCDebug(LOG).noquote() << "Starting" << commandLine.toUserOutput(); process.setCommand(commandLine); @@ -162,8 +161,7 @@ TaskItem clangToolTask(const AnalyzeInputData &input, qCDebug(LOG).noquote() << "Output:\n" << process.cleanedStdOut(); if (!outputHandler) return; - const ClangToolStorage *data = storage.activeStorage(); - outputHandler({true, input.unit.file, data->outputFilePath, input.tool}); + outputHandler({true, input.unit.file, storage->outputFilePath, input.tool}); }; const auto onProcessError = [=](const QtcProcess &process) { if (!outputHandler) @@ -172,15 +170,15 @@ TaskItem clangToolTask(const AnalyzeInputData &input, .arg(process.commandLine().toUserOutput()) .arg(process.error()) .arg(process.cleanedStdOut()); - const ClangToolStorage *data = storage.activeStorage(); + const ClangToolStorage &data = *storage; QString message; if (process.result() == ProcessResult::StartFailed) - message = Tr::tr("An error occurred with the %1 process.").arg(data->name); + message = Tr::tr("An error occurred with the %1 process.").arg(data.name); else if (process.result() == ProcessResult::FinishedWithError) - message = Tr::tr("%1 finished with exit code: %2.").arg(data->name).arg(process.exitCode()); + message = Tr::tr("%1 finished with exit code: %2.").arg(data.name).arg(process.exitCode()); else - message = Tr::tr("%1 crashed.").arg(data->name); - outputHandler({false, input.unit.file, data->outputFilePath, input.tool, message, details}); + message = Tr::tr("%1 crashed.").arg(data.name); + outputHandler({false, input.unit.file, data.outputFilePath, input.tool, message, details}); }; const Group group { |