mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-16 05:51:55 +00:00
LibJS: Revert ArrayIterator and RegExpStringIterator to manual iterators
This is a normative change in the ECMA-262 spec. See:
de62e8d
This did not actually seem to affect our implementation as we were not
using generators here to begin with. So this patch is basically just
adding spec comments.
This commit is contained in:
parent
107d0cafcf
commit
6b4b7a54de
Notes:
github-actions[bot]
2025-04-30 11:30:29 +00:00
Author: https://github.com/trflynn89
Commit: 6b4b7a54de
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4523
6 changed files with 108 additions and 51 deletions
|
@ -14,6 +14,13 @@ GC_DEFINE_ALLOCATOR(RegExpStringIterator);
|
|||
// 22.2.9.1 CreateRegExpStringIterator ( R, S, global, fullUnicode ), https://tc39.es/ecma262/#sec-createregexpstringiterator
|
||||
GC::Ref<RegExpStringIterator> RegExpStringIterator::create(Realm& realm, Object& regexp_object, Utf16String string, bool global, bool unicode)
|
||||
{
|
||||
// 1. Let iterator be OrdinaryObjectCreate(%RegExpStringIteratorPrototype%, « [[IteratingRegExp]], [[IteratedString]], [[Global]], [[Unicode]], [[Done]] »).
|
||||
// 2. Set iterator.[[IteratingRegExp]] to R.
|
||||
// 3. Set iterator.[[IteratedString]] to S.
|
||||
// 4. Set iterator.[[Global]] to global.
|
||||
// 5. Set iterator.[[Unicode]] to fullUnicode.
|
||||
// 6. Set iterator.[[Done]] to false.
|
||||
// 7. Return iterator.
|
||||
return realm.create<RegExpStringIterator>(realm.intrinsics().regexp_string_iterator_prototype(), regexp_object, move(string), global, unicode);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue