Name Description Size
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