diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-06-19 21:29:01 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-06-26 10:03:46 +0000 |
commit | 53adb5bbc659f4ae78427b0b1925bf9732d8a6e5 (patch) | |
tree | c45d87219ef000d09c514b3800564d896ce4b95f /src/qml/jsruntime/qv4stringobject.cpp | |
parent | 89f585157af905d45012dbd9c079c48491e5211d (diff) |
Unify deleteProperty and deleteIndexedProperty vtable methods
Change-Id: I25245818c6ff2104642594476cb9684bac824f29
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4stringobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4stringobject.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/qml/jsruntime/qv4stringobject.cpp b/src/qml/jsruntime/qv4stringobject.cpp index b9e04db28f..b21506b11e 100644 --- a/src/qml/jsruntime/qv4stringobject.cpp +++ b/src/qml/jsruntime/qv4stringobject.cpp @@ -97,16 +97,16 @@ uint Heap::StringObject::length() const return string->length(); } -bool StringObject::deleteIndexedProperty(Managed *m, uint index) +bool StringObject::deleteProperty(Managed *m, Identifier id) { - ExecutionEngine *v4 = static_cast<StringObject *>(m)->engine(); - Scope scope(v4); - Scoped<StringObject> o(scope, m->as<StringObject>()); - Q_ASSERT(!!o); - - if (index < static_cast<uint>(o->d()->string->toQString().length())) - return false; - return true; + Q_ASSERT(m->as<StringObject>()); + if (id.isArrayIndex()) { + StringObject *o = static_cast<StringObject *>(m); + uint index = id.asArrayIndex(); + if (index < static_cast<uint>(o->d()->string->toQString().length())) + return false; + } + return Object::deleteProperty(m, id); } void StringObject::advanceIterator(Managed *m, ObjectIterator *it, Value *name, uint *index, Property *p, PropertyAttributes *attrs) |