@@ -6819,14 +6819,13 @@ <h1>
6819
6819
<h1>
6820
6820
GetIterator (
6821
6821
_obj_: an ECMAScript language value,
6822
- optional _hint_ : ~sync~ or ~async~,
6822
+ _kind_ : ~sync~ or ~async~,
6823
6823
): either a normal completion containing an Iterator Record or a throw completion
6824
6824
</h1>
6825
6825
<dl class="header">
6826
6826
</dl>
6827
6827
<emu-alg>
6828
- 1. If _hint_ is not present, set _hint_ to ~sync~.
6829
- 1. If _hint_ is ~async~, then
6828
+ 1. If _kind_ is ~async~, then
6830
6829
1. Let _method_ be ? GetMethod(_obj_, @@asyncIterator).
6831
6830
1. If _method_ is *undefined*, then
6832
6831
1. Let _syncMethod_ be ? GetMethod(_obj_, @@iterator).
@@ -9363,7 +9362,7 @@ <h1>
9363
9362
</emu-alg>
9364
9363
<emu-grammar>BindingPattern : ArrayBindingPattern</emu-grammar>
9365
9364
<emu-alg>
9366
- 1. Let _iteratorRecord_ be ? GetIterator(_value_).
9365
+ 1. Let _iteratorRecord_ be ? GetIterator(_value_, ~sync~ ).
9367
9366
1. Let _result_ be Completion(IteratorBindingInitialization of |ArrayBindingPattern| with arguments _iteratorRecord_ and _environment_).
9368
9367
1. If _iteratorRecord_.[[Done]] is *false*, return ? IteratorClose(_iteratorRecord_, _result_).
9369
9368
1. Return ? _result_.
@@ -18058,7 +18057,7 @@ <h1>
18058
18057
<emu-alg>
18059
18058
1. Let _spreadRef_ be ? Evaluation of |AssignmentExpression|.
18060
18059
1. Let _spreadObj_ be ? GetValue(_spreadRef_).
18061
- 1. Let _iteratorRecord_ be ? GetIterator(_spreadObj_).
18060
+ 1. Let _iteratorRecord_ be ? GetIterator(_spreadObj_, ~sync~ ).
18062
18061
1. Repeat,
18063
18062
1. Let _next_ be ? IteratorStep(_iteratorRecord_).
18064
18063
1. If _next_ is *false*, return _nextIndex_.
@@ -19099,7 +19098,7 @@ <h1>Runtime Semantics: ArgumentListEvaluation ( ): either a normal completion co
19099
19098
1. Let _list_ be a new empty List.
19100
19099
1. Let _spreadRef_ be ? Evaluation of |AssignmentExpression|.
19101
19100
1. Let _spreadObj_ be ? GetValue(_spreadRef_).
19102
- 1. Let _iteratorRecord_ be ? GetIterator(_spreadObj_).
19101
+ 1. Let _iteratorRecord_ be ? GetIterator(_spreadObj_, ~sync~ ).
19103
19102
1. Repeat,
19104
19103
1. Let _next_ be ? IteratorStep(_iteratorRecord_).
19105
19104
1. If _next_ is *false*, return _list_.
@@ -19117,7 +19116,7 @@ <h1>Runtime Semantics: ArgumentListEvaluation ( ): either a normal completion co
19117
19116
<emu-alg>
19118
19117
1. Let _precedingArgs_ be ? ArgumentListEvaluation of |ArgumentList|.
19119
19118
1. Let _spreadRef_ be ? Evaluation of |AssignmentExpression|.
19120
- 1. Let _iteratorRecord_ be ? GetIterator(? GetValue(_spreadRef_)).
19119
+ 1. Let _iteratorRecord_ be ? GetIterator(? GetValue(_spreadRef_), ~sync~ ).
19121
19120
1. Repeat,
19122
19121
1. Let _next_ be ? IteratorStep(_iteratorRecord_).
19123
19122
1. If _next_ is *false*, return _precedingArgs_.
@@ -20541,19 +20540,19 @@ <h1>
20541
20540
</emu-alg>
20542
20541
<emu-grammar>ArrayAssignmentPattern : `[` `]`</emu-grammar>
20543
20542
<emu-alg>
20544
- 1. Let _iteratorRecord_ be ? GetIterator(_value_).
20543
+ 1. Let _iteratorRecord_ be ? GetIterator(_value_, ~sync~ ).
20545
20544
1. Return ? IteratorClose(_iteratorRecord_, NormalCompletion(~unused~)).
20546
20545
</emu-alg>
20547
20546
<emu-grammar>ArrayAssignmentPattern : `[` Elision `]`</emu-grammar>
20548
20547
<emu-alg>
20549
- 1. Let _iteratorRecord_ be ? GetIterator(_value_).
20548
+ 1. Let _iteratorRecord_ be ? GetIterator(_value_, ~sync~ ).
20550
20549
1. Let _result_ be Completion(IteratorDestructuringAssignmentEvaluation of |Elision| with argument _iteratorRecord_).
20551
20550
1. If _iteratorRecord_.[[Done]] is *false*, return ? IteratorClose(_iteratorRecord_, _result_).
20552
20551
1. Return _result_.
20553
20552
</emu-alg>
20554
20553
<emu-grammar>ArrayAssignmentPattern : `[` Elision? AssignmentRestElement `]`</emu-grammar>
20555
20554
<emu-alg>
20556
- 1. Let _iteratorRecord_ be ? GetIterator(_value_).
20555
+ 1. Let _iteratorRecord_ be ? GetIterator(_value_, ~sync~ ).
20557
20556
1. If |Elision| is present, then
20558
20557
1. Let _status_ be Completion(IteratorDestructuringAssignmentEvaluation of |Elision| with argument _iteratorRecord_).
20559
20558
1. If _status_ is an abrupt completion, then
@@ -20565,14 +20564,14 @@ <h1>
20565
20564
</emu-alg>
20566
20565
<emu-grammar>ArrayAssignmentPattern : `[` AssignmentElementList `]`</emu-grammar>
20567
20566
<emu-alg>
20568
- 1. Let _iteratorRecord_ be ? GetIterator(_value_).
20567
+ 1. Let _iteratorRecord_ be ? GetIterator(_value_, ~sync~ ).
20569
20568
1. Let _result_ be Completion(IteratorDestructuringAssignmentEvaluation of |AssignmentElementList| with argument _iteratorRecord_).
20570
20569
1. If _iteratorRecord_.[[Done]] is *false*, return ? IteratorClose(_iteratorRecord_, _result_).
20571
20570
1. Return _result_.
20572
20571
</emu-alg>
20573
20572
<emu-grammar>ArrayAssignmentPattern : `[` AssignmentElementList `,` Elision? AssignmentRestElement? `]`</emu-grammar>
20574
20573
<emu-alg>
20575
- 1. Let _iteratorRecord_ be ? GetIterator(_value_).
20574
+ 1. Let _iteratorRecord_ be ? GetIterator(_value_, ~sync~ ).
20576
20575
1. Let _status_ be Completion(IteratorDestructuringAssignmentEvaluation of |AssignmentElementList| with argument _iteratorRecord_).
20577
20576
1. If _status_ is an abrupt completion, then
20578
20577
1. If _iteratorRecord_.[[Done]] is *false*, return ? IteratorClose(_iteratorRecord_, _status_).
@@ -21903,9 +21902,9 @@ <h1>
21903
21902
1. Return the Iterator Record { [[Iterator]]: _iterator_, [[NextMethod]]: _nextMethod_, [[Done]]: *false* }.
21904
21903
1. Else,
21905
21904
1. Assert: _iterationKind_ is either ~iterate~ or ~async-iterate~.
21906
- 1. If _iterationKind_ is ~async-iterate~, let _iteratorHint_ be ~async~.
21907
- 1. Else, let _iteratorHint_ be ~sync~.
21908
- 1. Return ? GetIterator(_exprValue_, _iteratorHint_ ).
21905
+ 1. If _iterationKind_ is ~async-iterate~, let _iteratorKind_ be ~async~.
21906
+ 1. Else, let _iteratorKind_ be ~sync~.
21907
+ 1. Return ? GetIterator(_exprValue_, _iteratorKind_ ).
21909
21908
</emu-alg>
21910
21909
</emu-clause>
21911
21910
@@ -40402,7 +40401,7 @@ <h1>
40402
40401
<dd>_adder_ will be invoked, with _target_ as the receiver.</dd>
40403
40402
</dl>
40404
40403
<emu-alg>
40405
- 1. Let _iteratorRecord_ be ? GetIterator(_iterable_).
40404
+ 1. Let _iteratorRecord_ be ? GetIterator(_iterable_, ~sync~ ).
40406
40405
1. Repeat,
40407
40406
1. Let _next_ be ? IteratorStep(_iteratorRecord_).
40408
40407
1. If _next_ is *false*, return _target_.
@@ -40714,7 +40713,7 @@ <h1>Set ( [ _iterable_ ] )</h1>
40714
40713
1. If _iterable_ is either *undefined* or *null*, return _set_.
40715
40714
1. Let _adder_ be ? Get(_set_, *"add"*).
40716
40715
1. If IsCallable(_adder_) is *false*, throw a *TypeError* exception.
40717
- 1. Let _iteratorRecord_ be ? GetIterator(_iterable_).
40716
+ 1. Let _iteratorRecord_ be ? GetIterator(_iterable_, ~sync~ ).
40718
40717
1. Repeat,
40719
40718
1. Let _next_ be ? IteratorStep(_iteratorRecord_).
40720
40719
1. If _next_ is *false*, return _set_.
@@ -41153,7 +41152,7 @@ <h1>WeakSet ( [ _iterable_ ] )</h1>
41153
41152
1. If _iterable_ is either *undefined* or *null*, return _set_.
41154
41153
1. Let _adder_ be ? Get(_set_, *"add"*).
41155
41154
1. If IsCallable(_adder_) is *false*, throw a *TypeError* exception.
41156
- 1. Let _iteratorRecord_ be ? GetIterator(_iterable_).
41155
+ 1. Let _iteratorRecord_ be ? GetIterator(_iterable_, ~sync~ ).
41157
41156
1. Repeat,
41158
41157
1. Let _next_ be ? IteratorStep(_iteratorRecord_).
41159
41158
1. If _next_ is *false*, return _set_.
@@ -44505,7 +44504,7 @@ <h1>Promise.all ( _iterable_ )</h1>
44505
44504
1. Let _promiseCapability_ be ? NewPromiseCapability(_C_).
44506
44505
1. Let _promiseResolve_ be Completion(GetPromiseResolve(_C_)).
44507
44506
1. IfAbruptRejectPromise(_promiseResolve_, _promiseCapability_).
44508
- 1. Let _iteratorRecord_ be Completion(GetIterator(_iterable_)).
44507
+ 1. Let _iteratorRecord_ be Completion(GetIterator(_iterable_, ~sync~ )).
44509
44508
1. IfAbruptRejectPromise(_iteratorRecord_, _promiseCapability_).
44510
44509
1. Let _result_ be Completion(PerformPromiseAll(_iteratorRecord_, _C_, _promiseCapability_, _promiseResolve_)).
44511
44510
1. If _result_ is an abrupt completion, then
@@ -44608,7 +44607,7 @@ <h1>Promise.allSettled ( _iterable_ )</h1>
44608
44607
1. Let _promiseCapability_ be ? NewPromiseCapability(_C_).
44609
44608
1. Let _promiseResolve_ be Completion(GetPromiseResolve(_C_)).
44610
44609
1. IfAbruptRejectPromise(_promiseResolve_, _promiseCapability_).
44611
- 1. Let _iteratorRecord_ be Completion(GetIterator(_iterable_)).
44610
+ 1. Let _iteratorRecord_ be Completion(GetIterator(_iterable_, ~sync~ )).
44612
44611
1. IfAbruptRejectPromise(_iteratorRecord_, _promiseCapability_).
44613
44612
1. Let _result_ be Completion(PerformPromiseAllSettled(_iteratorRecord_, _C_, _promiseCapability_, _promiseResolve_)).
44614
44613
1. If _result_ is an abrupt completion, then
@@ -44735,7 +44734,7 @@ <h1>Promise.any ( _iterable_ )</h1>
44735
44734
1. Let _promiseCapability_ be ? NewPromiseCapability(_C_).
44736
44735
1. Let _promiseResolve_ be Completion(GetPromiseResolve(_C_)).
44737
44736
1. IfAbruptRejectPromise(_promiseResolve_, _promiseCapability_).
44738
- 1. Let _iteratorRecord_ be Completion(GetIterator(_iterable_)).
44737
+ 1. Let _iteratorRecord_ be Completion(GetIterator(_iterable_, ~sync~ )).
44739
44738
1. IfAbruptRejectPromise(_iteratorRecord_, _promiseCapability_).
44740
44739
1. Let _result_ be Completion(PerformPromiseAny(_iteratorRecord_, _C_, _promiseCapability_, _promiseResolve_)).
44741
44740
1. If _result_ is an abrupt completion, then
@@ -44831,7 +44830,7 @@ <h1>Promise.race ( _iterable_ )</h1>
44831
44830
1. Let _promiseCapability_ be ? NewPromiseCapability(_C_).
44832
44831
1. Let _promiseResolve_ be Completion(GetPromiseResolve(_C_)).
44833
44832
1. IfAbruptRejectPromise(_promiseResolve_, _promiseCapability_).
44834
- 1. Let _iteratorRecord_ be Completion(GetIterator(_iterable_)).
44833
+ 1. Let _iteratorRecord_ be Completion(GetIterator(_iterable_, ~sync~ )).
44835
44834
1. IfAbruptRejectPromise(_iteratorRecord_, _promiseCapability_).
44836
44835
1. Let _result_ be Completion(PerformPromiseRace(_iteratorRecord_, _C_, _promiseCapability_, _promiseResolve_)).
44837
44836
1. If _result_ is an abrupt completion, then
0 commit comments