diff options
Diffstat (limited to 'src/3rdparty/javascriptcore/JavaScriptCore/runtime/RegExpMatchesArray.h')
-rw-r--r-- | src/3rdparty/javascriptcore/JavaScriptCore/runtime/RegExpMatchesArray.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/RegExpMatchesArray.h b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/RegExpMatchesArray.h index cbba85aaa0..c1a5a252c2 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/RegExpMatchesArray.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/RegExpMatchesArray.h @@ -44,6 +44,13 @@ namespace JSC { return JSArray::getOwnPropertySlot(exec, propertyName, slot); } + virtual bool getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor) + { + if (lazyCreationData()) + fillArrayInstance(exec); + return JSArray::getOwnPropertyDescriptor(exec, propertyName, descriptor); + } + virtual void put(ExecState* exec, const Identifier& propertyName, JSValue v, PutPropertySlot& slot) { if (lazyCreationData()) @@ -72,11 +79,11 @@ namespace JSC { return JSArray::deleteProperty(exec, propertyName, checkDontDelete); } - virtual void getPropertyNames(ExecState* exec, PropertyNameArray& arr, unsigned listedAttributes) + virtual void getOwnPropertyNames(ExecState* exec, PropertyNameArray& arr, bool includeNonEnumerable = false) { if (lazyCreationData()) fillArrayInstance(exec); - JSArray::getPropertyNames(exec, arr, listedAttributes); + JSArray::getOwnPropertyNames(exec, arr, includeNonEnumerable); } void fillArrayInstance(ExecState*); |