aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativecompiler_p.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2011-07-18 16:21:21 +1000
committerQt by Nokia <qt-info@nokia.com>2011-08-30 13:18:28 +0200
commit8c8eca45166a4759859f46d8536eea5e93663ae5 (patch)
tree42ebef4b24fe6fee3b5c1a34dbce2f451c10dda7 /src/declarative/qml/qdeclarativecompiler_p.h
parent62a97799a4d3220699956d81a3328954e14cf6a1 (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.h10
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);