diff options
author | Lars Knoll <[email protected]> | 2018-04-26 11:48:46 +0200 |
---|---|---|
committer | Lars Knoll <[email protected]> | 2018-05-02 14:20:25 +0000 |
commit | 7d46d7251032ea31f7e7dcef4855a0e5d669fed5 (patch) | |
tree | b5bf0d708874bd002f8db51fd16682ebd9992355 /src/qml/jsruntime/qv4argumentsobject.cpp | |
parent | c7fe748850383c5afcc18acf5568be0badd95c93 (diff) |
Implement support for arguments[Symbol.iterator]
Change-Id: Ieb60e2d8f41c38146b588bc8cd225a2a567e0956
Reviewed-by: Simon Hausmann <[email protected]>
Diffstat (limited to 'src/qml/jsruntime/qv4argumentsobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4argumentsobject.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4argumentsobject.cpp b/src/qml/jsruntime/qv4argumentsobject.cpp index 31f019f490..58951d043c 100644 --- a/src/qml/jsruntime/qv4argumentsobject.cpp +++ b/src/qml/jsruntime/qv4argumentsobject.cpp @@ -37,11 +37,13 @@ ** ****************************************************************************/ #include <qv4argumentsobject_p.h> +#include <qv4arrayobject_p.h> #include <qv4alloca_p.h> #include <qv4scopedvalue_p.h> #include <qv4string_p.h> #include <qv4function_p.h> #include <qv4jscall_p.h> +#include <qv4symbol_p.h> using namespace QV4; @@ -65,6 +67,8 @@ void Heap::ArgumentsObject::init(QV4::CppStackFrame *frame) setProperty(v4, CalleePropertyIndex, context->d()->function); Q_ASSERT(LengthPropertyIndex == internalClass->find(v4->id_length()->identifier())); setProperty(v4, LengthPropertyIndex, Primitive::fromInt32(context->argc())); + Q_ASSERT(SymbolIteratorPropertyIndex == internalClass->find(v4->symbol_iterator()->identifier())); + setProperty(v4, SymbolIteratorPropertyIndex, *v4->arrayProtoValues()); } void Heap::StrictArgumentsObject::init(QV4::CppStackFrame *frame) @@ -75,6 +79,8 @@ void Heap::StrictArgumentsObject::init(QV4::CppStackFrame *frame) Object::init(); Q_ASSERT(CalleePropertyIndex == internalClass->find(v4->id_callee()->identifier())); + Q_ASSERT(SymbolIteratorPropertyIndex == internalClass->find(v4->symbol_iterator()->identifier())); + setProperty(v4, SymbolIteratorPropertyIndex, *v4->arrayProtoValues()); setProperty(v4, CalleePropertyIndex + QV4::Object::GetterOffset, *v4->thrower()); setProperty(v4, CalleePropertyIndex + QV4::Object::SetterOffset, *v4->thrower()); |