summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlcompiler_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/qmlcompiler_p.h')
-rw-r--r--src/declarative/qml/qmlcompiler_p.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/declarative/qml/qmlcompiler_p.h b/src/declarative/qml/qmlcompiler_p.h
index b1963da..eb24b91 100644
--- a/src/declarative/qml/qmlcompiler_p.h
+++ b/src/declarative/qml/qmlcompiler_p.h
@@ -158,10 +158,12 @@ private:
QmlParser::Value *value);
bool compileDynamicMeta(QmlParser::Object *obj);
- bool compileBinding(const QmlParser::Variant &, QmlParser::Property *prop,
- int ctxt, const QMetaObject *, qint64);
+ bool compileBinding(QmlParser::Value *, QmlParser::Property *prop,
+ int ctxt);
- int finalizeComponent(int patch);
+ void finalizeComponent(int patch);
+ class BindingReference;
+ void finalizeBinding(const BindingReference &);
struct IdReference {
QString id;
@@ -172,14 +174,18 @@ private:
struct BindingReference {
QmlParser::Variant expression;
QmlParser::Property *property;
+ QmlParser::Value *value;
int instructionIdx;
+ int bindingContext;
};
struct ComponentCompileState
{
- ComponentCompileState() : parserStatusCount(0) {}
+ ComponentCompileState() : parserStatusCount(0), savedObjects(0), pushedProperties(0) {}
QHash<QString, IdReference> ids;
int parserStatusCount;
+ int savedObjects;
+ int pushedProperties;
QList<BindingReference> bindings;
};
ComponentCompileState compileState;