Add logical-assignment-operators feature

This commit is contained in:
Justin Ridgewell 2020-03-31 01:52:25 -04:00 committed by Rick Waldron
parent fdf4675da9
commit 78dbc401b1
37 changed files with 40 additions and 3 deletions

View File

@ -166,6 +166,10 @@ String.prototype.replaceAll
# https://github.com/tc39/proposal-for-in-order
for-in-order
# Logical Assignment Operators
# https://github.com/tc39/proposal-logical-assignment
logical-assignment-operators
## Standard language features
#
# Language features that have been included in a published version of the

View File

@ -4,7 +4,7 @@
/*---
esid: sec-assignment-operators-runtime-semantics-evaluation
description: Logical And Assignment Operator
features: [BigInt]
features: [BigInt, logical-assignment-operators]
info: |
AssignmentExpression:
LeftHandSideExpression &&= AssignmentExpression

View File

@ -5,6 +5,7 @@
esid: sec-assignment-operators-runtime-semantics-evaluation
description: >
The LeftHandSideExpression is evaluated before the AssignmentExpression.
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(&&=) is a reference to a data property with the
attribute value {[[Set]]:undefined} and PutValue step is reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(&&=) is a reference to a data property with the
attribute value {[[Set]]:undefined} and PutValue step is not reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(&&=) is a reference to a non-existent property of an
object whose [[Extensible]] internal property is false.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -9,6 +9,7 @@ description: >
negative:
phase: parse
type: SyntaxError
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(&&=) is a reference to a data property with the
attribute value {[[Writable]]:false} and PutValue step is reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(&&=) is a reference to a data property with the
attribute value {[[Writable]]:false} and PutValue step is not reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -7,6 +7,7 @@ description: >
ReferenceError is thrown if the LeftHandSideExpression of a Logical
Assignment operator(&&=) evaluates to an unresolvable reference
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -7,6 +7,7 @@ description: >
ReferenceError is thrown if the AssignmentExpression of a Logical
Assignment operator(&&=) evaluates to an unresolvable reference and the
AssignmentExpression is evaluated.
features: [logical-assignment-operators]
---*/

View File

@ -7,6 +7,7 @@ description: >
ReferenceError is not thrown if the AssignmentExpression of a Logical
Assignment operator(&&=) evaluates to an unresolvable reference and the
AssignmentExpression is not evaluated.
features: [logical-assignment-operators]
---*/

View File

@ -16,6 +16,7 @@ info: |
6. Let rval be ? GetValue(rref).
7. Perform ? PutValue(lref, rval).
8. Return rval.
features: [logical-assignment-operators]
---*/

View File

@ -4,7 +4,7 @@
/*---
esid: sec-assignment-operators-runtime-semantics-evaluation
description: Logical Nullish Assignment Operator
features: [BigInt]
features: [BigInt, logical-assignment-operators]
info: |
AssignmentExpression:
LeftHandSideExpression ??= AssignmentExpression

View File

@ -5,6 +5,7 @@
esid: sec-assignment-operators-runtime-semantics-evaluation
description: >
The LeftHandSideExpression is evaluated before the AssignmentExpression.
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(??=) is a reference to a data property with the
attribute value {[[Set]]:undefined} and PutValue step is reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(??=) is a reference to a data property with the
attribute value {[[Set]]:undefined} and PutValue step is not reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(??=) is a reference to a non-existent property
of an object whose [[Extensible]] internal property is false.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -9,6 +9,7 @@ description: >
negative:
phase: parse
type: SyntaxError
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(??=) is a reference to a data property with the
attribute value {[[Writable]]:false} and PutValue step is reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(??=) is a reference to a data property with the
attribute value {[[Writable]]:false} and PutValue step is not reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -7,6 +7,7 @@ description: >
ReferenceError is thrown if the LeftHandSideExpression of a Logical
Assignment operator(??=) evaluates to an unresolvable reference
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -7,6 +7,7 @@ description: >
ReferenceError is thrown if the AssignmentExpression of a Logical
Assignment operator(??=) evaluates to an unresolvable reference and the
AssignmentExpression is evaluated.
features: [logical-assignment-operators]
---*/

View File

@ -7,6 +7,7 @@ description: >
ReferenceError is not thrown if the AssignmentExpression of a Logical
Assignment operator(??=) evaluates to an unresolvable reference and the
AssignmentExpression is not evaluated.
features: [logical-assignment-operators]
---*/

View File

@ -15,6 +15,7 @@ info: |
5. Let rval be ? GetValue(rref).
6. Perform ? PutValue(lref, rval).
7. Return rval.
features: [logical-assignment-operators]
---*/

View File

@ -4,7 +4,7 @@
/*---
esid: sec-assignment-operators-runtime-semantics-evaluation
description: Logical Or Assignment Operator
features: [BigInt]
features: [BigInt, logical-assignment-operators]
info: |
AssignmentExpression:
LeftHandSideExpression ||= AssignmentExpression

View File

@ -5,6 +5,7 @@
esid: sec-assignment-operators-runtime-semantics-evaluation
description: >
The LeftHandSideExpression is evaluated before the AssignmentExpression.
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(||=) is a reference to a data property with the
attribute value {[[Set]]:undefined} and PutValue step is reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(||=) is a reference to a data property with the
attribute value {[[Set]]:undefined} and PutValue step is not reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(||=) is a reference to a non-existent property
of an object whose [[Extensible]] internal property is false.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -9,6 +9,7 @@ description: >
negative:
phase: parse
type: SyntaxError
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(||=) is a reference to a data property with the
attribute value {[[Writable]]:false} and PutValue step is reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -8,6 +8,7 @@ description: >
Assignment operator(||=) is a reference to a data property with the
attribute value {[[Writable]]:false} and PutValue step is not reached.
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -7,6 +7,7 @@ description: >
ReferenceError is thrown if the LeftHandSideExpression of a Logical
Assignment operator(||=) evaluates to an unresolvable reference
flags: [onlyStrict]
features: [logical-assignment-operators]
---*/

View File

@ -7,6 +7,7 @@ description: >
ReferenceError is thrown if the AssignmentExpression of a Logical
Assignment operator(||=) evaluates to an unresolvable reference and the
AssignmentExpression is evaluated.
features: [logical-assignment-operators]
---*/

View File

@ -7,6 +7,7 @@ description: >
ReferenceError is not thrown if the AssignmentExpression of a Logical
Assignment operator(||=) evaluates to an unresolvable reference and the
AssignmentExpression is not evaluated.
features: [logical-assignment-operators]
---*/

View File

@ -16,6 +16,7 @@ info: |
6. Let rval be ? GetValue(rref).
7. Perform ? PutValue(lref, rval).
8. Return rval.
features: [logical-assignment-operators]
---*/