// 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);