diff options
Diffstat (limited to 'src/qml/compiler/qv4compileddata.cpp')
-rw-r--r-- | src/qml/compiler/qv4compileddata.cpp | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/qml/compiler/qv4compileddata.cpp b/src/qml/compiler/qv4compileddata.cpp index ae495e0ffa..cd9d8fe8a9 100644 --- a/src/qml/compiler/qv4compileddata.cpp +++ b/src/qml/compiler/qv4compileddata.cpp @@ -41,11 +41,15 @@ #include "qv4compileddata_p.h" #include "qv4jsir_p.h" +#include <private/qv4value_inl_p.h> +#ifndef V4_BOOTSTRAP #include <private/qv4engine_p.h> #include <private/qv4function_p.h> #include <private/qv4objectproto_p.h> #include <private/qv4lookup_p.h> #include <private/qv4regexpobject_p.h> +#endif +#include <private/qqmlirbuilder_p.h> #include <QCoreApplication> #include <algorithm> @@ -56,6 +60,7 @@ namespace QV4 { namespace CompiledData { +#ifndef V4_BOOTSTRAP CompilationUnit::~CompilationUnit() { unlink(); @@ -66,8 +71,8 @@ QV4::Function *CompilationUnit::linkToEngine(ExecutionEngine *engine) this->engine = engine; engine->compilationUnits.insert(this); - assert(!runtimeStrings); - assert(data); + Q_ASSERT(!runtimeStrings); + Q_ASSERT(data); runtimeStrings = (QV4::StringValue *)malloc(data->stringTableSize * sizeof(QV4::StringValue)); // memset the strings to 0 in case a GC run happens while we're within the loop below memset(runtimeStrings, 0, data->stringTableSize * sizeof(QV4::StringValue)); @@ -180,6 +185,13 @@ void CompilationUnit::markObjects(QV4::ExecutionEngine *e) } } +#endif // V4_BOOTSTRAP + +Unit *CompilationUnit::createUnitData(QmlIR::Document *irDocument) +{ + return irDocument->jsGenerator.generateUnit(); +} + QString Binding::valueAsString(const Unit *unit) const { switch (type) { @@ -192,6 +204,11 @@ QString Binding::valueAsString(const Unit *unit) const return QString::number(value.d); case Type_Invalid: return QString(); +#ifdef QT_NO_TRANSLATION + case Type_TranslationById: + case Type_Translation: + return unit->stringAt(stringIndex); +#else case Type_TranslationById: { QByteArray id = unit->stringAt(stringIndex).toUtf8(); return qtTrId(id.constData(), value.translationData.number); @@ -208,6 +225,7 @@ QString Binding::valueAsString(const Unit *unit) const return QCoreApplication::translate(contextUtf8.constData(), text.constData(), comment.constData(), value.translationData.number); } +#endif default: break; } |