diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-06-23 23:07:23 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-07-02 19:29:43 +0000 |
commit | 56bff8f7abc2f0eeadd4d197667132af6eed6f3a (patch) | |
tree | 13990d34f9239e1845dedaa452bc1093f38b027a /src/qml/jsapi/qjsvalue.cpp | |
parent | 86f88521fbea59e8ec53e50cc1e3e68a61f53c40 (diff) |
Clean up the property key API in StringOrSymbol
Get rid of makeIdentifier(), as toPropertyKey() will take
care of it.
Rename identifier() to propertyKey() and check that the
key is valid.
Remove String/StringOrSymbol::asArrayIndex(), we don't need it
anymore.
Change-Id: I3c490fabc1475c9ea288b49b1638b6fa1bc237b7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsapi/qjsvalue.cpp')
-rw-r--r-- | src/qml/jsapi/qjsvalue.cpp | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/src/qml/jsapi/qjsvalue.cpp b/src/qml/jsapi/qjsvalue.cpp index 01e8600574..bf8000bdd8 100644 --- a/src/qml/jsapi/qjsvalue.cpp +++ b/src/qml/jsapi/qjsvalue.cpp @@ -1058,12 +1058,7 @@ QJSValue QJSValue::property(const QString& name) const return QJSValue(); ScopedString s(scope, engine->newString(name)); - uint idx = s->asArrayIndex(); - if (idx < UINT_MAX) - return property(idx); - - s->makeIdentifier(); - QV4::ScopedValue result(scope, o->get(s)); + QV4::ScopedValue result(scope, o->get(s->toPropertyKey())); if (engine->hasException) result = engine->catchException(); @@ -1148,15 +1143,8 @@ void QJSValue::setProperty(const QString& name, const QJSValue& value) } ScopedString s(scope, engine->newString(name)); - uint idx = s->asArrayIndex(); - if (idx < UINT_MAX) { - setProperty(idx, value); - return; - } - - s->makeIdentifier(); QV4::ScopedValue v(scope, QJSValuePrivate::convertedToValue(engine, value)); - o->put(s, v); + o->put(s->toPropertyKey(), v); if (engine->hasException) engine->catchException(); } @@ -1209,7 +1197,7 @@ void QJSValue::setProperty(quint32 arrayIndex, const QJSValue& value) } QV4::ScopedValue v(scope, QJSValuePrivate::convertedToValue(engine, value)); - PropertyKey id = arrayIndex != UINT_MAX ? PropertyKey::fromArrayIndex(arrayIndex) : engine->id_uintMax()->identifier(); + PropertyKey id = arrayIndex != UINT_MAX ? PropertyKey::fromArrayIndex(arrayIndex) : engine->id_uintMax()->propertyKey(); o->put(id, v); if (engine->hasException) engine->catchException(); @@ -1289,7 +1277,7 @@ bool QJSValue::hasOwnProperty(const QString &name) const return false; ScopedString s(scope, engine->newIdentifier(name)); - return o->getOwnProperty(s->identifier()) != Attr_Invalid; + return o->getOwnProperty(s->propertyKey()) != Attr_Invalid; } /*! |