From e6430658b8c1053975308a116fc5667de62e0d1e Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Thu, 18 Apr 2024 14:48:25 +0200 Subject: QtQml: Inline methods for looking up common metatypes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These are ... common, after all. Change-Id: I937a298e7030692470b431a67401cdab1dea8f62 Reviewed-by: Olivier De Cannière Reviewed-by: Fabian Kosmale --- src/qml/qml/qqmlpropertycachecreator.cpp | 57 ------------------------------- src/qml/qml/qqmlpropertycachecreator_p.h | 58 ++++++++++++++++++++++++++++++-- 2 files changed, 56 insertions(+), 59 deletions(-) (limited to 'src/qml/qml') diff --git a/src/qml/qml/qqmlpropertycachecreator.cpp b/src/qml/qml/qqmlpropertycachecreator.cpp index f6efe8d358..06b405c7e4 100644 --- a/src/qml/qml/qqmlpropertycachecreator.cpp +++ b/src/qml/qml/qqmlpropertycachecreator.cpp @@ -5,67 +5,10 @@ #include -#if QT_CONFIG(regularexpression) -#include -#endif - QT_BEGIN_NAMESPACE QAtomicInt QQmlPropertyCacheCreatorBase::classIndexCounter(0); - -QMetaType QQmlPropertyCacheCreatorBase::metaTypeForPropertyType(QV4::CompiledData::CommonType type) -{ - switch (type) { - case QV4::CompiledData::CommonType::Void: return QMetaType(); - case QV4::CompiledData::CommonType::Var: return QMetaType::fromType(); - case QV4::CompiledData::CommonType::Int: return QMetaType::fromType(); - case QV4::CompiledData::CommonType::Bool: return QMetaType::fromType(); - case QV4::CompiledData::CommonType::Real: return QMetaType::fromType(); - case QV4::CompiledData::CommonType::String: return QMetaType::fromType(); - case QV4::CompiledData::CommonType::Url: return QMetaType::fromType(); - case QV4::CompiledData::CommonType::Time: return QMetaType::fromType(); - case QV4::CompiledData::CommonType::Date: return QMetaType::fromType(); - case QV4::CompiledData::CommonType::DateTime: return QMetaType::fromType(); -#if QT_CONFIG(regularexpression) - case QV4::CompiledData::CommonType::RegExp: return QMetaType::fromType(); -#else - case QV4::CompiledData::CommonType::RegExp: return QMetaType(); -#endif - case QV4::CompiledData::CommonType::Rect: return QMetaType::fromType(); - case QV4::CompiledData::CommonType::Point: return QMetaType::fromType(); - case QV4::CompiledData::CommonType::Size: return QMetaType::fromType(); - case QV4::CompiledData::CommonType::Invalid: break; - }; - return QMetaType {}; -} - -QMetaType QQmlPropertyCacheCreatorBase::listTypeForPropertyType(QV4::CompiledData::CommonType type) -{ - switch (type) { - case QV4::CompiledData::CommonType::Void: return QMetaType(); - case QV4::CompiledData::CommonType::Var: return QMetaType::fromType>(); - case QV4::CompiledData::CommonType::Int: return QMetaType::fromType>(); - case QV4::CompiledData::CommonType::Bool: return QMetaType::fromType>(); - case QV4::CompiledData::CommonType::Real: return QMetaType::fromType>(); - case QV4::CompiledData::CommonType::String: return QMetaType::fromType>(); - case QV4::CompiledData::CommonType::Url: return QMetaType::fromType>(); - case QV4::CompiledData::CommonType::Time: return QMetaType::fromType>(); - case QV4::CompiledData::CommonType::Date: return QMetaType::fromType>(); - case QV4::CompiledData::CommonType::DateTime: return QMetaType::fromType>(); -#if QT_CONFIG(regularexpression) - case QV4::CompiledData::CommonType::RegExp: return QMetaType::fromType>(); -#else - case QV4::CompiledData::CommonType::RegExp: return QMetaType(); -#endif - case QV4::CompiledData::CommonType::Rect: return QMetaType::fromType>(); - case QV4::CompiledData::CommonType::Point: return QMetaType::fromType>(); - case QV4::CompiledData::CommonType::Size: return QMetaType::fromType>(); - case QV4::CompiledData::CommonType::Invalid: break; - }; - return QMetaType {}; -} - template auto processUrlForClassName( const QUrl &url, BaseNameHandler &&baseNameHandler, FailHandler &&failHandler) diff --git a/src/qml/qml/qqmlpropertycachecreator_p.h b/src/qml/qml/qqmlpropertycachecreator_p.h index 93987a1123..4d49ca6ed4 100644 --- a/src/qml/qml/qqmlpropertycachecreator_p.h +++ b/src/qml/qml/qqmlpropertycachecreator_p.h @@ -24,6 +24,11 @@ #include #include + +#if QT_CONFIG(regularexpression) +#include +#endif + #include QT_BEGIN_NAMESPACE @@ -67,8 +72,57 @@ struct QQmlPropertyCacheCreatorBase public: static QAtomicInt Q_AUTOTEST_EXPORT classIndexCounter; - static QMetaType metaTypeForPropertyType(QV4::CompiledData::CommonType type); - static QMetaType listTypeForPropertyType(QV4::CompiledData::CommonType type); + static QMetaType metaTypeForPropertyType(QV4::CompiledData::CommonType type) + { + switch (type) { + case QV4::CompiledData::CommonType::Void: return QMetaType(); + case QV4::CompiledData::CommonType::Var: return QMetaType::fromType(); + case QV4::CompiledData::CommonType::Int: return QMetaType::fromType(); + case QV4::CompiledData::CommonType::Bool: return QMetaType::fromType(); + case QV4::CompiledData::CommonType::Real: return QMetaType::fromType(); + case QV4::CompiledData::CommonType::String: return QMetaType::fromType(); + case QV4::CompiledData::CommonType::Url: return QMetaType::fromType(); + case QV4::CompiledData::CommonType::Time: return QMetaType::fromType(); + case QV4::CompiledData::CommonType::Date: return QMetaType::fromType(); + case QV4::CompiledData::CommonType::DateTime: return QMetaType::fromType(); +#if QT_CONFIG(regularexpression) + case QV4::CompiledData::CommonType::RegExp: return QMetaType::fromType(); +#else + case QV4::CompiledData::CommonType::RegExp: return QMetaType(); +#endif + case QV4::CompiledData::CommonType::Rect: return QMetaType::fromType(); + case QV4::CompiledData::CommonType::Point: return QMetaType::fromType(); + case QV4::CompiledData::CommonType::Size: return QMetaType::fromType(); + case QV4::CompiledData::CommonType::Invalid: break; + }; + return QMetaType {}; + } + + static QMetaType listTypeForPropertyType(QV4::CompiledData::CommonType type) + { + switch (type) { + case QV4::CompiledData::CommonType::Void: return QMetaType(); + case QV4::CompiledData::CommonType::Var: return QMetaType::fromType>(); + case QV4::CompiledData::CommonType::Int: return QMetaType::fromType>(); + case QV4::CompiledData::CommonType::Bool: return QMetaType::fromType>(); + case QV4::CompiledData::CommonType::Real: return QMetaType::fromType>(); + case QV4::CompiledData::CommonType::String: return QMetaType::fromType>(); + case QV4::CompiledData::CommonType::Url: return QMetaType::fromType>(); + case QV4::CompiledData::CommonType::Time: return QMetaType::fromType>(); + case QV4::CompiledData::CommonType::Date: return QMetaType::fromType>(); + case QV4::CompiledData::CommonType::DateTime: return QMetaType::fromType>(); +#if QT_CONFIG(regularexpression) + case QV4::CompiledData::CommonType::RegExp: return QMetaType::fromType>(); +#else + case QV4::CompiledData::CommonType::RegExp: return QMetaType(); +#endif + case QV4::CompiledData::CommonType::Rect: return QMetaType::fromType>(); + case QV4::CompiledData::CommonType::Point: return QMetaType::fromType>(); + case QV4::CompiledData::CommonType::Size: return QMetaType::fromType>(); + case QV4::CompiledData::CommonType::Invalid: break; + }; + return QMetaType {}; + } static bool canCreateClassNameTypeByUrl(const QUrl &url); static QByteArray createClassNameTypeByUrl(const QUrl &url); -- cgit v1.2.3