blob: 847b31efb76ecc9419d9e9696d63e1acc399ed9e [file] [log] [blame]
function assert(a) {
if (!a)
throw new Error("Bad assertion");
}
function typeOf(n) {
var value = "string";
var dispatcher = n % 3;
if (dispatcher === 0)
value = 1n;
else if (dispatcher === 1)
value = "string";
else
value = Symbol("symbol");
return typeof value;
}
noInline(typeOf);
for (let i = 0; i < 1e6; i++) {
switch (i % 3) {
case 0:
assert(typeOf(i) === "bigint");
break;
case 1:
assert(typeOf(i) === "string");
break;
case 2:
assert(typeOf(i) === "symbol");
break;
}
}