aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaximilian Goldstein <max.goldstein@qt.io>2021-02-12 11:32:53 +0100
committerMaximilian Goldstein <max.goldstein@qt.io>2021-02-12 11:57:11 +0100
commit4660f51f25a6c56182dff0ea24f7c1ad2bac9cea (patch)
tree0c22127dcaa88724011d85a7c857a70fd7c2e022
parent25f765cbd9067c1ebb61721efbe471d9100d9237 (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>
-rw-r--r--tests/auto/qml/qmllint/data/groupedScope.qml7
-rw-r--r--tests/auto/qml/qmllint/tst_qmllint.cpp1
-rw-r--r--tools/qmllint/findwarnings.cpp8
-rw-r--r--tools/qmllint/findwarnings.h1
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 fe6996d6d9..14d1515722 100644
--- a/tests/auto/qml/qmllint/tst_qmllint.cpp
+++ b/tests/auto/qml/qmllint/tst_qmllint.cpp
@@ -360,6 +360,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;