diff options
author | Andrei Golubev <andrei.golubev@qt.io> | 2021-08-10 15:41:59 +0200 |
---|---|---|
committer | Andrei Golubev <andrei.golubev@qt.io> | 2021-08-19 14:27:29 +0200 |
commit | 71447e3c6af991f66f7e962f734005c362fffddc (patch) | |
tree | 60c27d4a893453bf58f74ef570689cf2137b30fb /tests | |
parent | 479c79abaa83feca8c3a3c1770c9c2975e2bbb70 (diff) |
Resolve enums before types when importing qmltypes
Type resolution is a straightforward single pass procedure. In certain
corner cases it couldn't find/resolve a type if that wasn't already
resolved. This happens to be the case when importing and resolving QtQml
types (such as QQmlEasingEnums::Type)
As we assume that this only happens with enumerations, we can resolve
them first and only after perform full type resolution for imported
scopes. If in fact there are other affected members, then a proper
second type resolution pass would be required instead
Change-Id: Ic9606ed8bd058a1ae981085ac3e47a6f6a95ed7f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 9ba32eaeb361851b8e990f3b2affbf4c03699b5e)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qml/qmllint/tst_qmllint.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/tests/auto/qml/qmllint/tst_qmllint.cpp b/tests/auto/qml/qmllint/tst_qmllint.cpp index ec1c4174f9..de98bbeb36 100644 --- a/tests/auto/qml/qmllint/tst_qmllint.cpp +++ b/tests/auto/qml/qmllint/tst_qmllint.cpp @@ -642,9 +642,6 @@ void TestQmllint::dirtyQmlCode_data() QTest::newRow("nestedInlineComponents") << QStringLiteral("nestedInlineComponents.qml") << QStringLiteral("Nested inline components are not supported") << QString() << false; - QTest::newRow("QQmlEasingEnums::Type") - << QStringLiteral("animationEasing.qml") - << QStringLiteral("No type found for property \"type\"") << QString() << false; } void TestQmllint::dirtyQmlCode() @@ -789,6 +786,7 @@ void TestQmllint::cleanQmlCode_data() QTest::newRow("ImportDirectoryQmldir") << QStringLiteral("Things/LintDirectly.qml"); QTest::newRow("BindingsOnGroupAndAttachedProperties") << QStringLiteral("goodBindingsOnGroupAndAttached.qml"); + QTest::newRow("QQmlEasingEnums::Type") << QStringLiteral("animationEasing.qml"); } void TestQmllint::cleanQmlCode() |