Source code
Revision control
Copy as Markdown
Other Tools
// Copyright (c) 2018 Rick Waldron. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-update-expressions-static-semantics-early-errors
description: >
In non-strict code, "arguments++" does not produce an early error.
info: |
sec-identifiers-static-semantics-assignmenttargettype
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]
---*/
if (false) {
arguments++;
}
reportCompare(0, 0);