diff options
Diffstat (limited to 'src/declarative/qml/qdeclarativeinstruction.cpp')
-rw-r--r-- | src/declarative/qml/qdeclarativeinstruction.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/declarative/qml/qdeclarativeinstruction.cpp b/src/declarative/qml/qdeclarativeinstruction.cpp index 237cfa2a16..202e6461e4 100644 --- a/src/declarative/qml/qdeclarativeinstruction.cpp +++ b/src/declarative/qml/qdeclarativeinstruction.cpp @@ -53,10 +53,13 @@ void QDeclarativeCompiledData::dump(QDeclarativeInstruction *instr, int idx) Q_UNUSED(instr) Q_UNUSED(idx) #else - switch(instr->type) { + switch(instr->type()) { case QDeclarativeInstruction::Init: qWarning().nospace() << idx << "\t\t" << "INIT\t\t\t" << instr->init.bindingsSize << "\t" << instr->init.parserStatusSize << "\t" << instr->init.contextCache << "\t" << instr->init.compiledBinding; break; + case QDeclarativeInstruction::Done: + qWarning().nospace() << idx << "\t\t" << "DONE"; + break; case QDeclarativeInstruction::CreateObject: qWarning().nospace() << idx << "\t\t" << "CREATE\t\t\t" << instr->create.type << "\t" << instr->create.bindingBits << "\t\t" << types.at(instr->create.type).className; break; @@ -214,10 +217,20 @@ void QDeclarativeCompiledData::dump(QDeclarativeInstruction *instr, int idx) qWarning().nospace() << idx << "\t\t" << "DEFER" << "\t\t\t" << instr->defer.deferCount; break; default: - qWarning().nospace() << idx << "\t\t" << "XXX UNKNOWN INSTRUCTION" << "\t" << instr->type; + qWarning().nospace() << idx << "\t\t" << "XXX UNKNOWN INSTRUCTION" << "\t" << instr->type(); break; } #endif // QT_NO_DEBUG_STREAM } +int QDeclarativeInstruction::size() const +{ +#define QML_RETURN_INSTR_SIZE(I, FMT) case I: return QDeclarativeInstructionMeta<(int)I>::Size; + switch (common.instructionType) { + FOR_EACH_QML_INSTR(QML_RETURN_INSTR_SIZE) + default: return 0; + } +#undef QML_RETURN_INSTR_SIZE +} + QT_END_NAMESPACE |