diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2012-02-14 13:10:29 +0000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-20 14:48:24 +0100 |
commit | 38dde4b60fcc597d8f24d6c20426eb68b1f615e0 (patch) | |
tree | b2f0a27f427ac47e6912ab0975de508d15937b5c /src/declarative/qml/v8 | |
parent | 68833ffdfc0d17f62a4ca693a2c1cdf3b28075de (diff) |
Reduce size of QDeclarativeJavaScriptExpression
Change-Id: Ie1242d18ef10e5cbd9c1cab27c31ad3f6d9281fd
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/declarative/qml/v8')
-rw-r--r-- | src/declarative/qml/v8/qv8bindings.cpp | 18 | ||||
-rw-r--r-- | src/declarative/qml/v8/qv8bindings_p.h | 12 |
2 files changed, 19 insertions, 11 deletions
diff --git a/src/declarative/qml/v8/qv8bindings.cpp b/src/declarative/qml/v8/qv8bindings.cpp index 3af9baa9f6..e0f196b955 100644 --- a/src/declarative/qml/v8/qv8bindings.cpp +++ b/src/declarative/qml/v8/qv8bindings.cpp @@ -53,8 +53,13 @@ QT_BEGIN_NAMESPACE +static QDeclarativeJavaScriptExpression::VTable QV8Bindings_Binding_jsvtable = { + QV8Bindings::Binding::expressionIdentifier, + QV8Bindings::Binding::expressionChanged +}; + QV8Bindings::Binding::Binding() -: object(0), parent(0) +: QDeclarativeJavaScriptExpression(&QV8Bindings_Binding_jsvtable), object(0), parent(0) { } @@ -147,14 +152,17 @@ void QV8Bindings::Binding::update(QDeclarativePropertyPrivate::WriteFlags flags) } } -QString QV8Bindings::Binding::expressionIdentifier() +QString QV8Bindings::Binding::expressionIdentifier(QDeclarativeJavaScriptExpression *e) { - return parent->url.toString() + QLatin1String(":") + QString::number(instruction->line); + Binding *This = static_cast<Binding *>(e); + return This->parent->url.toString() + QLatin1String(":") + + QString::number(This->instruction->line); } -void QV8Bindings::Binding::expressionChanged() +void QV8Bindings::Binding::expressionChanged(QDeclarativeJavaScriptExpression *e) { - update(QDeclarativePropertyPrivate::DontRemoveBinding); + Binding *This = static_cast<Binding *>(e); + This->update(QDeclarativePropertyPrivate::DontRemoveBinding); } void QV8Bindings::Binding::destroy() diff --git a/src/declarative/qml/v8/qv8bindings_p.h b/src/declarative/qml/v8/qv8bindings_p.h index 4c2584d540..dd410dc048 100644 --- a/src/declarative/qml/v8/qv8bindings_p.h +++ b/src/declarative/qml/v8/qv8bindings_p.h @@ -81,9 +81,6 @@ public: // Inherited from QDeclarativeAbstractExpression virtual void refresh(); -private: - Q_DISABLE_COPY(QV8Bindings) - struct Binding : public QDeclarativeJavaScriptExpression, public QDeclarativeAbstractBinding { Binding(); @@ -91,9 +88,9 @@ private: void update() { QDeclarativeAbstractBinding::update(); } void refresh(); - // Inherited from QDeclarativeJavaScriptExpression - inline virtual QString expressionIdentifier(); - virtual void expressionChanged(); + // "Inherited" from QDeclarativeJavaScriptExpression + static QString expressionIdentifier(QDeclarativeJavaScriptExpression *); + static void expressionChanged(QDeclarativeJavaScriptExpression *); // Inherited from QDeclarativeAbstractBinding virtual void setEnabled(bool, QDeclarativePropertyPrivate::WriteFlags flags); @@ -114,6 +111,9 @@ private: inline void setUpdatingFlag(bool v) { instruction.setFlag2Value(v); } }; +private: + Q_DISABLE_COPY(QV8Bindings) + QUrl url; int bindingsCount; Binding *bindings; |