diff options
Diffstat (limited to 'src/qml/compiler')
-rw-r--r-- | src/qml/compiler/qqmlirbuilder.cpp | 13 | ||||
-rw-r--r-- | src/qml/compiler/qqmlirbuilder_p.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/qml/compiler/qqmlirbuilder.cpp b/src/qml/compiler/qqmlirbuilder.cpp index a81f8fb1d8..72111b3138 100644 --- a/src/qml/compiler/qqmlirbuilder.cpp +++ b/src/qml/compiler/qqmlirbuilder.cpp @@ -861,6 +861,15 @@ private: return true; } + if (value == "Inassertable"_L1) { + setFlag(Pragma::Assertable, false); + return true; + } + if (value == "Assertable"_L1) { + setFlag(Pragma::Assertable, true); + return true; + } + return false; }); } @@ -1718,6 +1727,10 @@ void QmlUnitGenerator::generate(Document &output, const QV4::CompiledData::Depen .testFlag(Pragma::Addressable)) { createdUnit->flags |= Unit::ValueTypesAddressable; } + if (Pragma::ValueTypeBehaviorValues(p->valueTypeBehavior) + .testFlag(Pragma::Assertable)) { + createdUnit->flags |= Unit::ValueTypesAssertable; + } break; case Pragma::Translator: if (createdUnit->translationTableSize) diff --git a/src/qml/compiler/qqmlirbuilder_p.h b/src/qml/compiler/qqmlirbuilder_p.h index 546d1fac58..ffd3ad72f7 100644 --- a/src/qml/compiler/qqmlirbuilder_p.h +++ b/src/qml/compiler/qqmlirbuilder_p.h @@ -443,6 +443,7 @@ struct Q_QML_COMPILER_EXPORT Pragma { Copy = 0x1, Addressable = 0x2, + Assertable = 0x4, }; Q_DECLARE_FLAGS(ValueTypeBehaviorValues, ValueTypeBehaviorValue); |