mirror of
https://github.com/tc39/test262.git
synced 2025-07-21 21:14:45 +02:00
Add logical-assignment-operators feature
This commit is contained in:
parent
fdf4675da9
commit
78dbc401b1
@ -166,6 +166,10 @@ String.prototype.replaceAll
|
|||||||
# https://github.com/tc39/proposal-for-in-order
|
# https://github.com/tc39/proposal-for-in-order
|
||||||
for-in-order
|
for-in-order
|
||||||
|
|
||||||
|
# Logical Assignment Operators
|
||||||
|
# https://github.com/tc39/proposal-logical-assignment
|
||||||
|
logical-assignment-operators
|
||||||
|
|
||||||
## Standard language features
|
## Standard language features
|
||||||
#
|
#
|
||||||
# Language features that have been included in a published version of the
|
# Language features that have been included in a published version of the
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
/*---
|
/*---
|
||||||
esid: sec-assignment-operators-runtime-semantics-evaluation
|
esid: sec-assignment-operators-runtime-semantics-evaluation
|
||||||
description: Logical And Assignment Operator
|
description: Logical And Assignment Operator
|
||||||
features: [BigInt]
|
features: [BigInt, logical-assignment-operators]
|
||||||
info: |
|
info: |
|
||||||
AssignmentExpression:
|
AssignmentExpression:
|
||||||
LeftHandSideExpression &&= AssignmentExpression
|
LeftHandSideExpression &&= AssignmentExpression
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
esid: sec-assignment-operators-runtime-semantics-evaluation
|
esid: sec-assignment-operators-runtime-semantics-evaluation
|
||||||
description: >
|
description: >
|
||||||
The LeftHandSideExpression is evaluated before the AssignmentExpression.
|
The LeftHandSideExpression is evaluated before the AssignmentExpression.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(&&=) is a reference to a data property with the
|
Assignment operator(&&=) is a reference to a data property with the
|
||||||
attribute value {[[Set]]:undefined} and PutValue step is reached.
|
attribute value {[[Set]]:undefined} and PutValue step is reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(&&=) is a reference to a data property with the
|
Assignment operator(&&=) is a reference to a data property with the
|
||||||
attribute value {[[Set]]:undefined} and PutValue step is not reached.
|
attribute value {[[Set]]:undefined} and PutValue step is not reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(&&=) is a reference to a non-existent property of an
|
Assignment operator(&&=) is a reference to a non-existent property of an
|
||||||
object whose [[Extensible]] internal property is false.
|
object whose [[Extensible]] internal property is false.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ description: >
|
|||||||
negative:
|
negative:
|
||||||
phase: parse
|
phase: parse
|
||||||
type: SyntaxError
|
type: SyntaxError
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(&&=) is a reference to a data property with the
|
Assignment operator(&&=) is a reference to a data property with the
|
||||||
attribute value {[[Writable]]:false} and PutValue step is reached.
|
attribute value {[[Writable]]:false} and PutValue step is reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(&&=) is a reference to a data property with the
|
Assignment operator(&&=) is a reference to a data property with the
|
||||||
attribute value {[[Writable]]:false} and PutValue step is not reached.
|
attribute value {[[Writable]]:false} and PutValue step is not reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ description: >
|
|||||||
ReferenceError is thrown if the LeftHandSideExpression of a Logical
|
ReferenceError is thrown if the LeftHandSideExpression of a Logical
|
||||||
Assignment operator(&&=) evaluates to an unresolvable reference
|
Assignment operator(&&=) evaluates to an unresolvable reference
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ description: >
|
|||||||
ReferenceError is thrown if the AssignmentExpression of a Logical
|
ReferenceError is thrown if the AssignmentExpression of a Logical
|
||||||
Assignment operator(&&=) evaluates to an unresolvable reference and the
|
Assignment operator(&&=) evaluates to an unresolvable reference and the
|
||||||
AssignmentExpression is evaluated.
|
AssignmentExpression is evaluated.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ description: >
|
|||||||
ReferenceError is not thrown if the AssignmentExpression of a Logical
|
ReferenceError is not thrown if the AssignmentExpression of a Logical
|
||||||
Assignment operator(&&=) evaluates to an unresolvable reference and the
|
Assignment operator(&&=) evaluates to an unresolvable reference and the
|
||||||
AssignmentExpression is not evaluated.
|
AssignmentExpression is not evaluated.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ info: |
|
|||||||
6. Let rval be ? GetValue(rref).
|
6. Let rval be ? GetValue(rref).
|
||||||
7. Perform ? PutValue(lref, rval).
|
7. Perform ? PutValue(lref, rval).
|
||||||
8. Return rval.
|
8. Return rval.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
/*---
|
/*---
|
||||||
esid: sec-assignment-operators-runtime-semantics-evaluation
|
esid: sec-assignment-operators-runtime-semantics-evaluation
|
||||||
description: Logical Nullish Assignment Operator
|
description: Logical Nullish Assignment Operator
|
||||||
features: [BigInt]
|
features: [BigInt, logical-assignment-operators]
|
||||||
info: |
|
info: |
|
||||||
AssignmentExpression:
|
AssignmentExpression:
|
||||||
LeftHandSideExpression ??= AssignmentExpression
|
LeftHandSideExpression ??= AssignmentExpression
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
esid: sec-assignment-operators-runtime-semantics-evaluation
|
esid: sec-assignment-operators-runtime-semantics-evaluation
|
||||||
description: >
|
description: >
|
||||||
The LeftHandSideExpression is evaluated before the AssignmentExpression.
|
The LeftHandSideExpression is evaluated before the AssignmentExpression.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(??=) is a reference to a data property with the
|
Assignment operator(??=) is a reference to a data property with the
|
||||||
attribute value {[[Set]]:undefined} and PutValue step is reached.
|
attribute value {[[Set]]:undefined} and PutValue step is reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(??=) is a reference to a data property with the
|
Assignment operator(??=) is a reference to a data property with the
|
||||||
attribute value {[[Set]]:undefined} and PutValue step is not reached.
|
attribute value {[[Set]]:undefined} and PutValue step is not reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(??=) is a reference to a non-existent property
|
Assignment operator(??=) is a reference to a non-existent property
|
||||||
of an object whose [[Extensible]] internal property is false.
|
of an object whose [[Extensible]] internal property is false.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ description: >
|
|||||||
negative:
|
negative:
|
||||||
phase: parse
|
phase: parse
|
||||||
type: SyntaxError
|
type: SyntaxError
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(??=) is a reference to a data property with the
|
Assignment operator(??=) is a reference to a data property with the
|
||||||
attribute value {[[Writable]]:false} and PutValue step is reached.
|
attribute value {[[Writable]]:false} and PutValue step is reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(??=) is a reference to a data property with the
|
Assignment operator(??=) is a reference to a data property with the
|
||||||
attribute value {[[Writable]]:false} and PutValue step is not reached.
|
attribute value {[[Writable]]:false} and PutValue step is not reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ description: >
|
|||||||
ReferenceError is thrown if the LeftHandSideExpression of a Logical
|
ReferenceError is thrown if the LeftHandSideExpression of a Logical
|
||||||
Assignment operator(??=) evaluates to an unresolvable reference
|
Assignment operator(??=) evaluates to an unresolvable reference
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ description: >
|
|||||||
ReferenceError is thrown if the AssignmentExpression of a Logical
|
ReferenceError is thrown if the AssignmentExpression of a Logical
|
||||||
Assignment operator(??=) evaluates to an unresolvable reference and the
|
Assignment operator(??=) evaluates to an unresolvable reference and the
|
||||||
AssignmentExpression is evaluated.
|
AssignmentExpression is evaluated.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ description: >
|
|||||||
ReferenceError is not thrown if the AssignmentExpression of a Logical
|
ReferenceError is not thrown if the AssignmentExpression of a Logical
|
||||||
Assignment operator(??=) evaluates to an unresolvable reference and the
|
Assignment operator(??=) evaluates to an unresolvable reference and the
|
||||||
AssignmentExpression is not evaluated.
|
AssignmentExpression is not evaluated.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@ info: |
|
|||||||
5. Let rval be ? GetValue(rref).
|
5. Let rval be ? GetValue(rref).
|
||||||
6. Perform ? PutValue(lref, rval).
|
6. Perform ? PutValue(lref, rval).
|
||||||
7. Return rval.
|
7. Return rval.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
/*---
|
/*---
|
||||||
esid: sec-assignment-operators-runtime-semantics-evaluation
|
esid: sec-assignment-operators-runtime-semantics-evaluation
|
||||||
description: Logical Or Assignment Operator
|
description: Logical Or Assignment Operator
|
||||||
features: [BigInt]
|
features: [BigInt, logical-assignment-operators]
|
||||||
info: |
|
info: |
|
||||||
AssignmentExpression:
|
AssignmentExpression:
|
||||||
LeftHandSideExpression ||= AssignmentExpression
|
LeftHandSideExpression ||= AssignmentExpression
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
esid: sec-assignment-operators-runtime-semantics-evaluation
|
esid: sec-assignment-operators-runtime-semantics-evaluation
|
||||||
description: >
|
description: >
|
||||||
The LeftHandSideExpression is evaluated before the AssignmentExpression.
|
The LeftHandSideExpression is evaluated before the AssignmentExpression.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(||=) is a reference to a data property with the
|
Assignment operator(||=) is a reference to a data property with the
|
||||||
attribute value {[[Set]]:undefined} and PutValue step is reached.
|
attribute value {[[Set]]:undefined} and PutValue step is reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(||=) is a reference to a data property with the
|
Assignment operator(||=) is a reference to a data property with the
|
||||||
attribute value {[[Set]]:undefined} and PutValue step is not reached.
|
attribute value {[[Set]]:undefined} and PutValue step is not reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(||=) is a reference to a non-existent property
|
Assignment operator(||=) is a reference to a non-existent property
|
||||||
of an object whose [[Extensible]] internal property is false.
|
of an object whose [[Extensible]] internal property is false.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ description: >
|
|||||||
negative:
|
negative:
|
||||||
phase: parse
|
phase: parse
|
||||||
type: SyntaxError
|
type: SyntaxError
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(||=) is a reference to a data property with the
|
Assignment operator(||=) is a reference to a data property with the
|
||||||
attribute value {[[Writable]]:false} and PutValue step is reached.
|
attribute value {[[Writable]]:false} and PutValue step is reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: >
|
|||||||
Assignment operator(||=) is a reference to a data property with the
|
Assignment operator(||=) is a reference to a data property with the
|
||||||
attribute value {[[Writable]]:false} and PutValue step is not reached.
|
attribute value {[[Writable]]:false} and PutValue step is not reached.
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ description: >
|
|||||||
ReferenceError is thrown if the LeftHandSideExpression of a Logical
|
ReferenceError is thrown if the LeftHandSideExpression of a Logical
|
||||||
Assignment operator(||=) evaluates to an unresolvable reference
|
Assignment operator(||=) evaluates to an unresolvable reference
|
||||||
flags: [onlyStrict]
|
flags: [onlyStrict]
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ description: >
|
|||||||
ReferenceError is thrown if the AssignmentExpression of a Logical
|
ReferenceError is thrown if the AssignmentExpression of a Logical
|
||||||
Assignment operator(||=) evaluates to an unresolvable reference and the
|
Assignment operator(||=) evaluates to an unresolvable reference and the
|
||||||
AssignmentExpression is evaluated.
|
AssignmentExpression is evaluated.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ description: >
|
|||||||
ReferenceError is not thrown if the AssignmentExpression of a Logical
|
ReferenceError is not thrown if the AssignmentExpression of a Logical
|
||||||
Assignment operator(||=) evaluates to an unresolvable reference and the
|
Assignment operator(||=) evaluates to an unresolvable reference and the
|
||||||
AssignmentExpression is not evaluated.
|
AssignmentExpression is not evaluated.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ info: |
|
|||||||
6. Let rval be ? GetValue(rref).
|
6. Let rval be ? GetValue(rref).
|
||||||
7. Perform ? PutValue(lref, rval).
|
7. Perform ? PutValue(lref, rval).
|
||||||
8. Return rval.
|
8. Return rval.
|
||||||
|
features: [logical-assignment-operators]
|
||||||
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user