diff options
Diffstat (limited to 'src/qmlcompiler/qqmljscodegenerator.cpp')
| -rw-r--r-- | src/qmlcompiler/qqmljscodegenerator.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/qmlcompiler/qqmljscodegenerator.cpp b/src/qmlcompiler/qqmljscodegenerator.cpp index 686338c1a6..8d8a7c9118 100644 --- a/src/qmlcompiler/qqmljscodegenerator.cpp +++ b/src/qmlcompiler/qqmljscodegenerator.cpp @@ -3100,6 +3100,25 @@ QString QQmlJSCodeGenerator::conversion(const QQmlJSScope::ConstPtr &from, return variable + u".toUtf8()"_s; } + for (const auto &originType : { + m_typeResolver->dateTimeType(), + m_typeResolver->dateType(), + m_typeResolver->timeType()}) { + if (m_typeResolver->equals(from, originType)) { + for (const auto &targetType : { + m_typeResolver->dateTimeType(), + m_typeResolver->dateType(), + m_typeResolver->timeType(), + m_typeResolver->stringType()}) { + if (m_typeResolver->equals(to, targetType)) { + return u"aotContext->engine->coerceValue<%1, %2>(%3)"_s.arg( + originType->internalName(), targetType->internalName(), variable); + } + } + break; + } + } + const auto retrieveFromPrimitive = [&]( const QQmlJSScope::ConstPtr &type, const QString &expression) -> QString { |
