mirror of https://github.com/tc39/test262.git
UpdateExpressions: No early error for arguments and eval in non-strict mode
According to sec-identifiers-static-semantics-assignmenttargettype, `AssignmentTargetType` of `arguments` and `eval` in non-strict mode code is `simple`. sec-update-expressions-static-semantics-early-errors mandates early errors for `UpdateExpression` if `AssignmentTargetType` is `invalid` or `strict`.
This commit is contained in:
parent
116c95d97c
commit
04a41383b5
|
@ -7,24 +7,19 @@ description: >
|
|||
It is an early Reference Error if AssignmentTargetType of LeftHandSideExpression is invalid. (arguments)
|
||||
info: |
|
||||
|
||||
sec-update-expressions-static-semantics-assignmenttargettype
|
||||
sec-identifiers-static-semantics-assignmenttargettype
|
||||
|
||||
UpdateExpression : LeftHandSideExpression --
|
||||
|
||||
Return invalid.
|
||||
1. If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return strict.
|
||||
2. Return simple.
|
||||
|
||||
sec-update-expressions-static-semantics-early-errors
|
||||
|
||||
UpdateExpression : LeftHandSideExpression --
|
||||
|
||||
It is an early Reference Error if AssignmentTargetType of LeftHandSideExpression is invalid.
|
||||
It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is strict.
|
||||
|
||||
flags: [noStrict]
|
||||
negative:
|
||||
phase: parse
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
arguments--;
|
||||
|
|
|
@ -7,24 +7,19 @@ description: >
|
|||
It is an early Reference Error if AssignmentTargetType of LeftHandSideExpression is invalid. (eval)
|
||||
info: |
|
||||
|
||||
sec-update-expressions-static-semantics-assignmenttargettype
|
||||
sec-identifiers-static-semantics-assignmenttargettype
|
||||
|
||||
UpdateExpression : LeftHandSideExpression --
|
||||
|
||||
Return invalid.
|
||||
1. If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return strict.
|
||||
2. Return simple.
|
||||
|
||||
sec-update-expressions-static-semantics-early-errors
|
||||
|
||||
UpdateExpression : LeftHandSideExpression --
|
||||
|
||||
It is an early Reference Error if AssignmentTargetType of LeftHandSideExpression is invalid.
|
||||
It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is strict.
|
||||
|
||||
flags: [noStrict]
|
||||
negative:
|
||||
phase: parse
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
eval--;
|
||||
|
|
|
@ -7,24 +7,19 @@ description: >
|
|||
It is an early Reference Error if AssignmentTargetType of LeftHandSideExpression is invalid. (arguments)
|
||||
info: |
|
||||
|
||||
sec-update-expressions-static-semantics-assignmenttargettype
|
||||
sec-identifiers-static-semantics-assignmenttargettype
|
||||
|
||||
UpdateExpression : LeftHandSideExpression ++
|
||||
|
||||
Return invalid.
|
||||
1. If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return strict.
|
||||
2. Return simple.
|
||||
|
||||
sec-update-expressions-static-semantics-early-errors
|
||||
|
||||
UpdateExpression : LeftHandSideExpression ++
|
||||
|
||||
It is an early Reference Error if AssignmentTargetType of LeftHandSideExpression is invalid.
|
||||
It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is strict.
|
||||
|
||||
flags: [noStrict]
|
||||
negative:
|
||||
phase: parse
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
arguments++;
|
||||
|
|
|
@ -7,24 +7,19 @@ description: >
|
|||
It is an early Reference Error if AssignmentTargetType of LeftHandSideExpression is invalid. (eval)
|
||||
info: |
|
||||
|
||||
sec-update-expressions-static-semantics-assignmenttargettype
|
||||
sec-identifiers-static-semantics-assignmenttargettype
|
||||
|
||||
UpdateExpression : LeftHandSideExpression ++
|
||||
|
||||
Return invalid.
|
||||
1. If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return strict.
|
||||
2. Return simple.
|
||||
|
||||
sec-update-expressions-static-semantics-early-errors
|
||||
|
||||
UpdateExpression : LeftHandSideExpression ++
|
||||
|
||||
It is an early Reference Error if AssignmentTargetType of LeftHandSideExpression is invalid.
|
||||
It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is strict.
|
||||
|
||||
flags: [noStrict]
|
||||
negative:
|
||||
phase: parse
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
eval++;
|
||||
|
|
|
@ -7,24 +7,19 @@ description: >
|
|||
It is an early Reference Error if AssignmentTargetType of UnaryExpression is invalid. (arguments)
|
||||
info: |
|
||||
|
||||
sec-update-expressions-static-semantics-assignmenttargettype
|
||||
sec-identifiers-static-semantics-assignmenttargettype
|
||||
|
||||
UpdateExpression : -- UnaryExpression
|
||||
|
||||
Return invalid.
|
||||
1. If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return strict.
|
||||
2. Return simple.
|
||||
|
||||
sec-update-expressions-static-semantics-early-errors
|
||||
|
||||
UpdateExpression -- UnaryExpression
|
||||
|
||||
It is an early Reference Error if AssignmentTargetType of UnaryExpression is invalid.
|
||||
It is an early Syntax Error if AssignmentTargetType of UnaryExpression is strict.
|
||||
|
||||
flags: [noStrict]
|
||||
negative:
|
||||
phase: parse
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
--arguments;
|
||||
|
|
|
@ -7,24 +7,19 @@ description: >
|
|||
It is an early Reference Error if AssignmentTargetType of UnaryExpression is invalid. (eval)
|
||||
info: |
|
||||
|
||||
sec-update-expressions-static-semantics-assignmenttargettype
|
||||
sec-identifiers-static-semantics-assignmenttargettype
|
||||
|
||||
UpdateExpression : -- UnaryExpression
|
||||
|
||||
Return invalid.
|
||||
1. If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return strict.
|
||||
2. Return simple.
|
||||
|
||||
sec-update-expressions-static-semantics-early-errors
|
||||
|
||||
UpdateExpression -- UnaryExpression
|
||||
|
||||
It is an early Reference Error if AssignmentTargetType of UnaryExpression is invalid.
|
||||
It is an early Syntax Error if AssignmentTargetType of UnaryExpression is strict.
|
||||
|
||||
flags: [noStrict]
|
||||
negative:
|
||||
phase: parse
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
--eval;
|
||||
|
|
|
@ -7,24 +7,19 @@ description: >
|
|||
It is an early Reference Error if AssignmentTargetType of UnaryExpression is invalid. (arguments)
|
||||
info: |
|
||||
|
||||
sec-update-expressions-static-semantics-assignmenttargettype
|
||||
sec-identifiers-static-semantics-assignmenttargettype
|
||||
|
||||
UpdateExpression : ++ UnaryExpression
|
||||
|
||||
Return invalid.
|
||||
1. If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return strict.
|
||||
2. Return simple.
|
||||
|
||||
sec-update-expressions-static-semantics-early-errors
|
||||
|
||||
UpdateExpression ++ UnaryExpression
|
||||
|
||||
It is an early Reference Error if AssignmentTargetType of UnaryExpression is invalid.
|
||||
It is an early Syntax Error if AssignmentTargetType of UnaryExpression is strict.
|
||||
|
||||
flags: [noStrict]
|
||||
negative:
|
||||
phase: parse
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
++arguments;
|
||||
|
|
|
@ -7,24 +7,19 @@ description: >
|
|||
It is an early Reference Error if AssignmentTargetType of UnaryExpression is invalid. (eval)
|
||||
info: |
|
||||
|
||||
sec-update-expressions-static-semantics-assignmenttargettype
|
||||
sec-identifiers-static-semantics-assignmenttargettype
|
||||
|
||||
UpdateExpression : ++ UnaryExpression
|
||||
|
||||
Return invalid.
|
||||
1. If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return strict.
|
||||
2. Return simple.
|
||||
|
||||
sec-update-expressions-static-semantics-early-errors
|
||||
|
||||
UpdateExpression ++ UnaryExpression
|
||||
|
||||
It is an early Reference Error if AssignmentTargetType of UnaryExpression is invalid.
|
||||
It is an early Syntax Error if AssignmentTargetType of UnaryExpression is strict.
|
||||
|
||||
flags: [noStrict]
|
||||
negative:
|
||||
phase: parse
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
++eval;
|
||||
|
|
Loading…
Reference in New Issue