diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-04-02 11:48:21 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-04-03 09:12:10 +0200 |
commit | f1fd2b982a2ceae92da9b4a3875c65ed8a49560d (patch) | |
tree | 44c24fc3a81ec5d3797abae015391f463e3d8a43 /src/qml/jsruntime/qv4executablecompilationunit.cpp | |
parent | c3b6e81388fa02a8e3b99ee6f3fa3e9c7dba1772 (diff) |
V4: Move constant evaluation of doubles and strings into base CU
We don't need to execute anything for that. The translation evaluation
is kept in the executable CU because we might not have a
QCoreApplication.
Change-Id: I2ee39b220305e74b8c8f5540b8e59a91e2ed2b4c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4executablecompilationunit.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4executablecompilationunit.cpp | 30 |
1 files changed, 3 insertions, 27 deletions
diff --git a/src/qml/jsruntime/qv4executablecompilationunit.cpp b/src/qml/jsruntime/qv4executablecompilationunit.cpp index 7f4e35e815..47357bea49 100644 --- a/src/qml/jsruntime/qv4executablecompilationunit.cpp +++ b/src/qml/jsruntime/qv4executablecompilationunit.cpp @@ -813,24 +813,8 @@ bool ResolvedTypeReferenceMap::addToHash(QCryptographicHash *hash, QQmlEngine *e QString ExecutableCompilationUnit::bindingValueAsString(const CompiledData::Binding *binding) const { using namespace CompiledData; +#if QT_CONFIG(translation) switch (binding->type) { - case Binding::Type_Script: - case Binding::Type_String: - return stringAt(binding->stringIndex); - case Binding::Type_Null: - return QStringLiteral("null"); - case Binding::Type_Boolean: - return binding->value.b ? QStringLiteral("true") : QStringLiteral("false"); - case Binding::Type_Number: - return QString::number(bindingValueAsNumber(binding), 'g', QLocale::FloatingPointShortest); - case Binding::Type_Invalid: - return QString(); -#if !QT_CONFIG(translation) - case Binding::Type_TranslationById: - case Binding::Type_Translation: - return stringAt( - data->translations()[binding->value.translationDataIndex].stringIndex); -#else case Binding::Type_TranslationById: { const TranslationData &translation = data->translations()[binding->value.translationDataIndex]; @@ -851,19 +835,11 @@ QString ExecutableCompilationUnit::bindingValueAsString(const CompiledData::Bind return QCoreApplication::translate(contextUtf8.constData(), text.constData(), comment.constData(), translation.number); } -#endif default: break; } - return QString(); -} - -QString ExecutableCompilationUnit::bindingValueAsScriptString( - const CompiledData::Binding *binding) const -{ - return (binding->type == CompiledData::Binding::Type_String) - ? CompiledData::Binding::escapedString(stringAt(binding->stringIndex)) - : bindingValueAsString(binding); +#endif + return CompilationUnit::bindingValueAsString(binding); } bool ExecutableCompilationUnit::verifyHeader( |