diff --git a/esmeta-ignore.json b/esmeta-ignore.json index 77af1f7905..925b559110 100644 --- a/esmeta-ignore.json +++ b/esmeta-ignore.json @@ -6,6 +6,7 @@ "DoWait", "EvaluateImportCall", "FinishLoadingImportedModule", + "FunctionDeclarationInstantiation", "FunctionBody[0,0].EvaluateFunctionBody", "GetViewByteLength", "INTRINSICS.Atomics.notify", diff --git a/spec.html b/spec.html index 8514e59053..55076a74a4 100644 --- a/spec.html +++ b/spec.html @@ -13848,7 +13848,7 @@

FunctionDeclarationInstantiation ( _func_: an ECMAScript function object, _argumentsList_: a List of ECMAScript language values, - ): either a normal completion containing ~unused~ or an abrupt completion + ): either a normal completion containing ~unused~ or a throw completion

description
@@ -13927,9 +13927,11 @@

1. Let _parameterBindings_ be _parameterNames_. 1. Let _iteratorRecord_ be CreateListIteratorRecord(_argumentsList_). 1. If _hasDuplicates_ is *true*, then - 1. Perform ? IteratorBindingInitialization of _formals_ with arguments _iteratorRecord_ and *undefined*. + 1. Let _usedEnv_ be *undefined*. 1. Else, - 1. Perform ? IteratorBindingInitialization of _formals_ with arguments _iteratorRecord_ and _env_. + 1. Let _usedEnv_ be _env_. + 1. NOTE: The following step cannot return a ReturnCompletion because the only way such a completion can arise in expression position is by use of |YieldExpression|, which is forbidden in parameter lists by Early Error rules in and . + 1. Perform ? IteratorBindingInitialization of _formals_ with arguments _iteratorRecord_ and _usedEnv_. 1. If _hasParameterExpressions_ is *false*, then 1. NOTE: Only a single Environment Record is needed for the parameters and top-level vars. 1. Let _instantiatedVarNames_ be a copy of the List _parameterBindings_.