From 5a09ce5d53357f312df741beb731cd2d2a04dc5b Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 7 Oct 2024 17:12:15 +0200 Subject: [PATCH] ClangCodeModel: Fix displaying diagnostics containing array operators Fixes: QTCREATORBUG-31670 Change-Id: Ib0fa824d46d3e4297a0bdcfb66aef94e6e510a54 Reviewed-by: David Schulz --- src/plugins/clangcodemodel/clangutils.cpp | 9 ++++++++- src/plugins/clangcodemodel/clangutils.h | 4 +++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/plugins/clangcodemodel/clangutils.cpp b/src/plugins/clangcodemodel/clangutils.cpp index 85c9b65a90d..c85062982ec 100644 --- a/src/plugins/clangcodemodel/clangutils.cpp +++ b/src/plugins/clangcodemodel/clangutils.cpp @@ -105,9 +105,16 @@ FilePath currentCppEditorDocumentFilePath() DiagnosticTextInfo::DiagnosticTextInfo(const QString &text) : m_text(text) - , m_squareBracketStartIndex(text.lastIndexOf('[')) {} +int DiagnosticTextInfo::getSquareBracketStartIndex() const +{ + const int offset = m_text.lastIndexOf('['); + if (offset < m_text.length() - 1 && m_text.at(offset + 1) == ']') + return -1; + return offset; +} + QString DiagnosticTextInfo::textWithoutOption() const { if (m_squareBracketStartIndex == -1) diff --git a/src/plugins/clangcodemodel/clangutils.h b/src/plugins/clangcodemodel/clangutils.h index 93be75dfe23..6c64671ad0e 100644 --- a/src/plugins/clangcodemodel/clangutils.h +++ b/src/plugins/clangcodemodel/clangutils.h @@ -65,8 +65,10 @@ public: static QString clazyCheckName(const QString &option); private: + int getSquareBracketStartIndex() const; + const QString m_text; - const int m_squareBracketStartIndex; + const int m_squareBracketStartIndex = getSquareBracketStartIndex(); }; class ClangSourceRange