diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2022-05-04 15:26:30 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2022-05-11 12:56:22 +0200 |
commit | 36ebee4e69182f0e44d87691d4740b271e1dcf38 (patch) | |
tree | c6f38a2fbef397775d3c8e0031e570fbacd302be /src/qml/types/qqmlbind.cpp | |
parent | dea6ba50377df75046625abb0128e0250c01b2c9 (diff) |
QML: Port QV4::CompiledData::Binding to new special integer bitfield
Pick-to: 5.15 6.2 6.3
Task-number: QTBUG-99545
Change-Id: I9f8bc5fa45c61f77ee95b055a3d8de001da8f8c5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/types/qqmlbind.cpp')
-rw-r--r-- | src/qml/types/qqmlbind.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/qml/types/qqmlbind.cpp b/src/qml/types/qqmlbind.cpp index 1041baa23b..ec3ca23c78 100644 --- a/src/qml/types/qqmlbind.cpp +++ b/src/qml/types/qqmlbind.cpp @@ -731,7 +731,7 @@ static QQmlAnyBinding createBinding( const QQmlRefPointer<QQmlContextData> &contextData, QObject *scopeObject) { - switch (binding->type) { + switch (binding->type()) { case QV4::CompiledData::Binding::Type_Translation: case QV4::CompiledData::Binding::Type_TranslationById: return QQmlAnyBinding::createTranslationBinding(prop, compilationUnit, binding, scopeObject); @@ -767,8 +767,9 @@ void QQmlBindPrivate::decodeBinding( const QString propertyName = propertyPrefix + compilationUnit->stringAt(binding->propertyNameIndex); - if (binding->type == QV4::CompiledData::Binding::Type_GroupProperty - || binding->type == QV4::CompiledData::Binding::Type_AttachedProperty) { + switch (binding->type()) { + case QV4::CompiledData::Binding::Type_GroupProperty: + case QV4::CompiledData::Binding::Type_AttachedProperty: { const QString pre = propertyName + u'.'; const QV4::CompiledData::Object *subObj = compilationUnit->objectAt(binding->value.objectIndex); @@ -777,6 +778,9 @@ void QQmlBindPrivate::decodeBinding( decodeBinding(q, pre, deferredData, subBinding, immediateState); return; } + default: + break; + } QQmlBindEntry entry; QQmlContext *context = qmlContext(q); @@ -815,7 +819,7 @@ void QQmlBindPrivate::decodeBinding( entry.currentKind = entry.current.set(binding, entry.currentKind); }; - switch (binding->type) { + switch (binding->type()) { case QV4::CompiledData::Binding::Type_AttachedProperty: case QV4::CompiledData::Binding::Type_GroupProperty: Q_UNREACHABLE(); // Handled above @@ -849,6 +853,9 @@ void QQmlBindPrivate::decodeBinding( case QV4::CompiledData::Binding::Type_Null: setVariant(QVariant::fromValue(nullptr)); break; + case QV4::CompiledData::Binding::Type_Object: + case QV4::CompiledData::Binding::Type_Invalid: + break; } entries.append(std::move(entry)); |