aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlglobal_p.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2023-02-21 11:47:08 +0100
committerUlf Hermann <ulf.hermann@qt.io>2023-03-09 21:36:30 +0100
commit2a21efb5f7a6cac6f6101f2f42fe38f16dc68149 (patch)
tree9e499bb9ac29f76faa73a43a972ce86de4fa891c /src/qml/qml/qqmlglobal_p.h
parente37d2dac8ae680d36a531f0388ec3216e5dfb366 (diff)
QmlCompiler: Use value type ctors
This allows us to do the relevant conversions in a more civilized way, dropping the outputVariantConversion() method. The latter is brittle because you have to manually add it to each instruction, and it uses QMetaType::convert() which is actually not guaranteed to give the same results as a QML type coercion. Task-number: QTBUG-94807 Change-Id: I4d6d05a60beb3b4dfc3da6f0142de25667510904 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlglobal_p.h')
-rw-r--r--src/qml/qml/qqmlglobal_p.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/qml/qml/qqmlglobal_p.h b/src/qml/qml/qqmlglobal_p.h
index e56ae73edc..462c399065 100644
--- a/src/qml/qml/qqmlglobal_p.h
+++ b/src/qml/qml/qqmlglobal_p.h
@@ -190,6 +190,9 @@ class QQmlValueTypeProvider
{
public:
static bool createValueType(const QV4::Value &, QMetaType, void *);
+ static QVariant constructValueType(
+ QMetaType resultMetaType, const QMetaObject *resultMetaObject,
+ int ctorIndex, void *ctorArg);
static QVariant createValueType(const QJSValue &, QMetaType);
static QVariant createValueType(const QString &, QMetaType);