Skip to content
This repository was archived by the owner on Jan 25, 2022. It is now read-only.

Commit 5994d2c

Browse files
committed
update from ecma262
1 parent c9231e7 commit 5994d2c

File tree

2 files changed

+8
-34
lines changed

2 files changed

+8
-34
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"license": "CC0",
1515
"homepage": "https://tc39.github.io/proposal-optional-chaining/",
1616
"dependencies": {
17-
"ecmarkup": "^3.11.5"
17+
"ecmarkup": "^3.16.0"
1818
},
1919
"devDependencies": {
2020
"@alrra/travis-scripts": "^3.0.0"

spec.html

Lines changed: 7 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,17 @@ <h1>Scope</h1>
3131
<p>List of significant editorial modifications:</p>
3232
<ul>
3333
<li><a href="#sec-property-accessors">Property Accessors</a>: Factoring part of the property access operations in the new EvaluateDynamicPropertyAccess and EvaluateStaticPropertyAccess abstract operations.</li>
34-
<li>Factoring out first step of EvaluateCall as in PR <a href="https://github.com/tc39/ecma262/pull/963">tc39/ecma262#963</a>.</li>
3534
<li>In new content, adoption of calling convention for directed operations of PR <a href="https://github.com/tc39/ecma262/pull/955">tc39/ecma262##955</a>.</li>
3635
</ul>
3736

3837
</emu-clause>
3938

4039

41-
<!-- es6num="11" -->
4240
<!--
4341
<emu-clause id="sec-ecmascript-language-lexical-grammar">
4442
<h1>ECMAScript Language: Lexical Grammar (<a href="https://tc39.github.io/ecma262/#sec-ecmascript-language-lexical-grammar">11</a>)</h1>
4543
-->
4644

47-
<!-- es6num="11.7" -->
4845
<emu-clause id="sec-punctuators">
4946
<h1>Punctuators (<a href="https://tc39.github.io/ecma262/#sec-punctuators">11.7</a>)</h1>
5047
<h2>Syntax</h2>
@@ -85,13 +82,11 @@ <h2>Syntax</h2>
8582
</emu-clause>
8683
-->
8784
88-
<!-- es6num="12" -->
8985
<!--
9086
<emu-clause id="sec-ecmascript-language-expressions">
9187
<h1>ECMAScript Language: Expressions (<a href="https://tc39.github.io/ecma262/#sec-ecmascript-language-expressions">12</a>)</h1>
9288
-->
9389
94-
<!-- es6num="12.3" -->
9590
<emu-clause id="sec-left-hand-side-expressions">
9691
<h1>Left-Hand-Side Expressions (<a href="https://tc39.github.io/ecma262/#sec-left-hand-side-expressions">12.3</a>)</h1>
9792
<h2>Syntax</h2>
@@ -100,7 +95,7 @@ <h2>Syntax</h2>
10095
PrimaryExpression[?Yield, ?Await]
10196
MemberExpression[?Yield, ?Await] `[` Expression[+In, ?Yield, ?Await] `]`
10297
MemberExpression[?Yield, ?Await] `.` IdentifierName
103-
MemberExpression[?Yield, ?Await] TemplateLiteral[?Yield, ?Await]
98+
MemberExpression[?Yield, ?Await] TemplateLiteral[?Yield, ?Await, +Tagged]
10499
SuperProperty[?Yield, ?Await]
105100
MetaProperty
106101
`new` MemberExpression[?Yield, ?Await] Arguments[?Yield, ?Await]
@@ -125,7 +120,7 @@ <h2>Syntax</h2>
125120
CallExpression[?Yield, ?Await] Arguments[?Yield, ?Await]
126121
CallExpression[?Yield, ?Await] `[` Expression[+In, ?Yield, ?Await] `]`
127122
CallExpression[?Yield, ?Await] `.` IdentifierName
128-
CallExpression[?Yield, ?Await] TemplateLiteral[?Yield, ?Await]
123+
CallExpression[?Yield, ?Await] TemplateLiteral[?Yield, ?Await, +Tagged]
129124

130125
SuperCall[Yield, Await] :
131126
`super` Arguments[?Yield, ?Await]
@@ -163,12 +158,11 @@ <h2>Syntax</h2>
163158
</emu-grammar>
164159
<h2>Supplemental Syntax</h2>
165160
<p>When processing an instance of the production <emu-grammar>CallExpression : CoverCallExpressionAndAsyncArrowHead</emu-grammar> the interpretation of |CoverCallExpressionAndAsyncArrowHead| is refined using the following grammar:</p>
166-
<emu-grammar>
161+
<emu-grammar type="definition">
167162
CallMemberExpression[Yield, Await] :
168163
MemberExpression[?Yield, ?Await] Arguments[?Yield, ?Await]
169164
</emu-grammar>
170165

171-
<!-- es6num="12.3.1" -->
172166
<emu-clause id="sec-static-semantics">
173167
<h1>Static Semantics (<a href="https://tc39.github.io/ecma262/#sec-static-semantics">12.3.1</a>)</h1>
174168

@@ -178,11 +172,10 @@ <h1>Static Semantics: CoveredCallExpression</h1>
178172
CallExpression : CoverCallExpressionAndAsyncArrowHead
179173
</emu-grammar>
180174
<emu-alg>
181-
1. Return the result of parsing the lexical token stream matched by |CoverCallExpressionAndAsyncArrowHead| using |CallMemberExpression| as the goal symbol with its <sub>[Yield]</sub> and <sub>[Await]</sub> parameters set to the values used when parsing |CoverCallExpressionAndAsyncArrowHead|.
175+
1. Return the |CallMemberExpression| that is covered by |CoverCallExpressionAndAsyncArrowHead|.
182176
</emu-alg>
183177
</emu-clause>
184178

185-
<!-- es6num="12.3.1.1" -->
186179
<emu-clause id="sec-static-semantics-static-semantics-contains">
187180
<h1>Static Semantics: Contains</h1>
188181
<p>With parameter _symbol_.</p>
@@ -225,7 +218,6 @@ <h1>Static Semantics: Contains</h1>
225218
</ins>
226219
</emu-clause>
227220

228-
<!-- es6num="12.3.1.2" -->
229221
<emu-clause id="sec-static-semantics-static-semantics-isfunctiondefinition">
230222
<h1>Static Semantics: IsFunctionDefinition</h1>
231223
<emu-see-also-para op="IsFunctionDefinition"></emu-see-also-para>
@@ -250,7 +242,6 @@ <h1>Static Semantics: IsFunctionDefinition</h1>
250242
</emu-alg>
251243
</emu-clause>
252244

253-
<!-- es6num="12.3.1.3" -->
254245
<emu-clause id="sec-static-semantics-static-semantics-isdestructuring">
255246
<h1>Static Semantics: IsDestructuring</h1>
256247
<emu-see-also-para op="IsDestructuring"></emu-see-also-para>
@@ -280,7 +271,6 @@ <h1>Static Semantics: IsDestructuring</h1>
280271
</emu-alg>
281272
</emu-clause>
282273

283-
<!-- es6num="12.3.1.4" -->
284274
<emu-clause id="sec-static-semantics-static-semantics-isidentifierref">
285275
<h1>Static Semantics: IsIdentifierRef</h1>
286276
<emu-see-also-para op="IsIdentifierRef"></emu-see-also-para>
@@ -305,7 +295,6 @@ <h1>Static Semantics: IsIdentifierRef</h1>
305295
</emu-alg>
306296
</emu-clause>
307297

308-
<!-- es6num="12.3.1.5" -->
309298
<emu-clause id="sec-static-semantics-static-semantics-isvalidsimpleassignmenttarget">
310299
<h1>Static Semantics: IsValidSimpleAssignmentTarget</h1>
311300
<emu-see-also-para op="IsValidSimpleAssignmentTarget"></emu-see-also-para>
@@ -350,7 +339,6 @@ <h1>Static Semantics: IsValidSimpleAssignmentTarget</h1>
350339
</emu-clause>
351340
</emu-clause>
352341

353-
<!-- es6num="12.3.2" -->
354342
<emu-clause id="sec-property-accessors">
355343
<h1>Property Accessors (<a href="https://tc39.github.io/ecma262/#sec-property-accessors">12.3.2</a>)</h1>
356344
<emu-note>
@@ -385,7 +373,6 @@ <h1>Property Accessors (<a href="https://tc39.github.io/ecma262/#sec-property-ac
385373
<p>where &lt;<i>identifier-name-string</i>&gt; is the result of evaluating StringValue of |IdentifierName|.</p>
386374
</emu-note>
387375

388-
<!-- es6num="12.3.2.1" -->
389376
<emu-clause id="sec-property-accessors-runtime-semantics-evaluation">
390377
<h1>Runtime Semantics: Evaluation</h1>
391378
<emu-grammar>MemberExpression : MemberExpression `[` Expression `]`</emu-grammar>
@@ -440,18 +427,15 @@ <h1>Runtime Semantics: EvaluateStaticPropertyAccess(_baseValue_, _identifierName
440427

441428
</emu-clause>
442429

443-
<!-- es6num="12.3.3" -->
444430
<emu-clause id="sec-new-operator">
445431
<h1>The `new` Operator (<a href="https://tc39.github.io/ecma262/#sec-new-operator">12.3.3</a>)</h1>
446432

447433
<p><i>(not modified)</i></p>
448434
</emu-clause>
449435

450-
<!-- es6num="12.3.4" -->
451436
<emu-clause id="sec-function-calls">
452437
<h1>Function Calls (<a href="https://tc39.github.io/ecma262/#sec-function-calls">12.3.4</a>)</h1>
453438

454-
<!-- es6num="12.3.4.1" -->
455439
<emu-clause id="sec-function-calls-runtime-semantics-evaluation">
456440
<h1>Runtime Semantics: Evaluation</h1>
457441
<emu-grammar>CallExpression : CoverCallExpressionAndAsyncArrowHead</emu-grammar>
@@ -463,8 +447,7 @@ <h1>Runtime Semantics: Evaluation</h1>
463447
1. Let _func_ be ? GetValue(_ref_).
464448
1. If Type(_ref_) is Reference, IsPropertyReference(_ref_) is *false*, and GetReferencedName(_ref_) is `"eval"`, then
465449
1. If SameValue(_func_, %eval%) is *true*, then
466-
1. Let _argList_ be ArgumentListEvaluation of _arguments_.
467-
1. ReturnIfAbrupt(_argList_).
450+
1. Let _argList_ be ? ArgumentListEvaluation of _arguments_.
468451
1. If _argList_ has no elements, return *undefined*.
469452
1. Let _evalText_ be the first element of _argList_.
470453
1. If the source code matching this |CallExpression| is strict mode code, let _strictCaller_ be *true*. Otherwise let _strictCaller_ be *false*.
@@ -486,9 +469,8 @@ <h1>Runtime Semantics: Evaluation</h1>
486469
</emu-alg>
487470
</emu-clause>
488471

489-
<!-- es6num="12.3.4.2" -->
490-
<emu-clause id="sec-evaluatecall" aoid="EvaluateCall">
491-
<h1>Runtime Semantics: EvaluateCall(_func_, _ref_, _arguments_, _tailPosition_ )</h1>
472+
<emu-clause id="sec-evaluatecall" aoid="EvaluateCall" oldids="sec-evaluatedirectcall">
473+
<h1>Runtime Semantics: EvaluateCall ( _func_, _ref_, _arguments_, _tailPosition_ )</h1>
492474
<p>The abstract operation EvaluateCall takes as arguments a value _func_, a value _ref_, a Parse Node _arguments_, and a Boolean argument _tailPosition_. It performs the following steps:</p>
493475
<emu-alg>
494476
1. If Type(_ref_) is Reference, then
@@ -512,21 +494,18 @@ <h1>Runtime Semantics: EvaluateCall(_func_, _ref_, _arguments_, _tailPosition_ )
512494
</emu-clause>
513495
</emu-clause>
514496

515-
<!-- es6num="12.3.5" -->
516497
<emu-clause id="sec-super-keyword">
517498
<h1>The `super` Keyword (<a href="https://tc39.github.io/ecma262/#sec-super-keyword">12.3.5</a>)</h1>
518499

519500
<p><i>(not modified)</i></p>
520501
</emu-clause>
521502

522-
<!-- es6num="12.3.6" -->
523503
<emu-clause id="sec-argument-lists">
524504
<h1>Argument Lists (<a href="https://tc39.github.io/ecma262/#sec-argument-lists">12.3.6</a>)</h1>
525505

526506
<p><i>(not modified)</i></p>
527507
</emu-clause>
528508

529-
<!-- es6num="12.3.7" -->
530509
<emu-clause id="sec-tagged-templates">
531510
<h1>Tagged Templates (<a href="https://tc39.github.io/ecma262/#sec-tagged-templates">12.3.7</a>)</h1>
532511
<p><i>(not modified)</i></p>
@@ -603,7 +582,6 @@ <h1>Runtime Semantics: ChainEvaluation</h1>
603582
</emu-clause>
604583
</ins>
605584

606-
<!-- es6num="12.3.8" -->
607585
<emu-clause id="sec-meta-properties">
608586
<h1>Meta Properties (<a href="https://tc39.github.io/ecma262/#sec-meta-properties">12.3.8</a>)</h1>
609587

@@ -614,19 +592,15 @@ <h1>Meta Properties (<a href="https://tc39.github.io/ecma262/#sec-meta-propertie
614592
</emu-clause>
615593
-->
616594

617-
<!-- es6num="14" -->
618595
<!--
619596
<emu-clause id="sec-ecmascript-language-functions-and-classes">
620597
<h1>ECMAScript Language: Functions and Classes (<a href="https://tc39.github.io/ecma262/#sec-ecmascript-language-functions-and-classes">14</a>)</h1>
621598
-->
622-
<!-- es6num="14.6" -->
623599
<emu-clause id="sec-tail-position-calls">
624600
<h1>Tail Position Calls (<a href="https://tc39.github.io/ecma262/#sec-tail-position-calls">14.8</a>)</h1>
625-
<!-- es6num="14.6.2" -->
626601
<emu-clause id="sec-static-semantics-hascallintailposition">
627602
<h1>Static Semantics: HasCallInTailPosition (<a href="https://tc39.github.io/ecma262/#sec-static-semantics-hascallintailposition">14.8.2</a>)</h1>
628603
<p>With parameter _call_.</p>
629-
<!-- es6num="14.6.2.2" -->
630604
<emu-clause id="sec-expression-rules">
631605
<h1>Expression Rules</h1>
632606
<p><i>The following cases are added:</i></p>

0 commit comments

Comments
 (0)