diff options
Diffstat (limited to 'src/qml/compiler/qqmlirbuilder.cpp')
| -rw-r--r-- | src/qml/compiler/qqmlirbuilder.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/qml/compiler/qqmlirbuilder.cpp b/src/qml/compiler/qqmlirbuilder.cpp index 2d1a617b09..96529f0061 100644 --- a/src/qml/compiler/qqmlirbuilder.cpp +++ b/src/qml/compiler/qqmlirbuilder.cpp @@ -921,6 +921,10 @@ bool IRBuilder::visit(QQmlJS::AST::UiPragma *node) } else if (node->name == "ValueTypeBehavior"_L1) { if (!PragmaParser<Pragma::ValueTypeBehaviorValue>::run(this, node, pragma)) return false; + } else if (node->name == "Translator"_L1) { + pragma->type = Pragma::Translator; + pragma->translationContextIndex = registerString(node->values->value.toString()); + } else { recordError(node->pragmaToken, QCoreApplication::translate( "QQmlParser", "Unknown pragma '%1'").arg(node->name)); @@ -1711,6 +1715,11 @@ void QmlUnitGenerator::generate(Document &output, const QV4::CompiledData::Depen createdUnit->flags |= Unit::ValueTypesAddressable; } break; + case Pragma::Translator: + if (createdUnit->translationTableSize) + if (quint32_le *index = createdUnit->translationContextIndex()) + *index = p->translationContextIndex; + break; } } |
