diff options
| author | Ulf Hermann <ulf.hermann@qt.io> | 2023-08-24 16:02:00 +0200 |
|---|---|---|
| committer | Ulf Hermann <ulf.hermann@qt.io> | 2023-08-25 20:36:46 +0200 |
| commit | f839171eefbba670536262fa3b847d24bfdc627b (patch) | |
| tree | 0aef06db416563827580762930910022b7623086 /tests/auto/qml/qmlcppcodegen/data | |
| parent | 555125416eb1a12e15dddb57207ce7d87751a64b (diff) | |
QmlCompiler: Allow creation of actual QVariantMaps from object literals
There are places where we need this:
a, If the method in question actually takes a QVariantMap as argument.
b, If the resulting value can be shadowed. In that case we expect a
QVariant. The engine has to internally convert to the expected type
then.
Change-Id: Ic5b3faab4578d64ca757de644fe69660fd70e52a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'tests/auto/qml/qmlcppcodegen/data')
| -rw-r--r-- | tests/auto/qml/qmlcppcodegen/data/B.qml | 5 | ||||
| -rw-r--r-- | tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | tests/auto/qml/qmlcppcodegen/data/variantMap.qml | 20 |
3 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/qml/qmlcppcodegen/data/B.qml b/tests/auto/qml/qmlcppcodegen/data/B.qml new file mode 100644 index 0000000000..97e895ecad --- /dev/null +++ b/tests/auto/qml/qmlcppcodegen/data/B.qml @@ -0,0 +1,5 @@ +import QtQml + +QtObject { + property rect r +} diff --git a/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt b/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt index 865b0ffa64..021f56f60d 100644 --- a/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt +++ b/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt @@ -30,6 +30,7 @@ set(cpp_sources set(qml_files AccessModelMethodsFromOutside.qml ArraySequenceLengthInterop.qml + B.qml BadType.qml BaseMember.qml BindingExpression.qml @@ -241,6 +242,7 @@ set(qml_files valueTypeLists.qml valueTypeProperty.qml valueTypeReference.qml + variantMap.qml variantMapLookup.qml variantReturn.qml variantlist.qml diff --git a/tests/auto/qml/qmlcppcodegen/data/variantMap.qml b/tests/auto/qml/qmlcppcodegen/data/variantMap.qml new file mode 100644 index 0000000000..410727cfd6 --- /dev/null +++ b/tests/auto/qml/qmlcppcodegen/data/variantMap.qml @@ -0,0 +1,20 @@ +pragma Strict +import QtQml + +QtObject { + property Component shadowable: QtObject {} + property B b: B { id: theB } + property rect r: theB.r + + property Component c: Component { + id: unshadowable + QtObject {} + } + + objectName: { + return shadowable.createObject(this, {objectName: "a"}).objectName + + " " + unshadowable.createObject(this, {objectName: "b"}).objectName + } + + Component.onCompleted: b.r = { x: 12, y: 13, width: 14, height: 15 } +} |
