diff options
author | Maximilian Goldstein <max.goldstein@qt.io> | 2021-02-12 11:32:53 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2021-02-19 13:14:05 +0100 |
commit | f74d278994d35a3ac154ddd411009a785dd46800 (patch) | |
tree | c026d70a6e89ef876794a80a6fee5f5bfa34eedf | |
parent | bf8888971732dbd0012eadc53cddada59bb17b2e (diff) |
qmllint: Fix false unknown grouped property warning
We seem to be checking grouped properties twice by endVisit(UiObjectBinding*) and endVisit(UiObjectDefinition*).
So the UiObjectBinding variant is removed here as this gets run before all type information is available.
Change-Id: Idfe23869792f787df6109cde3b6bc1d96cce3dc3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 4660f51f25a6c56182dff0ea24f7c1ad2bac9cea)
-rw-r--r-- | tests/auto/qml/qmllint/data/groupedScope.qml | 7 | ||||
-rw-r--r-- | tests/auto/qml/qmllint/tst_qmllint.cpp | 1 | ||||
-rw-r--r-- | tools/qmllint/findwarnings.cpp | 8 | ||||
-rw-r--r-- | tools/qmllint/findwarnings.h | 1 |
4 files changed, 8 insertions, 9 deletions
diff --git a/tests/auto/qml/qmllint/data/groupedScope.qml b/tests/auto/qml/qmllint/data/groupedScope.qml new file mode 100644 index 0000000000..40f9b41be8 --- /dev/null +++ b/tests/auto/qml/qmllint/data/groupedScope.qml @@ -0,0 +1,7 @@ +import QtQuick 2.0 + +Rectangle { + border.width: 1 + + gradient: Gradient {} +} diff --git a/tests/auto/qml/qmllint/tst_qmllint.cpp b/tests/auto/qml/qmllint/tst_qmllint.cpp index 54e0adee51..8a07391ed0 100644 --- a/tests/auto/qml/qmllint/tst_qmllint.cpp +++ b/tests/auto/qml/qmllint/tst_qmllint.cpp @@ -364,6 +364,7 @@ void TestQmllint::cleanQmlCode_data() QTest::newRow("overridescript") << QStringLiteral("overridescript.qml"); QTest::newRow("multiExtension") << QStringLiteral("multiExtension.qml"); QTest::newRow("segFault") << QStringLiteral("SegFault.qml"); + QTest::newRow("grouped scope failure") << QStringLiteral("groupedScope.qml"); } void TestQmllint::cleanQmlCode() diff --git a/tools/qmllint/findwarnings.cpp b/tools/qmllint/findwarnings.cpp index 17e73c770c..110f6d4627 100644 --- a/tools/qmllint/findwarnings.cpp +++ b/tools/qmllint/findwarnings.cpp @@ -404,14 +404,6 @@ bool FindWarningVisitor::visit(QQmlJS::AST::UiObjectBinding *uiob) return true; } -void FindWarningVisitor::endVisit(QQmlJS::AST::UiObjectBinding *uiob) -{ - QQmlJSImportVisitor::endVisit(uiob); - - if (m_warnUnqualified) - checkGroupedScopes(m_currentScope); -} - bool FindWarningVisitor::visit(QQmlJS::AST::UiObjectDefinition *uiod) { using namespace QQmlJS::AST; diff --git a/tools/qmllint/findwarnings.h b/tools/qmllint/findwarnings.h index 96cd0c3897..138f83098d 100644 --- a/tools/qmllint/findwarnings.h +++ b/tools/qmllint/findwarnings.h @@ -109,7 +109,6 @@ private: /* --- end block handling --- */ bool visit(QQmlJS::AST::UiObjectBinding *uiob) override; - void endVisit(QQmlJS::AST::UiObjectBinding *uiob) override; bool visit(QQmlJS::AST::UiObjectDefinition *uiod) override; void endVisit(QQmlJS::AST::UiObjectDefinition *) override; bool visit(QQmlJS::AST::UiScriptBinding *uisb) override; |