aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4context.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-06-19 21:58:07 +0200
committerLars Knoll <lars.knoll@qt.io>2018-06-26 10:03:50 +0000
commitd95b4826bdf94ad90ba90812cc07d18f3f37b9e9 (patch)
tree03aae1e5ff515b20fe5473f1bb143a436a7d4c36 /src/qml/jsruntime/qv4context.cpp
parent53adb5bbc659f4ae78427b0b1925bf9732d8a6e5 (diff)
Cleanup defineOwnProperty
Make it a vtable method as required by the ES7 spec. Change all calls sites to call through the virtual function. Adjust ArgumentsObject and give it it's own defineOwnProperty implementation instead of hacking it into the base implementation. Move the array object specific handling into a reimplementation. Change-Id: I48c960c4c69f99b178628c94b4808be2bab0dccc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4context.cpp')
-rw-r--r--src/qml/jsruntime/qv4context.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4context.cpp b/src/qml/jsruntime/qv4context.cpp
index ebe0ce53ea..0ae79c8b36 100644
--- a/src/qml/jsruntime/qv4context.cpp
+++ b/src/qml/jsruntime/qv4context.cpp
@@ -178,12 +178,13 @@ void ExecutionContext::createMutableBinding(String *name, bool deletable)
ctx = ctx->d()->outer;
}
- if (activation->getOwnProperty(name->toPropertyKey()) != Attr_Invalid)
+ Identifier id = name->toPropertyKey();
+ if (activation->getOwnProperty(id) != Attr_Invalid)
return;
ScopedProperty desc(scope);
PropertyAttributes attrs(Attr_Data);
attrs.setConfigurable(deletable);
- if (!activation->__defineOwnProperty__(scope.engine, name, desc, attrs))
+ if (!activation->defineOwnProperty(id, desc, attrs))
scope.engine->throwTypeError();
}