aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlpropertycache.cpp
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-10-12 13:31:39 +0300
committerAnton Kudryavtsev <antkudr@mail.ru>2016-11-08 17:32:27 +0000
commit47af56343a12bad0d3696e139af9a23ee1f67933 (patch)
tree82e8a7e5c752a70cd32ee440d7131a150e218b47 /src/qml/qml/qqmlpropertycache.cpp
parent30cd2978eee14f75bbc85442fdbea4c9905fadbd (diff)
QQmlPropertyCache: add property() overload with QStringRef arg
Now we can pass 'name' arg as QStringRef. Client code can reduce allocations. Change-Id: I444f7135f4912f54d57e0a1193f330a3976fc186 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlpropertycache.cpp')
-rw-r--r--src/qml/qml/qqmlpropertycache.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/qml/qml/qqmlpropertycache.cpp b/src/qml/qml/qqmlpropertycache.cpp
index bf220a905c..b645d47c39 100644
--- a/src/qml/qml/qqmlpropertycache.cpp
+++ b/src/qml/qml/qqmlpropertycache.cpp
@@ -978,7 +978,7 @@ int QQmlPropertyCache::originalClone(QObject *object, int index)
return index;
}
-QQmlPropertyData qQmlPropertyCacheCreate(const QMetaObject *metaObject, const QString &property)
+static QQmlPropertyData qQmlPropertyCacheCreate(const QMetaObject *metaObject, const QStringRef &property)
{
Q_ASSERT(metaObject);
@@ -1038,12 +1038,17 @@ QQmlPropertyData qQmlPropertyCacheCreate(const QMetaObject *metaObject, const QS
return rv;
}
-inline const QString &qQmlPropertyCacheToString(const QString &string)
+static inline QQmlPropertyData qQmlPropertyCacheCreate(const QMetaObject *metaObject, const QString &property)
+{
+ return qQmlPropertyCacheCreate(metaObject, QStringRef(&property));
+}
+
+static inline const QStringRef &qQmlPropertyCacheToString(const QStringRef &string)
{
return string;
}
-inline QString qQmlPropertyCacheToString(const QV4::String *string)
+static inline QString qQmlPropertyCacheToString(const QV4::String *string)
{
return string->toQString();
}
@@ -1090,10 +1095,10 @@ QQmlPropertyCache::property(QJSEngine *engine, QObject *obj, const QV4::String *
}
QQmlPropertyData *
-QQmlPropertyCache::property(QJSEngine *engine, QObject *obj,
- const QString &name, QQmlContextData *context, QQmlPropertyData &local)
+QQmlPropertyCache::property(QJSEngine *engine, QObject *obj, const QStringRef &name,
+ QQmlContextData *context, QQmlPropertyData &local)
{
- return qQmlPropertyCacheProperty<const QString &>(engine, obj, name, context, local);
+ return qQmlPropertyCacheProperty<const QStringRef &>(engine, obj, name, context, local);
}
// these two functions are copied from qmetaobject.cpp