aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4internalclass.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-06-23 20:08:40 +0200
committerLars Knoll <lars.knoll@qt.io>2018-07-02 19:29:32 +0000
commit56602df447c5f16257874f2e97b078dcf76f2467 (patch)
tree901c76eb6262dad80e6ab94af810c645355cb6d5 /src/qml/jsruntime/qv4internalclass.cpp
parentdb695c5b1d07275f208446dad178b1131b20bb0a (diff)
Cleanups in the Identifier API
Rename from/asHeapObject to from/asStringOrSymbol and fix the signature. Add a isStringOrSymbol() method and redefine isValid() to also include array indices. Change-Id: Ic8272bfbe84d15421e2ebe86ddda7fdaa8db4f3e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4internalclass.cpp')
-rw-r--r--src/qml/jsruntime/qv4internalclass.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qml/jsruntime/qv4internalclass.cpp b/src/qml/jsruntime/qv4internalclass.cpp
index a913d5ca75..da8b581639 100644
--- a/src/qml/jsruntime/qv4internalclass.cpp
+++ b/src/qml/jsruntime/qv4internalclass.cpp
@@ -227,7 +227,7 @@ static void removeFromPropertyData(QV4::Object *object, int idx, bool accessor =
void InternalClass::changeMember(QV4::Object *object, Identifier id, PropertyAttributes data, uint *index)
{
- Q_ASSERT(id.isValid());
+ Q_ASSERT(id.isStringOrSymbol());
uint idx;
Heap::InternalClass *oldClass = object->internalClass();
Heap::InternalClass *newClass = oldClass->changeMember(id, data, &idx);
@@ -385,7 +385,7 @@ Heap::InternalClass *InternalClass::nonExtensible()
void InternalClass::addMember(QV4::Object *object, Identifier id, PropertyAttributes data, uint *index)
{
- Q_ASSERT(id.isValid());
+ Q_ASSERT(id.isStringOrSymbol());
data.resolve();
if (object->internalClass()->propertyTable.lookup(id) < object->internalClass()->size) {
changeMember(object, id, data, index);
@@ -402,7 +402,7 @@ void InternalClass::addMember(QV4::Object *object, Identifier id, PropertyAttrib
Heap::InternalClass *InternalClass::addMember(Identifier identifier, PropertyAttributes data, uint *index)
{
- Q_ASSERT(identifier.isValid());
+ Q_ASSERT(identifier.isStringOrSymbol());
data.resolve();
if (propertyTable.lookup(identifier) < size)
@@ -633,7 +633,7 @@ void InternalClass::markObjects(Heap::Base *b, MarkStack *stack)
for (uint i = 0; i < ic->size; ++i) {
Identifier id = ic->nameMap.at(i);
- if (Heap::Base *b = id.asHeapObject())
+ if (Heap::Base *b = id.asStringOrSymbol())
b->mark(stack);
}
}