diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-04-06 23:25:51 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-05-02 14:18:23 +0000 |
commit | 3c090c80c58d99f1bd29493ef747a4f6fa915a71 (patch) | |
tree | 6c9f9c4dd23e57901b0dc30d66a467a1b7893688 /src/qml/jsruntime/qv4lookup.cpp | |
parent | 0660714ace53ddecfb0f9d5e238799fea5bbdb67 (diff) |
Remove String dependency from InternalClass
This is required, so we can also use Symbols in
the internal classes.
Change-Id: I630e7aa7b8b16d5a94041f8d18515fd582f94264
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4lookup.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4lookup.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4lookup.cpp b/src/qml/jsruntime/qv4lookup.cpp index cd9583cccb..b5a21ca825 100644 --- a/src/qml/jsruntime/qv4lookup.cpp +++ b/src/qml/jsruntime/qv4lookup.cpp @@ -442,7 +442,8 @@ bool Lookup::resolveSetter(ExecutionEngine *engine, Object *object, const Value ScopedString name(scope, scope.engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[nameIndex]); Heap::InternalClass *c = object->internalClass(); - uint idx = c->find(name); + name->makeIdentifier(); + uint idx = c->find(name->identifier()); if (idx != UINT_MAX) { if (object->isArrayObject() && idx == Heap::ArrayObject::LengthPropertyIndex) { setter = arrayLengthSetter; @@ -470,7 +471,8 @@ bool Lookup::resolveSetter(ExecutionEngine *engine, Object *object, const Value setter = setterFallback; return true; } - idx = object->internalClass()->find(name); + name->makeIdentifier(); + idx = object->internalClass()->find(name->identifier()); if (idx == UINT_MAX) { // ### can this even happen? setter = setterFallback; return false; |