Skip to content

Commit 5d20ef2

Browse files
committed
Editorial: Move an <emu-note> element
PR tc39#1490 (among other things) moved the evaluation semantics for ArrowFunction from the Evaluation SDO to the NamedEvaluation SDO. The accompanying <emu-note> should have moved at the same time (in particular because of the reference to "step 3").
1 parent 2ef21b6 commit 5d20ef2

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

spec.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20113,6 +20113,9 @@ <h1>Runtime Semantics: NamedEvaluation</h1>
2011320113
1. Set _closure_.[[SourceText]] to the source text matched by |ArrowFunction|.
2011420114
1. Return _closure_.
2011520115
</emu-alg>
20116+
<emu-note>
20117+
<p>An |ArrowFunction| does not define local bindings for `arguments`, `super`, `this`, or `new.target`. Any reference to `arguments`, `super`, `this`, or `new.target` within an |ArrowFunction| must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an |ArrowFunction| may contain references to `super`, the function object created in step 3 is not made into a method by performing MakeMethod. An |ArrowFunction| that references `super` is always contained within a non-|ArrowFunction| and the necessary state to implement `super` is accessible via the _scope_ that is captured by the function object of the |ArrowFunction|.</p>
20118+
</emu-note>
2011620119
</emu-clause>
2011720120

2011820121
<emu-clause id="sec-arrow-function-definitions-runtime-semantics-evaluation">
@@ -20121,9 +20124,6 @@ <h1>Runtime Semantics: Evaluation</h1>
2012120124
<emu-alg>
2012220125
1. Return the result of performing NamedEvaluation for this |ArrowFunction| with argument *""*.
2012320126
</emu-alg>
20124-
<emu-note>
20125-
<p>An |ArrowFunction| does not define local bindings for `arguments`, `super`, `this`, or `new.target`. Any reference to `arguments`, `super`, `this`, or `new.target` within an |ArrowFunction| must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an |ArrowFunction| may contain references to `super`, the function object created in step 3 is not made into a method by performing MakeMethod. An |ArrowFunction| that references `super` is always contained within a non-|ArrowFunction| and the necessary state to implement `super` is accessible via the _scope_ that is captured by the function object of the |ArrowFunction|.</p>
20126-
</emu-note>
2012720127
<emu-grammar>ExpressionBody : AssignmentExpression</emu-grammar>
2012820128
<emu-alg>
2012920129
1. Let _exprRef_ be the result of evaluating |AssignmentExpression|.

0 commit comments

Comments
 (0)