diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-05-27 10:40:28 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-05-27 10:40:28 (GMT) |
commit | c8f180e7023308b8a051b53943b9a088a7f0c427 (patch) | |
tree | 12fbbccc818670fd4c982bd5f42723477aab2833 /src/declarative/qml/qmlcompiler_p.h | |
parent | 0a6df63c7150f0010b08ce2ba08a492cd129a96f (diff) | |
download | Qt-c8f180e7023308b8a051b53943b9a088a7f0c427.zip Qt-c8f180e7023308b8a051b53943b9a088a7f0c427.tar.gz Qt-c8f180e7023308b8a051b53943b9a088a7f0c427.tar.bz2 |
Small cleanups
Diffstat (limited to 'src/declarative/qml/qmlcompiler_p.h')
-rw-r--r-- | src/declarative/qml/qmlcompiler_p.h | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/declarative/qml/qmlcompiler_p.h b/src/declarative/qml/qmlcompiler_p.h index 6e9bafb..b1963da 100644 --- a/src/declarative/qml/qmlcompiler_p.h +++ b/src/declarative/qml/qmlcompiler_p.h @@ -158,13 +158,31 @@ private: QmlParser::Value *value); bool compileDynamicMeta(QmlParser::Object *obj); - bool compileBinding(const QString &, QmlParser::Property *prop, + bool compileBinding(const QmlParser::Variant &, QmlParser::Property *prop, int ctxt, const QMetaObject *, qint64); - int optimizeExpressions(int start, int end, int patch = -1); + int finalizeComponent(int patch); - QSet<QString> ids; - QHash<int, int> savedTypes; + struct IdReference { + QString id; + QmlParser::Object *object; + int instructionIdx; + }; + + struct BindingReference { + QmlParser::Variant expression; + QmlParser::Property *property; + int instructionIdx; + }; + + struct ComponentCompileState + { + ComponentCompileState() : parserStatusCount(0) {} + QHash<QString, IdReference> ids; + int parserStatusCount; + QList<BindingReference> bindings; + }; + ComponentCompileState compileState; QList<QmlError> exceptions; QmlCompiledData *output; |