Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ES2018 from master #1191

Closed
wants to merge 5 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 20 additions & 15 deletions spec.html
Original file line number Diff line number Diff line change
Expand Up @@ -1514,7 +1514,7 @@ <h1>Object Internal Methods and Internal Slots</h1>
</tbody>
</table>
</emu-table>
<p><emu-xref href="#table-6"></emu-xref> summarizes additional essential internal methods that are supported by objects that may be called as functions. A <dfn id="function-object">function object</dfn> is an object that supports the [[Call]] internal method. A <dfn id="constructor">constructor</dfn> (also referred to as a <em>constructor function</em>) is a function object that supports the [[Construct]] internal method.</p>
<p><emu-xref href="#table-6"></emu-xref> summarizes additional essential internal methods that are supported by objects that may be called as functions. A <dfn id="function-object">function object</dfn> is an object that supports the [[Call]] internal method. A <dfn id="constructor">constructor</dfn> is an object that additionally supports the [[Construct]] internal method. A constructor must be a function object, and so is also referred to as a <em>constructor function</em>.</p>
<emu-table id="table-6" caption="Additional Essential Internal Methods of Function Objects">
<table>
<tbody>
Expand Down Expand Up @@ -7776,7 +7776,7 @@ <h1>SetFunctionLength ( _F_, _length_ )</h1>
<emu-alg>
1. Assert: _F_ is an extensible object that does not have a `length` own property.
1. Assert: Type(_length_) is Number.
1. Assert: _length_ ≥ 0 and ToInteger(_length_) is equal to _length_.
1. Assert: _length_ ≥ 0 and ! ToInteger(_length_) is equal to _length_.
1. Return ! DefinePropertyOrThrow(_F_, `"length"`, PropertyDescriptor{[[Value]]: _length_, [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true*}).
</emu-alg>
</emu-clause>
Expand Down Expand Up @@ -19962,7 +19962,7 @@ <h1>Static Semantics: Early Errors</h1>
</ul>
</emu-clause>

<emu-clause id="sec-generator-function-definitions-static-semantics-boundnames">
<emu-clause id="sec-async-generator-function-definitions-static-semantics-boundnames">
<h1>Static Semantics: BoundNames</h1>
<emu-see-also-para op="BoundNames"></emu-see-also-para>
<emu-grammar>AsyncGeneratorDeclaration : `async` `function` `*` BindingIdentifier `(` FormalParameters `)` `{` AsyncGeneratorBody `}`</emu-grammar>
Expand All @@ -19978,7 +19978,7 @@ <h1>Static Semantics: BoundNames</h1>
</emu-note>
</emu-clause>

<emu-clause id="sec-generator-function-definitions-static-semantics-computedpropertycontains">
<emu-clause id="sec-async-generator-function-definitions-static-semantics-computedpropertycontains">
<h1>Static Semantics: ComputedPropertyContains</h1>
<p>With parameter _symbol_.</p>
<emu-see-also-para op="ComputedPropertyContains"></emu-see-also-para>
Expand All @@ -19988,7 +19988,7 @@ <h1>Static Semantics: ComputedPropertyContains</h1>
</emu-alg>
</emu-clause>

<emu-clause id="sec-generator-function-definitions-static-semantics-contains">
<emu-clause id="sec-async-generator-function-definitions-static-semantics-contains">
<h1>Static Semantics: Contains</h1>
<p>With parameter _symbol_.</p>
<emu-see-also-para op="Contains"></emu-see-also-para>
Expand All @@ -20007,7 +20007,7 @@ <h1>Static Semantics: Contains</h1>
</emu-note>
</emu-clause>

<emu-clause id="sec-generator-function-definitions-static-semantics-hasdirectsuper">
<emu-clause id="sec-async-generator-function-definitions-static-semantics-hasdirectsuper">
<h1>Static Semantics: HasDirectSuper</h1>
<emu-see-also-para op="HasDirectSuper"></emu-see-also-para>
<emu-grammar>AsyncGeneratorMethod : `async` `*` PropertyName `(` UniqueFormalParameters `)` `{` AsyncGeneratorBody `}`</emu-grammar>
Expand All @@ -20017,7 +20017,7 @@ <h1>Static Semantics: HasDirectSuper</h1>
</emu-alg>
</emu-clause>

<emu-clause id="sec-generator-function-definitions-static-semantics-hasname">
<emu-clause id="sec-async-generator-function-definitions-static-semantics-hasname">
<h1>Static Semantics: HasName</h1>
<emu-see-also-para op="HasName"></emu-see-also-para>
<emu-grammar>AsyncGeneratorExpression : `async` `function` `*` `(` FormalParameters `)` `{` AsyncGeneratorBody `}`</emu-grammar>
Expand All @@ -20030,7 +20030,7 @@ <h1>Static Semantics: HasName</h1>
</emu-alg>
</emu-clause>

<emu-clause id="sec-generator-function-definitions-static-semantics-isconstantdeclaration">
<emu-clause id="sec-async-generator-function-definitions-static-semantics-isconstantdeclaration">
<h1>Static Semantics: IsConstantDeclaration</h1>
<emu-see-also-para op="IsConstantDeclaration"></emu-see-also-para>
<emu-grammar>
Expand All @@ -20043,7 +20043,7 @@ <h1>Static Semantics: IsConstantDeclaration</h1>
</emu-alg>
</emu-clause>

<emu-clause id="sec-generator-function-definitions-static-semantics-isfunctiondefinition">
<emu-clause id="sec-async-generator-function-definitions-static-semantics-isfunctiondefinition">
<h1>Static Semantics: IsFunctionDefinition</h1>
<emu-see-also-para op="IsFunctionDefinition"></emu-see-also-para>
<emu-grammar>AsyncGeneratorExpression : `async` `function` `*` BindingIdentifier? `(` FormalParameters `)` `{` AsyncGeneratorBody `}`</emu-grammar>
Expand All @@ -20052,7 +20052,7 @@ <h1>Static Semantics: IsFunctionDefinition</h1>
</emu-alg>
</emu-clause>

<emu-clause id="sec-generator-function-definitions-static-semantics-propname">
<emu-clause id="sec-async-generator-function-definitions-static-semantics-propname">
<h1>Static Semantics: PropName</h1>
<emu-see-also-para op="PropName"></emu-see-also-para>
<emu-grammar>AsyncGeneratorMethod : `async` `*` PropertyName `(` UniqueFormalParameters `)` `{` AsyncGeneratorBody `}`</emu-grammar>
Expand Down Expand Up @@ -35747,7 +35747,7 @@ <h1>Abstract Operations For ArrayBuffer Objects</h1>
<h1>AllocateArrayBuffer ( _constructor_, _byteLength_ )</h1>
<p>The abstract operation AllocateArrayBuffer with arguments _constructor_ and _byteLength_ is used to create an ArrayBuffer object. It performs the following steps:</p>
<emu-alg>
1. Let _obj_ be ? OrdinaryCreateFromConstructor(_constructor_, `"%ArrayBufferPrototype%"`, &laquo; [[ArrayBufferData]], [[ArrayBufferByteLength]] &raquo;).
1. Let _obj_ be ? OrdinaryCreateFromConstructor(_constructor_, `"%ArrayBufferPrototype%"`, &laquo; [[ArrayBufferData]], [[ArrayBufferByteLength]], [[ArrayBufferDetachKey]] &raquo;).
1. Assert: _byteLength_ is an integer value &ge; 0.
1. Let _block_ be ? CreateByteDataBlock(_byteLength_).
1. Set _obj_.[[ArrayBufferData]] to _block_.
Expand All @@ -35769,11 +35769,13 @@ <h1>IsDetachedBuffer ( _arrayBuffer_ )</h1>

<!-- es6num="24.1.1.3" -->
<emu-clause id="sec-detacharraybuffer" aoid="DetachArrayBuffer">
<h1>DetachArrayBuffer ( _arrayBuffer_ )</h1>
<p>The abstract operation DetachArrayBuffer with argument _arrayBuffer_ performs the following steps:</p>
<h1>DetachArrayBuffer ( _arrayBuffer_ [ , _key_ ] )</h1>
<p>The abstract operation DetachArrayBuffer with argument _arrayBuffer_ and optional argument _key_ performs the following steps:</p>
<emu-alg>
1. Assert: Type(_arrayBuffer_) is Object and it has [[ArrayBufferData]] and [[ArrayBufferByteLength]] internal slots.
1. Assert: Type(_arrayBuffer_) is Object and it has [[ArrayBufferData]], [[ArrayBufferByteLength]], and [[ArrayBufferDetachKey]] internal slots.
1. Assert: IsSharedArrayBuffer(_arrayBuffer_) is *false*.
1. If _key_ is not present, set _key_ to *undefined*.
1. If SameValue(_arrayBuffer_.[[ArrayBufferDetachKey]], _key_) is *false*, throw a *TypeError* exception.
1. Set _arrayBuffer_.[[ArrayBufferData]] to *null*.
1. Set _arrayBuffer_.[[ArrayBufferByteLength]] to 0.
1. Return NormalCompletion(*null*).
Expand Down Expand Up @@ -36038,8 +36040,9 @@ <h1>ArrayBuffer.prototype [ @@toStringTag ]</h1>
<!-- es6num="24.1.5" -->
<emu-clause id="sec-properties-of-the-arraybuffer-instances">
<h1>Properties of ArrayBuffer Instances</h1>
<p>ArrayBuffer instances inherit properties from the ArrayBuffer prototype object. ArrayBuffer instances each have an [[ArrayBufferData]] internal slot and an [[ArrayBufferByteLength]] internal slot.</p>
<p>ArrayBuffer instances inherit properties from the ArrayBuffer prototype object. ArrayBuffer instances each have an [[ArrayBufferData]] internal slot, an [[ArrayBufferByteLength]] internal slot, and an [[ArrayBufferDetachKey]] internal slot.</p>
<p>ArrayBuffer instances whose [[ArrayBufferData]] is *null* are considered to be detached and all operators to access or modify data contained in the ArrayBuffer instance will fail.</p>
<p>ArrayBuffer instances whose [[ArrayBufferDetachKey]] is set to a value other than *undefined* need to have all DetachArrayBuffer calls passing that same "detach key" as an argument, otherwise a TypeError will result. This internal slot is only ever set by certain embedding environments, not by algorithms in this specification.</p>
</emu-clause>
</emu-clause>

Expand Down Expand Up @@ -40798,6 +40801,8 @@ <h2>Syntax</h2>
[+U] `(` `?` `=` Disjunction[+U, ?N] `)`
[+U] `(` `?` `!` Disjunction[+U, ?N] `)`
[~U] QuantifiableAssertion[?N]
`(` `?` `&lt;=` Disjunction[?U, ?N] `)`
`(` `?` `&lt;!` Disjunction[?U, ?N] `)`

QuantifiableAssertion[N] ::
`(` `?` `=` Disjunction[~U, ?N] `)`
Expand Down