diff options
author | Jarek Kobus <[email protected]> | 2023-01-12 02:12:33 +0100 |
---|---|---|
committer | Jarek Kobus <[email protected]> | 2023-01-12 10:12:52 +0000 |
commit | 6415eef6afd9295529be35fbff0bdb66df82e6f6 (patch) | |
tree | 52e6d785246429348aedea7bec8b33b71f941ee1 /src | |
parent | e7781e2a99bce1981ab4efab97e5df14b142238c (diff) |
DiagnosticMark: Replace source field with ClangToolType
Replace also the AnalyzeOutputData::toolName field with
ClangToolType toolType. Stop relying on comparing translatable
strings inside DocumentClangToolRunner::onDone().
Change-Id: I1b69619fe9283622ed478973ee3a5e9cf8f4c309
Reviewed-by: David Schulz <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/clangtools/clangtoolrunner.cpp | 4 | ||||
-rw-r--r-- | src/plugins/clangtools/clangtoolrunner.h | 2 | ||||
-rw-r--r-- | src/plugins/clangtools/diagnosticmark.h | 4 | ||||
-rw-r--r-- | src/plugins/clangtools/documentclangtoolrunner.cpp | 8 |
4 files changed, 9 insertions, 9 deletions
diff --git a/src/plugins/clangtools/clangtoolrunner.cpp b/src/plugins/clangtools/clangtoolrunner.cpp index 8adc889bec1..1d74b4b3db9 100644 --- a/src/plugins/clangtools/clangtoolrunner.cpp +++ b/src/plugins/clangtools/clangtoolrunner.cpp @@ -163,7 +163,7 @@ TaskItem clangToolTask(const AnalyzeInputData &input, if (!outputHandler) return; const ClangToolStorage *data = storage.activeStorage(); - outputHandler({true, input.unit.file, data->outputFilePath, data->name}); + outputHandler({true, input.unit.file, data->outputFilePath, input.tool}); }; const auto onProcessError = [=](const QtcProcess &process) { if (!outputHandler) @@ -180,7 +180,7 @@ TaskItem clangToolTask(const AnalyzeInputData &input, 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, data->name, message, details}); + outputHandler({false, input.unit.file, data->outputFilePath, input.tool, message, details}); }; const Group group { diff --git a/src/plugins/clangtools/clangtoolrunner.h b/src/plugins/clangtools/clangtoolrunner.h index b9afb812127..2ba0af444c3 100644 --- a/src/plugins/clangtools/clangtoolrunner.h +++ b/src/plugins/clangtools/clangtoolrunner.h @@ -39,7 +39,7 @@ struct AnalyzeOutputData bool success = true; QString fileToAnalyze; QString outputFilePath; - QString toolName; + CppEditor::ClangToolType toolType; QString errorMessage = {}; QString errorDetails = {}; }; diff --git a/src/plugins/clangtools/diagnosticmark.h b/src/plugins/clangtools/diagnosticmark.h index 10f0810436f..f318fd67ed9 100644 --- a/src/plugins/clangtools/diagnosticmark.h +++ b/src/plugins/clangtools/diagnosticmark.h @@ -5,12 +5,12 @@ #include "clangtoolsdiagnostic.h" +#include <cppeditor/clangdiagnosticconfig.h> #include <texteditor/textmark.h> namespace ClangTools { namespace Internal { - class DiagnosticMark : public TextEditor::TextMark { Q_DECLARE_TR_FUNCTIONS(ClangTools::Internal::DiagnosticMark) @@ -22,7 +22,7 @@ public: Diagnostic diagnostic() const; - QString source; + std::optional<CppEditor::ClangToolType> toolType; private: const Diagnostic m_diagnostic; diff --git a/src/plugins/clangtools/documentclangtoolrunner.cpp b/src/plugins/clangtools/documentclangtoolrunner.cpp index 7409ea3bea5..fd018643aad 100644 --- a/src/plugins/clangtools/documentclangtoolrunner.cpp +++ b/src/plugins/clangtools/documentclangtoolrunner.cpp @@ -245,10 +245,10 @@ void DocumentClangToolRunner::onDone(const AnalyzeOutputData &output) } } - const QString toolName = output.toolName; + const CppEditor::ClangToolType toolType = output.toolType; // remove outdated marks of the current runner - auto [toDelete, newMarks] = Utils::partition(m_marks, [toolName](DiagnosticMark *mark) { - return mark->source == toolName; // TODO: comparison on translatable string + const auto [toDelete, newMarks] = Utils::partition(m_marks, [toolType](DiagnosticMark *mark) { + return mark->toolType == toolType; }); m_marks = newMarks; qDeleteAll(toDelete); @@ -262,7 +262,7 @@ void DocumentClangToolRunner::onDone(const AnalyzeOutputData &output) continue; auto mark = new DiagnosticMark(diagnostic); - mark->source = toolName; + mark->toolType = toolType; if (doc && Utils::anyOf(diagnostic.explainingSteps, &ExplainingStep::isFixIt)) { TextEditor::RefactorMarker marker; |