Name Description Size
11.13.2-1-s.js --- es5id: 11.13.2-1-s description: > ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(*=) evaluates to an unresolvable reference --- 431
11.13.2-2-s.js --- es5id: 11.13.2-2-s description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(/=) evaluates to an unresolvable reference --- 445
11.13.2-4-s.js --- es5id: 11.13.2-4-s description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(+=) evaluates to an unresolvable reference --- 449
11.13.2-5-s.js --- es5id: 11.13.2-5-s description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(-=) evaluates to an unresolvable reference --- 449
11.13.2-6-1gs-strict.js --- es5id: 11.13.2-6-1gs description: > Strict Mode - SyntaxError is throw if the identifier eval appears as the LeftHandSideExpression of a Compound Assignment operator(*=) negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 468
11.13.2-6-s.js --- es5id: 11.13.2-6-s description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(<<=) evaluates to an unresolvable reference --- 451
11.13.2-8-s.js --- es5id: 11.13.2-8-s description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(>>>=) evaluates to an unresolvable reference --- 453
11.13.2-9-s.js --- es5id: 11.13.2-9-s description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(&=) evaluates to an unresolvable reference --- 449
11.13.2-10-s.js --- es5id: 11.13.2-10-s description: > ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(^=) evaluates to an unresolvable reference --- 433
11.13.2-11-s.js --- es5id: 11.13.2-11-s description: > ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(|=) evaluates to an unresolvable reference --- 433
11.13.2-12-s.js --- es5id: 11.13.2-12-s description: > ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(*=) evaluates to a resolvable reference --- 451
11.13.2-13-s.js --- es5id: 11.13.2-13-s description: > ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(/=) evaluates to a resolvable reference --- 450
11.13.2-14-s.js --- es5id: 11.13.2-14-s description: > ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(%=) evaluates to a resolvable reference --- 450
11.13.2-15-s.js --- es5id: 11.13.2-15-s description: > ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(>>>=) evaluates to a resolvable reference --- 454
11.13.2-16-s.js --- es5id: 11.13.2-16-s description: > ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(-=) evaluates to a resolvable reference --- 450
11.13.2-17-s.js --- es5id: 11.13.2-17-s description: > ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(<<=) evaluates to a resolvable reference --- 453
11.13.2-18-s.js --- es5id: 11.13.2-18-s description: > ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(>>=) evaluates to a resolvable reference --- 452
11.13.2-19-s.js --- es5id: 11.13.2-19-s description: > ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(+=) evaluates to a resolvable reference --- 452
11.13.2-20-s.js --- es5id: 11.13.2-20-s description: > ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(&=) evaluates to a resolvable reference --- 450
11.13.2-21-s.js --- es5id: 11.13.2-21-s description: > ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(^=) evaluates to a resolvable reference --- 450
11.13.2-22-s.js --- es5id: 11.13.2-22-s description: > ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(|=) evaluates to a resolvable reference --- 450
11.13.2-23-s-strict.js --- es5id: 11.13.2-23-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] --- 730
11.13.2-24-s-strict.js --- es5id: 11.13.2-24-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] --- 730
11.13.2-25-s-strict.js --- es5id: 11.13.2-25-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] --- 730
11.13.2-26-s-strict.js --- es5id: 11.13.2-26-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] --- 730
11.13.2-27-s-strict.js --- es5id: 11.13.2-27-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] --- 730
11.13.2-28-s-strict.js --- es5id: 11.13.2-28-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] --- 732
11.13.2-29-s-strict.js --- es5id: 11.13.2-29-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] --- 732
11.13.2-30-s-strict.js --- es5id: 11.13.2-30-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] --- 734
11.13.2-31-s-strict.js --- es5id: 11.13.2-31-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] --- 730
11.13.2-32-s-strict.js --- es5id: 11.13.2-32-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] --- 730
11.13.2-33-s-strict.js --- es5id: 11.13.2-33-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] --- 730
11.13.2-34-s-strict.js --- es5id: 11.13.2-34-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] --- 783
11.13.2-35-s-strict.js --- es5id: 11.13.2-35-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] --- 783
11.13.2-36-s-strict.js --- es5id: 11.13.2-36-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] --- 783
11.13.2-37-s-strict.js --- es5id: 11.13.2-37-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] --- 783
11.13.2-38-s-strict.js --- es5id: 11.13.2-38-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] --- 783
11.13.2-39-s-strict.js --- es5id: 11.13.2-39-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] --- 785
11.13.2-40-s-strict.js --- es5id: 11.13.2-40-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] --- 785
11.13.2-41-s-strict.js --- es5id: 11.13.2-41-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] --- 787
11.13.2-42-s-strict.js --- es5id: 11.13.2-42-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] --- 783
11.13.2-43-s-strict.js --- es5id: 11.13.2-43-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] --- 783
11.13.2-44-s-strict.js --- es5id: 11.13.2-44-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference of to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] --- 786
11.13.2-45-s-strict.js --- es5id: 11.13.2-45-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] --- 581
11.13.2-46-s-strict.js --- es5id: 11.13.2-46-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] --- 581
11.13.2-47-s-strict.js --- es5id: 11.13.2-47-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] --- 581
11.13.2-48-s-strict.js --- es5id: 11.13.2-48-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] --- 581
11.13.2-49-s-strict.js --- es5id: 11.13.2-49-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] --- 581
11.13.2-50-s-strict.js --- es5id: 11.13.2-50-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] --- 583
11.13.2-51-s-strict.js --- es5id: 11.13.2-51-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] --- 583
11.13.2-52-s-strict.js --- es5id: 11.13.2-52-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false flags: [onlyStrict] --- 585
11.13.2-53-s-strict.js --- es5id: 11.13.2-53-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] --- 581
11.13.2-54-s-strict.js --- es5id: 11.13.2-54-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] --- 581
11.13.2-55-s-strict.js --- es5id: 11.13.2-55-s description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] --- 581
add-arguments-strict-strict.js --- es5id: 11.13.2-6-15-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(+=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 514
add-eval-strict-strict.js --- es5id: 11.13.2-6-4-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(+=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 499
add-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Compound addition assignment with non-simple target negative: phase: parse type: SyntaxError --- 491
add-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed es5id: 11.13.2_A1_T4 esid: sec-assignment-operators description: Checking by using eval, check operator is x += y --- 1682
and-arguments-strict-strict.js --- es5id: 11.13.2-6-20-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(&=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 514
and-eval-strict-strict.js --- es5id: 11.13.2-6-9-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(&=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 499
and-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed es5id: 11.13.2_A1_T9 esid: sec-assignment-operators description: Checking by using eval, check operator is x &= y --- 1642
browser.js 0
btws-and-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Compound "bitwise and" assignment with non-simple target negative: phase: parse type: SyntaxError --- 496
btws-or-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Compound "bitwise or" assignment with non-simple target negative: phase: parse type: SyntaxError --- 495
btws-xor-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Compound "bitwise xor" assignment with non-simple target negative: phase: parse type: SyntaxError --- 496
compound-assignment-operator-calls-putvalue-lref--v--1.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.10_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] --- 1213
compound-assignment-operator-calls-putvalue-lref--v--2.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.11_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] --- 1196
compound-assignment-operator-calls-putvalue-lref--v--3.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.11_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] --- 1212
compound-assignment-operator-calls-putvalue-lref--v--4.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.1_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] --- 1195
compound-assignment-operator-calls-putvalue-lref--v--5.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.1_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] --- 1211
compound-assignment-operator-calls-putvalue-lref--v--6.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.2_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] --- 1195
compound-assignment-operator-calls-putvalue-lref--v--7.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.2_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] --- 1211
compound-assignment-operator-calls-putvalue-lref--v--8.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.3_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] --- 1195
compound-assignment-operator-calls-putvalue-lref--v--9.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.3_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] --- 1211
compound-assignment-operator-calls-putvalue-lref--v--10.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.4_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] --- 1196
compound-assignment-operator-calls-putvalue-lref--v--11.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.4_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] --- 1212
compound-assignment-operator-calls-putvalue-lref--v--12.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.5_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] --- 1194
compound-assignment-operator-calls-putvalue-lref--v--13.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.5_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] --- 1211
compound-assignment-operator-calls-putvalue-lref--v--14.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.6_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] --- 1196
compound-assignment-operator-calls-putvalue-lref--v--15.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.6_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] --- 1212
compound-assignment-operator-calls-putvalue-lref--v--16.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.7_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] --- 1197
compound-assignment-operator-calls-putvalue-lref--v--17.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.7_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] --- 1213
compound-assignment-operator-calls-putvalue-lref--v--18.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.8_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] --- 1198
compound-assignment-operator-calls-putvalue-lref--v--19.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.8_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] --- 1214
compound-assignment-operator-calls-putvalue-lref--v--20.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.9_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] --- 1195
compound-assignment-operator-calls-putvalue-lref--v--21.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.9_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] --- 1211
compound-assignment-operator-calls-putvalue-lref--v-.js --- esid: sec-object-environment-records-setmutablebinding-n-v-s description: > Compound Assignment Operator calls PutValue(lref, v) (formerly S11.13.2_A5.10_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] --- 1196
div-arguments-strict-strict.js --- es5id: 11.13.2-6-13-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(/=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 514
div-eval-strict-strict.js --- es5id: 11.13.2-6-2-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(/=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 499
div-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Compound division assignment with non-simple target negative: phase: parse type: SyntaxError --- 491
div-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed es5id: 11.13.2_A1_T2 esid: sec-assignment-operators description: Checking by using eval, check operator is x /= y --- 1662
left-hand-side-private-reference-accessor-property-add.js --- description: Compound addition assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2112
left-hand-side-private-reference-accessor-property-bitand.js --- description: Compound bitwise-and assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2138
left-hand-side-private-reference-accessor-property-bitor.js --- description: Compound bitwise-or assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2136
left-hand-side-private-reference-accessor-property-bitxor.js --- description: Compound bitwise-xor assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2138
left-hand-side-private-reference-accessor-property-div.js --- description: Compound division assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2116
left-hand-side-private-reference-accessor-property-exp.js --- description: Compound exponentiation assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [exponentiation, class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2142
left-hand-side-private-reference-accessor-property-lshift.js --- description: Compound left-shift assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2141
left-hand-side-private-reference-accessor-property-mod.js --- description: Compound modulo assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2110
left-hand-side-private-reference-accessor-property-mult.js --- description: Compound multiplication assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2119
left-hand-side-private-reference-accessor-property-rshift.js --- description: Compound right-shift assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2135
left-hand-side-private-reference-accessor-property-srshift.js --- description: Compound signed-right-shift assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2142
left-hand-side-private-reference-accessor-property-sub.js --- description: Compound subtraction assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). --- 2115
left-hand-side-private-reference-data-property-add.js --- description: Compound addition assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1880
left-hand-side-private-reference-data-property-bitand.js --- description: Compound bitwise-and assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1906
left-hand-side-private-reference-data-property-bitor.js --- description: Compound bitwise-or assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1904
left-hand-side-private-reference-data-property-bitxor.js --- description: Compound bitwise-xor assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1906
left-hand-side-private-reference-data-property-div.js --- description: Compound division assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1884
left-hand-side-private-reference-data-property-exp.js --- description: Compound exponentiation assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [exponentiation, class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1910
left-hand-side-private-reference-data-property-lshift.js --- description: Compound left-shift assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1909
left-hand-side-private-reference-data-property-mod.js --- description: Compound modulo assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1878
left-hand-side-private-reference-data-property-mult.js --- description: Compound multiplication assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1887
left-hand-side-private-reference-data-property-rshift.js --- description: Compound right-shift assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1903
left-hand-side-private-reference-data-property-srshift.js --- description: Compound signed-right-shift assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1910
left-hand-side-private-reference-data-property-sub.js --- description: Compound subtraction assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. --- 1883
left-hand-side-private-reference-method-add.js --- description: Compound addition assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1794
left-hand-side-private-reference-method-bitand.js --- description: Compound bitwise-and assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1800
left-hand-side-private-reference-method-bitor.js --- description: Compound bitwise-or assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1798
left-hand-side-private-reference-method-bitxor.js --- description: Compound bitwise-xor assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1800
left-hand-side-private-reference-method-div.js --- description: Compound division assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1794
left-hand-side-private-reference-method-exp.js --- description: Compound exponentiation assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [exponentiation, class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1817
left-hand-side-private-reference-method-lshift.js --- description: Compound left-shift assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1800
left-hand-side-private-reference-method-mod.js --- description: Compound modulo assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1792
left-hand-side-private-reference-method-mult.js --- description: Compound multiplication assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1801
left-hand-side-private-reference-method-rshift.js --- description: Compound right-shift assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1802
left-hand-side-private-reference-method-srshift.js --- description: Compound signed-right-shift assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1809
left-hand-side-private-reference-method-sub.js --- description: Compound subtraction assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. --- 1797
left-hand-side-private-reference-readonly-accessor-property-add.js --- description: Compound addition assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1830
left-hand-side-private-reference-readonly-accessor-property-bitand.js --- description: Compound bitwise-and assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1836
left-hand-side-private-reference-readonly-accessor-property-bitor.js --- description: Compound bitwise-or assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1834
left-hand-side-private-reference-readonly-accessor-property-bitxor.js --- description: Compound bitwise-xor assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1836
left-hand-side-private-reference-readonly-accessor-property-div.js --- description: Compound division assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1830
left-hand-side-private-reference-readonly-accessor-property-exp.js --- description: Compound exponentiation assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [exponentiation, class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1853
left-hand-side-private-reference-readonly-accessor-property-lshift.js --- description: Compound left-shift assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1836
left-hand-side-private-reference-readonly-accessor-property-mod.js --- description: Compound modulo assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1828
left-hand-side-private-reference-readonly-accessor-property-mult.js --- description: Compound multiplication assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1837
left-hand-side-private-reference-readonly-accessor-property-rshift.js --- description: Compound right-shift assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1838
left-hand-side-private-reference-readonly-accessor-property-srshift.js --- description: Compound signed-right-shift assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1845
left-hand-side-private-reference-readonly-accessor-property-sub.js --- description: Compound subtraction assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private] flags: [generated] info: | sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). ... 7. Let _r_ be ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). 8. Perform ? PutValue(_lref_, _r_). 9. Return _r_. sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. --- 1833
left-shift-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Compound "left shift" assignment with non-simple target negative: phase: parse type: SyntaxError --- 496
lshift-arguments-strict-strict.js --- es5id: 11.13.2-6-17-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(<<=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 516
lshift-eval-strict-strict.js --- es5id: 11.13.2-6-6-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(<<=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 505
lshift-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed es5id: 11.13.2_A1_T6 esid: sec-assignment-operators description: Checking by using eval, check operator is x <<= y --- 1653
mod-arguments-strict-strict.js --- es5id: 11.13.2-6-14-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(%=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 514
mod-div-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Compound "modular division" assignment with non-simple target negative: phase: parse type: SyntaxError --- 501
mod-eval-strict-strict.js --- es5id: 11.13.2-6-3-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(%=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 499
mod-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed es5id: 11.13.2_A1_T3 esid: sec-assignment-operators description: Checking by using eval, check operator is x %= y --- 1682
mult-arguments-strict-strict.js --- es5id: 11.13.2-6-12-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(*=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 514
mult-eval-strict-strict.js --- es5id: 11.13.2-6-1-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(*=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 499
mult-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Compound multiplication assignment with non-simple target negative: phase: parse type: SyntaxError --- 497
mult-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed es5id: 11.13.2_A1_T1 esid: sec-assignment-operators description: Checking by using eval, check operator is x *= y --- 1662
or-arguments-strict-strict.js --- es5id: 11.13.2-6-22-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(|=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 514
or-eval-strict-strict.js --- es5id: 11.13.2-6-11-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(|=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 500
or-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed es5id: 11.13.2_A1_T11 esid: sec-assignment-operators description: Checking by using eval, check operator is x |= y --- 1643
right-shift-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Compound "right shift" assignment with non-simple target negative: phase: parse type: SyntaxError --- 497
S11.13.2_A2.1_T1.1.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T1.1 description: > Either Type is not Reference or GetBase is not null, check opeartor is "x *= y" --- 640
S11.13.2_A2.1_T1.2.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T1.2 description: > Either Type is not Reference or GetBase is not null, check opeartor is "x /= y" --- 640
S11.13.2_A2.1_T1.3.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T1.3 description: > Either Type is not Reference or GetBase is not null, check opeartor is "x %= y" --- 640
S11.13.2_A2.1_T1.4.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T1.4 description: > Either Type is not Reference or GetBase is not null, check opeartor is "x += y" --- 632
S11.13.2_A2.1_T1.5.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T1.5 description: > Either Type is not Reference or GetBase is not null, check opeartor is "x -= y" --- 632
S11.13.2_A2.1_T1.6.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T1.6 description: > Either Type is not Reference or GetBase is not null, check opeartor is "x <<= y" --- 637
S11.13.2_A2.1_T1.7.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T1.7 description: > Either Type is not Reference or GetBase is not null, check opeartor is "x >>= y" --- 637
S11.13.2_A2.1_T1.8.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T1.8 description: > Either Type is not Reference or GetBase is not null, check opeartor is "x >>>= y" --- 642
S11.13.2_A2.1_T1.9.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T1.9 description: > Either Type is not Reference or GetBase is not null, check opeartor is "x &= y" --- 632
S11.13.2_A2.1_T1.10.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T1.10 description: > Either Type is not Reference or GetBase is not null, check opeartor is "x ^= y" --- 633
S11.13.2_A2.1_T1.11.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T1.11 description: > Either Type is not Reference or GetBase is not null, check opeartor is "x |= y" --- 633
S11.13.2_A2.1_T2.1.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T2.1 description: > If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x *= y" --- 638
S11.13.2_A2.1_T2.2.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T2.2 description: > If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x /= y" --- 638
S11.13.2_A2.1_T2.3.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T2.3 description: > If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x %= y" --- 638
S11.13.2_A2.1_T2.4.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T2.4 description: > If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x += y" --- 638
S11.13.2_A2.1_T2.5.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T2.5 description: > If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x -= y" --- 638
S11.13.2_A2.1_T2.6.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T2.6 description: > If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x <<= y" --- 642
S11.13.2_A2.1_T2.7.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T2.7 description: > If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x >>= y" --- 642
S11.13.2_A2.1_T2.8.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T2.8 description: > If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x >>>= y" --- 646
S11.13.2_A2.1_T2.9.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T2.9 description: > If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x &= y" --- 638
S11.13.2_A2.1_T2.10.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T2.10 description: > If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x ^= y" --- 639
S11.13.2_A2.1_T2.11.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T2.11 description: > If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x |= y" --- 639
S11.13.2_A2.1_T3.1.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T3.1 description: > If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x *= y" --- 606
S11.13.2_A2.1_T3.2.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T3.2 description: > If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x /= y" --- 606
S11.13.2_A2.1_T3.3.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T3.3 description: > If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x %= y" --- 606
S11.13.2_A2.1_T3.4.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T3.4 description: > If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x += y" --- 606
S11.13.2_A2.1_T3.5.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T3.5 description: > If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x -= y" --- 606
S11.13.2_A2.1_T3.6.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T3.6 description: > If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x <<= y" --- 610
S11.13.2_A2.1_T3.7.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T3.7 description: > If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x >>= y" --- 610
S11.13.2_A2.1_T3.8.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T3.8 description: > If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x >>>= y" --- 614
S11.13.2_A2.1_T3.9.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T3.9 description: > If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x &= y" --- 606
S11.13.2_A2.1_T3.10.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T3.10 description: > If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x ^= y" --- 607
S11.13.2_A2.1_T3.11.js --- info: Operator uses GetValue es5id: 11.13.2_A2.1_T3.11 description: > If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x |= y" --- 607
S11.13.2_A3.1_T1.js --- info: Operator x @= y uses PutValue(x, x @ y) es5id: 11.13.2_A3.1_T1 description: Checking Expression and Variable statements for x *= y --- 558
S11.13.2_A3.1_T2.js --- info: Operator x @= y uses PutValue(x, x @ y) es5id: 11.13.2_A3.1_T2 description: Checking Expression and Variable statements for x /= y --- 558
S11.13.2_A3.1_T3.js --- info: Operator x @= y uses PutValue(x, x @ y) es5id: 11.13.2_A3.1_T3 description: Checking Expression and Variable statements for x %= y --- 558
S11.13.2_A3.1_T4.js --- info: Operator x @= y uses PutValue(x, x @ y) es5id: 11.13.2_A3.1_T4 description: Checking Expression and Variable statements for x += y --- 550
S11.13.2_A3.1_T5.js --- info: Operator x @= y uses PutValue(x, x @ y) es5id: 11.13.2_A3.1_T5 description: Checking Expression and Variable statements for x -= y --- 558
S11.13.2_A3.1_T6.js --- info: Operator x @= y uses PutValue(x, x @ y) es5id: 11.13.2_A3.1_T6 description: Checking Expression and Variable statements for x <<= y --- 555
S11.13.2_A3.1_T7.js --- info: Operator x @= y uses PutValue(x, x @ y) es5id: 11.13.2_A3.1_T7 description: Checking Expression and Variable statements for x >>= y --- 555
S11.13.2_A3.1_T8.js --- info: Operator x @= y uses PutValue(x, x @ y) es5id: 11.13.2_A3.1_T8 description: Checking Expression and Variable statements for x >>>= y --- 560
S11.13.2_A3.1_T9.js --- info: Operator x @= y uses PutValue(x, x @ y) es5id: 11.13.2_A3.1_T9 description: Checking Expression and Variable statements for x &= y --- 550
S11.13.2_A3.1_T10.js --- info: Operator x @= y uses PutValue(x, x @ y) es5id: 11.13.2_A3.1_T10 description: Checking Expression and Variable statements for x ^= y --- 551
S11.13.2_A3.1_T11.js --- info: Operator x @= y uses PutValue(x, x @ y) es5id: 11.13.2_A3.1_T11 description: Checking Expression and Variable statements for x |= y --- 551
S11.13.2_A3.2_T1.js --- info: Operator x @= y returns x @ y es5id: 11.13.2_A3.2_T1 description: Checking Expression and Variable statements for x *= y --- 597
S11.13.2_A3.2_T2.js --- info: Operator x @= y returns x @ y es5id: 11.13.2_A3.2_T2 description: Checking Expression and Variable statements for x /= y --- 597
S11.13.2_A3.2_T3.js --- info: Operator x @= y returns x @ y es5id: 11.13.2_A3.2_T3 description: Checking Expression and Variable statements for x %= y --- 597
S11.13.2_A3.2_T4.js --- info: Operator x @= y returns x @ y es5id: 11.13.2_A3.2_T4 description: Checking Expression and Variable statements for x += y --- 589
S11.13.2_A3.2_T5.js --- info: Operator x @= y returns x @ y es5id: 11.13.2_A3.2_T5 description: Checking Expression and Variable statements for x -= y --- 597
S11.13.2_A3.2_T6.js --- info: Operator x @= y returns x @ y es5id: 11.13.2_A3.2_T6 description: Checking Expression and Variable statements for x <<= y --- 594
S11.13.2_A3.2_T7.js --- info: Operator x @= y returns x @ y es5id: 11.13.2_A3.2_T7 description: Checking Expression and Variable statements for x >>= y --- 594
S11.13.2_A3.2_T8.js --- info: Operator x @= y returns x @ y es5id: 11.13.2_A3.2_T8 description: Checking Expression and Variable statements for x >>>= y --- 599
S11.13.2_A3.2_T9.js --- info: Operator x @= y returns x @ y es5id: 11.13.2_A3.2_T9 description: Checking Expression and Variable statements for x &= y --- 589
S11.13.2_A3.2_T10.js --- info: Operator x @= y returns x @ y es5id: 11.13.2_A3.2_T10 description: Checking Expression and Variable statements for x ^= y --- 590
S11.13.2_A3.2_T11.js --- info: Operator x @= y returns x @ y es5id: 11.13.2_A3.2_T11 description: Checking Expression and Variable statements for x |= y --- 590
S11.13.2_A4.1_T1.1.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 973
S11.13.2_A4.1_T1.2.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 905
S11.13.2_A4.1_T1.3.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1225
S11.13.2_A4.1_T1.4.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 944
S11.13.2_A4.1_T2.1.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T2.1 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Number (primitive and object) --- 1585
S11.13.2_A4.1_T2.2.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1842
S11.13.2_A4.1_T2.3.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 923
S11.13.2_A4.1_T2.4.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 1052
S11.13.2_A4.1_T2.5.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) amd Boolean (primitive and object) --- 1617
S11.13.2_A4.1_T2.6.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T2.6 description: > Type(x) is different from Type(y) and both types vary between primitive String (primitive or object) and Undefined --- 1078
S11.13.2_A4.1_T2.7.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 939
S11.13.2_A4.1_T2.8.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 1081
S11.13.2_A4.1_T2.9.js --- info: The production x *= y is the same as the production x = x * y es5id: 11.13.2_A4.1_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 952
S11.13.2_A4.2_T1.1.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 958
S11.13.2_A4.2_T1.2.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 890
S11.13.2_A4.2_T1.3.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1210
S11.13.2_A4.2_T1.4.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 950
S11.13.2_A4.2_T2.1.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1570
S11.13.2_A4.2_T2.2.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1827
S11.13.2_A4.2_T2.3.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 970
S11.13.2_A4.2_T2.4.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 1037
S11.13.2_A4.2_T2.5.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) --- 1602
S11.13.2_A4.2_T2.6.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T2.6 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 1053
S11.13.2_A4.2_T2.7.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 986
S11.13.2_A4.2_T2.8.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 1066
S11.13.2_A4.2_T2.9.js --- info: The production x /= y is the same as x = x / y es5id: 11.13.2_A4.2_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 999
S11.13.2_A4.3_T1.1.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 958
S11.13.2_A4.3_T1.2.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 890
S11.13.2_A4.3_T1.3.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1210
S11.13.2_A4.3_T1.4.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 950
S11.13.2_A4.3_T2.1.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1570
S11.13.2_A4.3_T2.2.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1827
S11.13.2_A4.3_T2.3.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 950
S11.13.2_A4.3_T2.4.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 1037
S11.13.2_A4.3_T2.5.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) --- 1602
S11.13.2_A4.3_T2.6.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T2.6 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 1053
S11.13.2_A4.3_T2.7.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 966
S11.13.2_A4.3_T2.8.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 1066
S11.13.2_A4.3_T2.9.js --- info: The production x %= y is the same as x = x % y es5id: 11.13.2_A4.3_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 979
S11.13.2_A4.4_T1.1.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 958
S11.13.2_A4.4_T1.2.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 890
S11.13.2_A4.4_T1.3.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T1.3 description: Type(x) and Type(y) vary between Null and Undefined --- 929
S11.13.2_A4.4_T1.4.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T1.4 description: Type(x) and Type(y) vary between primitive string and String object --- 1192
S11.13.2_A4.4_T2.1.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1570
S11.13.2_A4.4_T2.2.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 908
S11.13.2_A4.4_T2.3.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 1037
S11.13.2_A4.4_T2.4.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T2.4 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 1066
S11.13.2_A4.4_T2.5.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T2.5 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 937
S11.13.2_A4.4_T2.6.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T2.6 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1833
S11.13.2_A4.4_T2.7.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) --- 1698
S11.13.2_A4.4_T2.8.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T2.8 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 1057
S11.13.2_A4.4_T2.9.js --- info: The production x += y is the same as x = x + y es5id: 11.13.2_A4.4_T2.9 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 972
S11.13.2_A4.5_T1.1.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 958
S11.13.2_A4.5_T1.2.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 890
S11.13.2_A4.5_T1.3.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1210
S11.13.2_A4.5_T1.4.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 929
S11.13.2_A4.5_T2.1.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1570
S11.13.2_A4.5_T2.2.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1827
S11.13.2_A4.5_T2.3.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 912
S11.13.2_A4.5_T2.4.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 1037
S11.13.2_A4.5_T2.5.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) --- 1602
S11.13.2_A4.5_T2.6.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T2.6 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 1053
S11.13.2_A4.5_T2.7.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 928
S11.13.2_A4.5_T2.8.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 1066
S11.13.2_A4.5_T2.9.js --- info: The production x -= y is the same as x = x - y es5id: 11.13.2_A4.5_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 941
S11.13.2_A4.6_T1.1.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 968
S11.13.2_A4.6_T1.2.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 900
S11.13.2_A4.6_T1.3.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1182
S11.13.2_A4.6_T1.4.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 876
S11.13.2_A4.6_T2.1.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1588
S11.13.2_A4.6_T2.2.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1807
S11.13.2_A4.6_T2.3.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 918
S11.13.2_A4.6_T2.4.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 963
S11.13.2_A4.6_T2.5.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) --- 1620
S11.13.2_A4.6_T2.6.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T2.6 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 979
S11.13.2_A4.6_T2.7.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 934
S11.13.2_A4.6_T2.8.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 992
S11.13.2_A4.6_T2.9.js --- info: The production x <<= y is the same as x = x << y es5id: 11.13.2_A4.6_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 947
S11.13.2_A4.7_T1.1.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 968
S11.13.2_A4.7_T1.2.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 900
S11.13.2_A4.7_T1.3.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1182
S11.13.2_A4.7_T1.4.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 876
S11.13.2_A4.7_T2.1.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1588
S11.13.2_A4.7_T2.2.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1807
S11.13.2_A4.7_T2.3.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 918
S11.13.2_A4.7_T2.4.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 963
S11.13.2_A4.7_T2.5.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) --- 1620
S11.13.2_A4.7_T2.6.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T2.6 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 979
S11.13.2_A4.7_T2.7.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 934
S11.13.2_A4.7_T2.8.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 992
S11.13.2_A4.7_T2.9.js --- info: The production x >>= y is the same as x = x >> y es5id: 11.13.2_A4.7_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 947
S11.13.2_A4.8_T1.1.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 978
S11.13.2_A4.8_T1.2.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 910
S11.13.2_A4.8_T1.3.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1196
S11.13.2_A4.8_T1.4.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 886
S11.13.2_A4.8_T2.1.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1606
S11.13.2_A4.8_T2.2.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1829
S11.13.2_A4.8_T2.3.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 928
S11.13.2_A4.8_T2.4.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 973
S11.13.2_A4.8_T2.5.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) --- 1638
S11.13.2_A4.8_T2.6.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T2.6 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 989
S11.13.2_A4.8_T2.7.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 944
S11.13.2_A4.8_T2.8.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 1002
S11.13.2_A4.8_T2.9.js --- info: The production x >>>= y is the same as x = x >>> y es5id: 11.13.2_A4.8_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 957
S11.13.2_A4.9_T1.1.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 958
S11.13.2_A4.9_T1.2.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 890
S11.13.2_A4.9_T1.3.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1168
S11.13.2_A4.9_T1.4.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 866
S11.13.2_A4.9_T2.1.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1570
S11.13.2_A4.9_T2.2.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1785
S11.13.2_A4.9_T2.3.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 908
S11.13.2_A4.9_T2.4.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 953
S11.13.2_A4.9_T2.5.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) --- 1602
S11.13.2_A4.9_T2.6.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T2.6 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 969
S11.13.2_A4.9_T2.7.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 924
S11.13.2_A4.9_T2.8.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 982
S11.13.2_A4.9_T2.9.js --- info: The production x &= y is the same as x = x & y es5id: 11.13.2_A4.9_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 937
S11.13.2_A4.10_T1.1.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 959
S11.13.2_A4.10_T1.2.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 891
S11.13.2_A4.10_T1.3.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1169
S11.13.2_A4.10_T1.4.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 867
S11.13.2_A4.10_T2.1.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1571
S11.13.2_A4.10_T2.2.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1786
S11.13.2_A4.10_T2.3.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 909
S11.13.2_A4.10_T2.4.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 954
S11.13.2_A4.10_T2.5.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) --- 1603
S11.13.2_A4.10_T2.6.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T2.6 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 970
S11.13.2_A4.10_T2.7.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 925
S11.13.2_A4.10_T2.8.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 983
S11.13.2_A4.10_T2.9.js --- info: The production x ^= y is the same as x = x ^ y es5id: 11.13.2_A4.10_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 938
S11.13.2_A4.11_T1.1.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 959
S11.13.2_A4.11_T1.2.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 891
S11.13.2_A4.11_T1.3.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1169
S11.13.2_A4.11_T1.4.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 867
S11.13.2_A4.11_T2.1.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1571
S11.13.2_A4.11_T2.2.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1786
S11.13.2_A4.11_T2.3.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 909
S11.13.2_A4.11_T2.4.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 954
S11.13.2_A4.11_T2.5.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) --- 1603
S11.13.2_A4.11_T2.6.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T2.6 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 970
S11.13.2_A4.11_T2.7.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 925
S11.13.2_A4.11_T2.8.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 983
S11.13.2_A4.11_T2.9.js --- info: The production x |= y is the same as x = x | y es5id: 11.13.2_A4.11_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 938
S11.13.2_A5.1_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.1_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. Check operator is "x *= y". flags: [noStrict] --- 1025
S11.13.2_A5.1_T2.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.1_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. Check operator is "x *= y". flags: [noStrict] --- 947
S11.13.2_A5.1_T3.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.1_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. Check operator is "x *= y". flags: [noStrict] --- 1051
S11.13.2_A5.2_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.2_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. Check operator is "x /= y". flags: [noStrict] --- 1025
S11.13.2_A5.2_T2.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.2_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. Check operator is "x /= y". flags: [noStrict] --- 947
S11.13.2_A5.2_T3.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.2_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. Check operator is "x /= y". flags: [noStrict] --- 1051
S11.13.2_A5.3_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.3_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. Check operator is "x %= y". flags: [noStrict] --- 1025
S11.13.2_A5.3_T2.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.3_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. Check operator is "x %= y". flags: [noStrict] --- 947
S11.13.2_A5.3_T3.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.3_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. Check operator is "x %= y". flags: [noStrict] --- 1051
S11.13.2_A5.4_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.4_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. Check operator is "x += y". flags: [noStrict] --- 1025
S11.13.2_A5.4_T2.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.4_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. Check operator is "x += y". flags: [noStrict] --- 947
S11.13.2_A5.4_T3.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.4_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. Check operator is "x += y". flags: [noStrict] --- 1051
S11.13.2_A5.5_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.5_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. Check operator is "x -= y". flags: [noStrict] --- 1025
S11.13.2_A5.5_T2.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.5_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. Check operator is "x -= y". flags: [noStrict] --- 947
S11.13.2_A5.5_T3.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.5_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. Check operator is "x -= y". flags: [noStrict] --- 1051
S11.13.2_A5.6_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.6_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. Check operator is "x <<= y". flags: [noStrict] --- 1029
S11.13.2_A5.6_T2.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.6_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. Check operator is "x <<= y". flags: [noStrict] --- 951
S11.13.2_A5.6_T3.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.6_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. Check operator is "x <<= y". flags: [noStrict] --- 1055
S11.13.2_A5.7_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.7_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. Check operator is "x >>= y". flags: [noStrict] --- 1028
S11.13.2_A5.7_T2.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.7_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. Check operator is "x >>= y". flags: [noStrict] --- 950
S11.13.2_A5.7_T3.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.7_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. Check operator is "x >>= y". flags: [noStrict] --- 1054
S11.13.2_A5.8_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.8_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. Check operator is "x >>>= y". flags: [noStrict] --- 1030
S11.13.2_A5.8_T2.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.8_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. Check operator is "x >>>= y". flags: [noStrict] --- 952
S11.13.2_A5.8_T3.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.8_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. Check operator is "x >>>= y". flags: [noStrict] --- 1056
S11.13.2_A5.9_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.9_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. Check operator is "x &= y". flags: [noStrict] --- 1025
S11.13.2_A5.9_T2.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.9_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. Check operator is "x &= y". flags: [noStrict] --- 947
S11.13.2_A5.9_T3.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.9_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. Check operator is "x &= y". flags: [noStrict] --- 1051
S11.13.2_A5.10_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.10_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. Check operator is "x ^= y". flags: [noStrict] --- 1026
S11.13.2_A5.10_T2.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.10_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. Check operator is "x ^= y". flags: [noStrict] --- 948
S11.13.2_A5.10_T3.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.10_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. Check operator is "x ^= y". flags: [noStrict] --- 1052
S11.13.2_A5.11_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.11_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding function environment record is not changed. Check operator is "x |= y". flags: [noStrict] --- 1026
S11.13.2_A5.11_T2.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.11_T2 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding global environment record is not changed. Check operator is "x |= y". flags: [noStrict] --- 948
S11.13.2_A5.11_T3.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A5.11_T3 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is object environment record. PutValue(lref, v) uses the initially created Reference even if the environment binding is no longer present. Binding in surrounding object environment record is not changed. Check operator is "x |= y". flags: [noStrict] --- 1052
S11.13.2_A6.1_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A6.1_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, v) uses the initially created Reference even if a more local binding is available. Check operator is "x *= y". flags: [noStrict] --- 940
S11.13.2_A6.2_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A6.2_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, v) uses the initially created Reference even if a more local binding is available. Check operator is "x /= y". flags: [noStrict] --- 939
S11.13.2_A6.3_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A6.3_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, v) uses the initially created Reference even if a more local binding is available. Check operator is "x %= y". flags: [noStrict] --- 938
S11.13.2_A6.4_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A6.4_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, v) uses the initially created Reference even if a more local binding is available. Check operator is "x += y". flags: [noStrict] --- 938
S11.13.2_A6.5_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A6.5_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, v) uses the initially created Reference even if a more local binding is available. Check operator is "x -= y". flags: [noStrict] --- 938
S11.13.2_A6.6_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A6.6_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, v) uses the initially created Reference even if a more local binding is available. Check operator is "x <<= y". flags: [noStrict] --- 940
S11.13.2_A6.7_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A6.7_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, v) uses the initially created Reference even if a more local binding is available. Check operator is "x >>= y". flags: [noStrict] --- 940
S11.13.2_A6.8_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A6.8_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, v) uses the initially created Reference even if a more local binding is available. Check operator is "x >>>= y". flags: [noStrict] --- 942
S11.13.2_A6.9_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A6.9_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, v) uses the initially created Reference even if a more local binding is available. Check operator is "x &= y". flags: [noStrict] --- 938
S11.13.2_A6.10_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A6.10_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, v) uses the initially created Reference even if a more local binding is available. Check operator is "x ^= y". flags: [noStrict] --- 939
S11.13.2_A6.11_T1.js --- info: Compound Assignment Operator calls PutValue(lref, v) es5id: S11.13.2_A6.11_T1 description: > Evaluating LeftHandSideExpression lref returns Reference type; Reference base value is an environment record and environment record kind is declarative environment record. PutValue(lref, v) uses the initially created Reference even if a more local binding is available. Check operator is "x |= y". flags: [noStrict] --- 939
S11.13.2_A7.1_T1.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. Check operator is "x *= y". --- 1026
S11.13.2_A7.1_T2.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. Check operator is "x *= y". --- 1041
S11.13.2_A7.1_T3.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. Check operator is "x *= y". --- 775
S11.13.2_A7.1_T4.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. Check operator is "x *= y". --- 701
S11.13.2_A7.2_T1.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. Check operator is "x /= y". --- 1026
S11.13.2_A7.2_T2.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. Check operator is "x /= y". --- 1041
S11.13.2_A7.2_T3.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. Check operator is "x /= y". --- 775
S11.13.2_A7.2_T4.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. Check operator is "x /= y". --- 701
S11.13.2_A7.3_T1.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. Check operator is "x %= y". --- 1026
S11.13.2_A7.3_T2.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. Check operator is "x %= y". --- 1041
S11.13.2_A7.3_T3.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. Check operator is "x %= y". --- 775
S11.13.2_A7.3_T4.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. Check operator is "x %= y". --- 701
S11.13.2_A7.4_T1.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. Check operator is "x += y". --- 1026
S11.13.2_A7.4_T2.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. Check operator is "x += y". --- 1041
S11.13.2_A7.4_T3.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. Check operator is "x += y". --- 775
S11.13.2_A7.4_T4.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. Check operator is "x += y". --- 701
S11.13.2_A7.5_T1.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. Check operator is "x -= y". --- 1026
S11.13.2_A7.5_T2.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. Check operator is "x -= y". --- 1041
S11.13.2_A7.5_T3.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. Check operator is "x -= y". --- 775
S11.13.2_A7.5_T4.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. Check operator is "x -= y". --- 701
S11.13.2_A7.6_T1.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. Check operator is "x <<= y". --- 1029
S11.13.2_A7.6_T2.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. Check operator is "x <<= y". --- 1044
S11.13.2_A7.6_T3.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. Check operator is "x <<= y". --- 777
S11.13.2_A7.6_T4.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. Check operator is "x <<= y". --- 703
S11.13.2_A7.7_T1.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. Check operator is "x >>= y". --- 1029
S11.13.2_A7.7_T2.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. Check operator is "x >>= y". --- 1044
S11.13.2_A7.7_T3.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. Check operator is "x >>= y". --- 777
S11.13.2_A7.7_T4.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. Check operator is "x >>= y". --- 703
S11.13.2_A7.8_T1.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. Check operator is "x >>>= y". --- 1032
S11.13.2_A7.8_T2.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. Check operator is "x >>>= y". --- 1047
S11.13.2_A7.8_T3.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. Check operator is "x >>>= y". --- 779
S11.13.2_A7.8_T4.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. Check operator is "x >>>= y". --- 705
S11.13.2_A7.9_T1.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. Check operator is "x &= y". --- 1026
S11.13.2_A7.9_T2.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. Check operator is "x &= y". --- 1041
S11.13.2_A7.9_T3.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. Check operator is "x &= y". --- 775
S11.13.2_A7.9_T4.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. Check operator is "x &= y". --- 701
S11.13.2_A7.10_T1.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. Check operator is "x ^= y". --- 1026
S11.13.2_A7.10_T2.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. Check operator is "x ^= y". --- 1041
S11.13.2_A7.10_T3.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. Check operator is "x ^= y". --- 775
S11.13.2_A7.10_T4.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. Check operator is "x ^= y". --- 701
S11.13.2_A7.11_T1.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the null value. Check operator is "x |= y". --- 1026
S11.13.2_A7.11_T2.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. base is the undefined value. Check operator is "x |= y". --- 1041
S11.13.2_A7.11_T3.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. Evaluating ToPropertyKey(prop) throws an error. Check operator is "x |= y". --- 775
S11.13.2_A7.11_T4.js --- info: Compound Assignment Operator evaluates its operands from left to right. description: > The left-hand side expression is evaluated before the right-hand side. Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop) is only called once. Check operator is "x |= y". --- 701
shell.js 0
srshift-arguments-strict-strict.js --- es5id: 11.13.2-6-18-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(>>=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 516
srshift-eval-strict-strict.js --- es5id: 11.13.2-6-7-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(>>=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 505
srshift-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed es5id: 11.13.2_A1_T7 esid: sec-assignment-operators description: Checking by using eval, check operator is x >>= y --- 1653
sub-arguments-strict-strict.js --- es5id: 11.13.2-6-16-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(-=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 514
sub-eval-strict-strict.js --- es5id: 11.13.2-6-5-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(-=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 499
sub-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed es5id: 11.13.2_A1_T5 esid: sec-assignment-operators description: Checking by using eval, check operator is x -= y --- 1672
subtract-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Compound subtraction assignment with non-simple target negative: phase: parse type: SyntaxError --- 494
u-right-shift-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Compound "unsigned right shift" assignment with non-simple target negative: phase: parse type: SyntaxError --- 507
urshift-arguments-strict-strict.js --- es5id: 11.13.2-6-19-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(>>>=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 518
urshift-eval-strict-strict.js --- es5id: 11.13.2-6-8-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(>>>=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 507
urshift-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed es5id: 11.13.2_A1_T8 esid: sec-assignment-operators description: Checking by using eval, check operator is x >>>= y --- 1664
xor-arguments-strict-strict.js --- es5id: 11.13.2-6-21-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(^=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 514
xor-eval-strict-strict.js --- es5id: 11.13.2-6-10-s esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(^=) flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 500
xor-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed es5id: 11.13.2_A1_T10 esid: sec-assignment-operators description: Checking by using eval, check operator is x ^= y --- 1643