aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4executablecompilationunit.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-04-02 11:48:21 +0200
committerUlf Hermann <ulf.hermann@qt.io>2020-04-03 09:12:10 +0200
commitf1fd2b982a2ceae92da9b4a3875c65ed8a49560d (patch)
tree44c24fc3a81ec5d3797abae015391f463e3d8a43 /src/qml/jsruntime/qv4executablecompilationunit.cpp
parentc3b6e81388fa02a8e3b99ee6f3fa3e9c7dba1772 (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.cpp30
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(