From da06d6ca852254c4e24b6e69923f5d9dd4b87c8d Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Wed, 4 May 2022 16:14:29 +0200 Subject: QML: Port QV4::CompiledData::Property to new special integer bitfield Task-number: QTBUG-99545 Change-Id: I46f9151536ba09417d117d690d7347bd91c13e75 Reviewed-by: Fabian Kosmale Reviewed-by: Sami Shalayel (cherry picked from commit 6be0db416b867d432a826556dfc00929ecd77aba) --- src/qml/compiler/qqmlirbuilder.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/qml/compiler') diff --git a/src/qml/compiler/qqmlirbuilder.cpp b/src/qml/compiler/qqmlirbuilder.cpp index ed5f3032d5..5ab7ffd3ff 100644 --- a/src/qml/compiler/qqmlirbuilder.cpp +++ b/src/qml/compiler/qqmlirbuilder.cpp @@ -76,7 +76,7 @@ void Object::simplifyRequiredProperties() { for (auto it = this->propertiesBegin(); it != this->propertiesEnd(); ++it) { auto requiredIt = required.find(it->nameIndex); if (requiredIt != required.end()) { - it->isRequired = true; + it->setIsRequired(true); required.erase(requiredIt); } } @@ -986,8 +986,8 @@ bool IRBuilder::visit(QQmlJS::AST::UiPublicMember *node) const QStringView &name = node->name; Property *property = New(); - property->isReadOnly = node->isReadonly(); - property->isRequired = node->isRequired(); + property->setIsReadOnly(node->isReadonly()); + property->setIsRequired(node->isRequired()); QV4::CompiledData::BuiltinType builtinPropertyType = Parameter::stringToBuiltinType(memberType); bool typeFound = builtinPropertyType != QV4::CompiledData::BuiltinType::InvalidBuiltin; @@ -999,7 +999,7 @@ bool IRBuilder::visit(QQmlJS::AST::UiPublicMember *node) property->setCustomType(registerString(memberType)); if (typeModifier == QLatin1String("list")) { - property->isList = true; + property->setIsList(true); } else if (!typeModifier.isEmpty()) { recordError(node->typeModifierToken, QCoreApplication::translate("QQmlParser","Invalid property type modifier")); return false; @@ -1141,7 +1141,7 @@ void IRBuilder::setBindingValue(QV4::CompiledData::Binding *binding, QQmlJS::AST binding->valueLocation.line = loc.startLine; binding->valueLocation.column = loc.startColumn; binding->setType(QV4::CompiledData::Binding::Type_Invalid); - if (_propertyDeclaration && _propertyDeclaration->isReadOnly) + if (_propertyDeclaration && _propertyDeclaration->isReadOnly()) binding->setFlag(QV4::CompiledData::Binding::InitializerForReadOnlyDeclaration); QQmlJS::AST::ExpressionStatement *exprStmt = QQmlJS::AST::cast(statement); @@ -1284,7 +1284,7 @@ void IRBuilder::appendBinding(const QQmlJS::SourceLocation &qualifiedNameLocatio binding->clearFlags(); - if (_propertyDeclaration && _propertyDeclaration->isReadOnly) + if (_propertyDeclaration && _propertyDeclaration->isReadOnly()) binding->setFlag(Binding::InitializerForReadOnlyDeclaration); // No type name on the initializer means it must be a group property @@ -1547,7 +1547,7 @@ bool IRBuilder::isStatementNodeScript(QQmlJS::AST::Statement *statement) bool IRBuilder::isRedundantNullInitializerForPropertyDeclaration(Property *property, QQmlJS::AST::Statement *statement) { - if (property->isBuiltinType || property->isList) + if (property->isBuiltinType() || property->isList()) return false; QQmlJS::AST::ExpressionStatement *exprStmt = QQmlJS::AST::cast(statement); if (!exprStmt) -- cgit v1.2.3