summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlcompiler_p.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-05-27 10:40:28 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-05-27 10:40:28 (GMT)
commitc8f180e7023308b8a051b53943b9a088a7f0c427 (patch)
tree12fbbccc818670fd4c982bd5f42723477aab2833 /src/declarative/qml/qmlcompiler_p.h
parent0a6df63c7150f0010b08ce2ba08a492cd129a96f (diff)
downloadQt-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.h26
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;