diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-07-18 16:21:21 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-08-30 13:18:28 +0200 |
commit | 8c8eca45166a4759859f46d8536eea5e93663ae5 (patch) | |
tree | 42ebef4b24fe6fee3b5c1a34dbce2f451c10dda7 /src/declarative/qml/qdeclarativecompiler_p.h | |
parent | 62a97799a4d3220699956d81a3328954e14cf6a1 (diff) |
Don't unnecessarily construct QMetaPropertys
As we store everything as a QDeclarativePropertyCache::Data internally
anyway, operate exclusively against this structure.
Change-Id: Id963bc001ce56ebf07b9b13082bb082d5d93ddd2
Reviewed-on: http://codereview.qt.nokia.com/3753
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/declarative/qml/qdeclarativecompiler_p.h')
-rw-r--r-- | src/declarative/qml/qdeclarativecompiler_p.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/declarative/qml/qdeclarativecompiler_p.h b/src/declarative/qml/qdeclarativecompiler_p.h index fcff96b701..66d094e886 100644 --- a/src/declarative/qml/qdeclarativecompiler_p.h +++ b/src/declarative/qml/qdeclarativecompiler_p.h @@ -288,7 +288,7 @@ private: QDeclarativeParser::Value *value, const QDeclarativeCompilerTypes::BindingContext &ctxt); bool doesPropertyExist(QDeclarativeParser::Property *prop, QDeclarativeParser::Object *obj); - bool testLiteralAssignment(const QMetaProperty &prop, + bool testLiteralAssignment(QDeclarativeParser::Property *prop, QDeclarativeParser::Value *value); bool testQualifiedEnumAssignment(const QMetaProperty &prop, QDeclarativeParser::Object *obj, @@ -318,7 +318,7 @@ private: void genPropertyAssignment(QDeclarativeParser::Property *prop, QDeclarativeParser::Object *obj, QDeclarativeParser::Property *valueTypeProperty = 0); - void genLiteralAssignment(const QMetaProperty &prop, + void genLiteralAssignment(QDeclarativeParser::Property *prop, QDeclarativeParser::Value *value); void genBindingAssignment(QDeclarativeParser::Value *binding, QDeclarativeParser::Property *prop, @@ -337,6 +337,12 @@ private: QString elementName(QDeclarativeParser::Object *); QStringList deferredProperties(QDeclarativeParser::Object *); + + QDeclarativePropertyCache::Data *property(QDeclarativeParser::Object *, int); + QDeclarativePropertyCache::Data *property(QDeclarativeParser::Object *, const QStringRef &, + bool *notInRevision = 0); + QDeclarativePropertyCache::Data *signal(QDeclarativeParser::Object *, const QStringRef &, + bool *notInRevision = 0); int indexOfProperty(QDeclarativeParser::Object *, const QStringRef &, bool *notInRevision = 0); int indexOfProperty(QDeclarativeParser::Object *, const QString &, bool *notInRevision = 0); int indexOfSignal(QDeclarativeParser::Object *, const QString &, bool *notInRevision = 0); |