Name Description Size Coverage
11.4.5-2-2gs-strict.js --- es5id: 11.4.5-2-2gs description: > Strict Mode - SyntaxError is throw if the UnaryExpression operated upon by a Prefix Decrement operator(--arguments) negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 450 -
11.4.5-2-3-s.js --- es5id: 11.4.5-2-3-s description: SyntaxError is not thrown for --arguments[...] --- 400 -
arguments-nostrict.js --- esid: sec-update-expressions 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 -- 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] --- 827 -
arguments-strict.js --- esid: sec-update-expressions description: > It is an early Syntax Error if AssignmentTargetType of UnaryExpression is strict. (arguments) info: | sec-identifiers-static-semantics-assignmenttargettype If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return strict. sec-update-expressions-static-semantics-early-errors UpdateExpression: -- UnaryExpression It is an early Syntax Error if AssignmentTargetType of UnaryExpression is strict. flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 818 -
bigint.js --- description: Prefix decrement for references to BigInt values esid: sec-prefix-decrement-operator-runtime-semantics-evaluation info: | 1. Let expr be the result of evaluating UnaryExpression. 2. Let oldValue be ? ToNumeric(? GetValue(expr)). 3. Let newValue be ? Type(oldvalue)::subtract(oldValue, Type(oldValue)::unit). 4. Perform ? PutValue(expr, newValue). 5. Return newValue. features: [BigInt] --- 2605 -
browser.js 0 -
eval-nostrict.js --- esid: sec-update-expressions description: > In non-strict code, "--eval" 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 -- 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] --- 800 -
eval-strict.js --- esid: sec-update-expressions description: > It is an early Syntax Error if AssignmentTargetType of UnaryExpression is strict. (eval) info: | sec-identifiers-static-semantics-assignmenttargettype If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return strict. sec-update-expressions-static-semantics-early-errors UpdateExpression: -- UnaryExpression It is an early Syntax Error if AssignmentTargetType of UnaryExpression is strict. flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 808 -
operator-prefix-decrement-x-calls-putvalue-lhs-newvalue--1.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Operator --x calls PutValue(lhs, newValue) (formerly S11.4.5_A5_T5) info: | The concrete Environment Record method SetMutableBinding for object Environment Records attempts to set the value of the Environment Record's associated binding object's property whose name is the value of the argument N to the value of argument V. A property named N normally already exists but if it does not or is not currently writable, error handling is determined by the value of the Boolean argument S. Let stillExists be ? HasProperty(bindings, N). If stillExists is false and S is true, throw a ReferenceError exception. flags: [noStrict] --- 1195 -
operator-prefix-decrement-x-calls-putvalue-lhs-newvalue-.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Operator --x calls PutValue(lhs, newValue) (formerly S11.4.5_A5_T4) info: | The concrete Environment Record method SetMutableBinding for object Environment Records attempts to set the value of the Environment Record's associated binding object's property whose name is the value of the argument N to the value of argument V. A property named N normally already exists but if it does not or is not currently writable, error handling is determined by the value of the Boolean argument S. Let stillExists be ? HasProperty(bindings, N). If stillExists is false and S is true, throw a ReferenceError exception. flags: [noStrict] --- 1179 -
S11.4.5_A2.1_T1.js --- info: Operator --x uses GetValue and PutValue es5id: 11.4.5_A2.1_T1 description: Type(x) is Reference and GetBase(x) is not null --- 1203 -
S11.4.5_A2.1_T2.js --- info: Operator --x uses GetValue and PutValue es5id: 11.4.5_A2.1_T2 description: If GetBase(x) is null, throw ReferenceError --- 544 -
S11.4.5_A2.2_T1.js --- info: Operator --x uses [[Default Value]] es5id: 11.4.5_A2.2_T1 description: If Type(value) is Object, evaluate ToPrimitive(value, Number) --- 4381 -
S11.4.5_A3_T1.js --- info: Operator --x returns x = ToNumber(x) - 1 es5id: 11.4.5_A3_T1 description: Type(x) is boolean primitive or Boolean object --- 586 -
S11.4.5_A3_T2.js --- info: Operator --x returns x = ToNumber(x) - 1 es5id: 11.4.5_A3_T2 description: Type(x) is number primitive or Number object --- 588 -
S11.4.5_A3_T3.js --- info: Operator --x returns x = ToNumber(x) - 1 es5id: 11.4.5_A3_T3 description: Type(x) is primitive string or String object --- 724 -
S11.4.5_A3_T4.js --- info: Operator --x returns x = ToNumber(x) - 1 es5id: 11.4.5_A3_T4 description: Type(x) is undefined or null --- 533 -
S11.4.5_A3_T5.js --- info: Operator --x returns x = ToNumber(x) - 1 es5id: 11.4.5_A3_T5 description: Type(x) is Object object or Function object --- 611 -
S11.4.5_A4_T1.js --- info: Operator --x returns ToNumber(x) - 1 es5id: 11.4.5_A4_T1 description: Type(x) is boolean primitive or Boolean object --- 572 -
S11.4.5_A4_T2.js --- info: Operator --x returns ToNumber(x) - 1 es5id: 11.4.5_A4_T2 description: Type(x) is number primitive or Number object --- 573 -
S11.4.5_A4_T3.js --- info: Operator --x returns ToNumber(x) - 1 es5id: 11.4.5_A4_T3 description: Type(x) is string primitive or String object --- 705 -
S11.4.5_A4_T4.js --- info: Operator --x returns ToNumber(x) - 1 es5id: 11.4.5_A4_T4 description: Type(x) is undefined or null --- 520 -
S11.4.5_A4_T5.js --- info: Operator --x returns ToNumber(x) - 1 es5id: 11.4.5_A4_T5 description: Type(x) is Object object or Function object --- 597 -
S11.4.5_A5_T1.js --- info: Operator --x calls PutValue(lhs, newValue) es5id: S11.4.5_A5_T1 description: > Evaluating LeftHandSideExpression lhs returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lhs, newValue) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. flags: [noStrict] --- 982 -
S11.4.5_A5_T2.js --- info: Operator --x calls PutValue(lhs, newValue) es5id: S11.4.5_A5_T2 description: > Evaluating LeftHandSideExpression lhs returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lhs, newValue) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. flags: [noStrict] --- 904 -
S11.4.5_A5_T3.js --- info: Operator --x calls PutValue(lhs, newValue) es5id: S11.4.5_A5_T3 description: > Evaluating LeftHandSideExpression lhs returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lhs, newValue) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. flags: [noStrict] --- 1008 -
S11.4.5_A6_T1.js --- info: Operator --x evaluates its reference expression once. description: > The operand expression is evaluated exactly once. Operand expression is MemberExpression: base[prop]. base is the null value. --- 730 -
S11.4.5_A6_T2.js --- info: Operator --x evaluates its reference expression once. description: > The operand expression is evaluated exactly once. Operand expression is MemberExpression: base[prop]. base is the undefined value. --- 745 -
S11.4.5_A6_T3.js --- info: Operator --x evaluates its reference expression once. description: > The operand expression is evaluated exactly once. Operand expression is MemberExpression: base[prop]. ToPropertyKey(prop) is not called multiple times. --- 584 -
shell.js 0 -
target-cover-id.js --- esid: sec-unary-operators-static-semantics-early-errors es6id: 12.5.1 es5id: 11.1.6_A3_T5 description: Applied to a "covered" IdentifierReference info: | UnaryExpression : ++ UnaryExpression -- UnaryExpression - It is an early Reference Error if IsValidSimpleAssignmentTarget of UnaryExpression is false. Static Semantics: IsValidSimpleAssignmentTarget IdentifierReference : Identifier 1. If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return false. 2. Return true. --- 780 -
target-cover-newtarget.js --- esid: sec-update-expressions-static-semantics-early-errors description: Applied to a "covered" new.target info: | UnaryExpression : ++ UnaryExpression -- UnaryExpression - It is an early Syntax Error if IsValidSimpleAssignmentTarget of UnaryExpression is invalid or strict. 12.3.1.6 Static Semantics: AssignmentTargetType NewTarget: new.target 1. Return invalid. negative: phase: parse type: SyntaxError features: [new.target] --- 696 -
target-cover-yieldexpr.js --- esid: sec-update-expressions-static-semantics-early-errors description: Applied to a "covered" YieldExpression info: | UnaryExpression : ++ UnaryExpression -- UnaryExpression - It is an early Syntax Error if IsValidSimpleAssignmentTarget of UnaryExpression is invalid or strict. 12.15.3 Static Semantics: AssignmentTargetType AssignmentExpression: YieldExpression ArrowFunction AsyncArrowFunction LeftHandSideExpression = AssignmentExpression LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Return invalid. features: [generators] negative: phase: parse type: SyntaxError --- 871 -
target-newtarget.js --- esid: sec-update-expressions-static-semantics-early-errors description: Applied to new.target info: | UnaryExpression : ++ UnaryExpression -- UnaryExpression - It is an early Syntax Error if IsValidSimpleAssignmentTarget of UnaryExpression is invalid or strict. 12.3.1.6 Static Semantics: AssignmentTargetType NewTarget: new.target 1. Return invalid. negative: phase: parse type: SyntaxError features: [new.target] --- 682 -
this.js --- esid: sec-update-expressions-static-semantics-early-errors description: > It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple. (this) info: | sec-static-semantics-assignmenttargettype PrimaryExpression: this Return invalid. sec-update-expressions-static-semantics-early-errors UpdateExpression: -- UnaryExpression It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple. negative: phase: parse type: SyntaxError --- 728 -
whitespace.js --- description: | White Space and Line Terminator between "--" and UnaryExpression are allowed es5id: 11.4.5_A1 esid: sec-prefix-decrement-operator --- 1470 -