Name Description Size Coverage
bigint-and-number.js --- esid: sec-left-shift-operator-runtime-semantics-evaluation description: Mixing BigInt and Number produces a TypeError for left-shift operator features: [BigInt] info: | Let lnum be ? ToNumeric(leftValue). Let rnum be ? ToNumeric(rightValue). If Type(lnum) does not equal Type(rnum), throw a TypeError exception. --- 2346 -
bigint-errors.js --- description: left-shift operator ToNumeric with BigInt operands esid: sec-left-shift-operator-runtime-semantics-evaluation features: [BigInt, Symbol, Symbol.toPrimitive, computed-property-names] --- 1978 -
bigint-non-primitive.js --- description: Left shift for non-primitive BigInt values esid: sec-left-shift-operator-runtime-semantics-evaluation info: | ShiftExpression : ShiftExpression << AdditiveExpression 1. Let lref be the result of evaluating ShiftExpression. 2. Let lval be ? GetValue(lref). 3. Let rref be the result of evaluating AdditiveExpression. 4. Let rval be ? GetValue(rref). 5. Let lnum be ? ToNumeric(lval). 6. Let rnum be ? ToNumeric(rval). 7. If Type(lnum) does not equal Type(rnum), throw a TypeError exception. 8. Let T be Type(lnum). 9. Return T::leftShift(lnum, rnum). features: [BigInt, Symbol.toPrimitive] --- 2516 -
bigint-toprimitive.js --- description: left-shift operator ToNumeric with BigInt operands esid: sec-left-shift-operator-runtime-semantics-evaluation features: [BigInt, Symbol.toPrimitive, computed-property-names] --- 8887 -
bigint-wrapped-values.js --- description: left-shift operator ToNumeric with BigInt operands esid: sec-left-shift-operator-runtime-semantics-evaluation features: [BigInt, Symbol.toPrimitive, computed-property-names] --- 1431 -
bigint.js --- description: Left shift for BigInt values esid: sec-numeric-types-bigint-leftShift info: | BigInt::leftShift (x, y) The abstract operation BigInt::leftShift with two arguments x and y of BigInt: 1. If y < 0, a. Return a BigInt representing x divided by 2-y, rounding down to the nearest integer, including for negative numbers. 2. Return a BigInt representing x multiplied by 2y. NOTE: Semantics here should be equivalent to a bitwise shift, treating the BigInt as an infinite length string of binary two's complement digits. features: [BigInt] --- 6943 -
browser.js 0 -
order-of-evaluation.js --- esid: sec-left-shift-operator-runtime-semantics-evaluation description: Type coercion order of operations for left-shift operator features: [Symbol] info: | Evaluate lhs Evaluate rhs ToNumeric(lhs) ToNumeric(rhs) --- 3041 -
S9.5_A1_T1.js --- info: If value is NaN, +0, -0, +Infinity, or -Infinity, return +0 es5id: 9.5_A1_T1 description: For testing use operator <<0 --- 1900 -
S9.5_A2.1_T1.js --- info: ToInt32 returns values between -2^31 and 2^31-1 es5id: 9.5_A2.1_T1 description: > Converting some numbers, which are in\outside of Int32 scopes, with <<0 operator --- 1542 -
S9.5_A2.2_T1.js --- info: Compute result modulo 2^32 es5id: 9.5_A2.2_T1 description: Use operator <<0 --- 1945 -
S9.5_A2.3_T1.js --- info: If result is greater than or equal to 2^31, return result -2^32 es5id: 9.5_A2.3_T1 description: Use operator <<0 --- 1150 -
S9.5_A3.1_T1.js --- info: Operator uses ToNumber es5id: 9.5_A3.1_T1 description: Type(x) is Boolean --- 521 -
S9.5_A3.1_T2.js --- info: Operator uses ToNumber es5id: 9.5_A3.1_T2 description: Type(x) is Number --- 513 -
S9.5_A3.1_T3.js --- info: Operator uses ToNumber es5id: 9.5_A3.1_T3 description: Type(x) is String --- 519 -
S9.5_A3.2_T1.js --- info: Operator uses floor, abs es5id: 9.5_A3.2_T1 description: Use operator <<0 --- 496 -
S11.7.1_A1.js --- info: | White Space and Line Terminator between ShiftExpression and "<<" or between "<<" and AdditiveExpression are allowed es5id: 11.7.1_A1 description: Checking by using eval --- 1656 -
S11.7.1_A2.1_T1.js --- info: Operator x << y uses GetValue es5id: 11.7.1_A2.1_T1 description: Either Type is not Reference or GetBase is not null --- 1128 -
S11.7.1_A2.1_T2.js --- info: Operator x << y uses GetValue es5id: 11.7.1_A2.1_T2 description: If GetBase(x) is null, throw ReferenceError --- 546 -
S11.7.1_A2.1_T3.js --- info: Operator x << y uses GetValue es5id: 11.7.1_A2.1_T3 description: If GetBase(y) is null, throw ReferenceError --- 546 -
S11.7.1_A2.2_T1.js --- info: Operator x << y uses [[Default Value]] es5id: 11.7.1_A2.2_T1 description: If Type(value) is Object, evaluate ToPrimitive(value, Number) --- 3243 -
S11.7.1_A2.3_T1.js --- info: | ToNumber(first expression) is called first, and then ToNumber(second expression) es5id: 11.7.1_A2.3_T1 description: Checking with "throw" --- 991 -
S11.7.1_A2.4_T1.js --- info: First expression is evaluated first, and then second expression es5id: 11.7.1_A2.4_T1 description: Checking with "=" --- 572 -
S11.7.1_A2.4_T2.js --- info: First expression is evaluated first, and then second expression es5id: 11.7.1_A2.4_T2 description: Checking with "throw" --- 885 -
S11.7.1_A2.4_T3.js --- info: First expression is evaluated first, and then second expression es5id: 11.7.1_A2.4_T3 description: Checking with undeclarated variables --- 597 -
S11.7.1_A2.4_T4.js --- info: First expression is evaluated first, and then second expression es5id: 11.7.1_A2.4_T4 description: Checking with undeclarated variables flags: [noStrict] --- 445 -
S11.7.1_A3_T1.1.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 967 -
S11.7.1_A3_T1.2.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 871 -
S11.7.1_A3_T1.3.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1143 -
S11.7.1_A3_T1.4.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 843 -
S11.7.1_A3_T1.5.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T1.5 description: Type(x) and Type(y) vary between Object object and Function object --- 990 -
S11.7.1_A3_T2.1.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1567 -
S11.7.1_A3_T2.2.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1744 -
S11.7.1_A3_T2.3.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 877 -
S11.7.1_A3_T2.4.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 942 -
S11.7.1_A3_T2.5.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) or Boolean (primitive and object) --- 1614 -
S11.7.1_A3_T2.6.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T2.6 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 966 -
S11.7.1_A3_T2.7.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 901 -
S11.7.1_A3_T2.8.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 985 -
S11.7.1_A3_T2.9.js --- info: Operator x << y returns ToNumber(x) << ToNumber(y) es5id: 11.7.1_A3_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 920 -
S11.7.1_A4_T1.js --- info: Check operator x << y in distinct points es5id: 11.7.1_A4_T1 description: ShiftExpression = -2^n, n = 0...15 --- 62793 -
S11.7.1_A4_T2.js --- info: Check operator x << y in distinct points es5id: 11.7.1_A4_T2 description: ShiftExpression = 2^n - 1, n = 16...31 --- 61306 -
S11.7.1_A4_T3.js --- info: Check operator x << y in distinct points es5id: 11.7.1_A4_T3 description: ShiftExpression = 2^n - 1, n = 0...15 --- 61272 -
S11.7.1_A4_T4.js --- info: Check operator x << y in distinct points es5id: 11.7.1_A4_T4 description: ShiftExpression = 2^n - 1, n = 16...31 --- 65210 -
S11.7.1_A5.1_T1.js --- info: Operator x << y uses ToInt32(ShiftExpression) es5id: 11.7.1_A5.1_T1 description: Checking boundary points --- 1774 -
S11.7.1_A5.2_T1.js --- info: Operator x << y uses ToUint32(AdditiveExpression) & 31 es5id: 11.7.1_A5.2_T1 description: Checking distinct points --- 8178 -
shell.js 0 -