swc/tests/tsc-references/functions/strictBindCallApply1/input.ts/es2015.1.normal/output.js
Donny/강동윤 26944e159d
fix(es/transforms/base): Reimplement hygiene (#2408)
swc_ecma_transforms_base:
 - Reimplement `hygiene`.
2021-10-21 05:12:50 +00:00

96 lines
2.1 KiB
JavaScript

let f00 = foo.bind(undefined);
let f01 = foo.bind(undefined, 10);
let f02 = foo.bind(undefined, 10, "hello");
let f03 = foo.bind(undefined, 10, 20); // Error
let f04 = overloaded.bind(undefined); // typeof overloaded
let f05 = generic.bind(undefined); // typeof generic
let c00 = foo.call(undefined, 10, "hello");
let c01 = foo.call(undefined, 10); // Error
let c02 = foo.call(undefined, 10, 20); // Error
let c03 = foo.call(undefined, 10, "hello", 30); // Error
let a00 = foo.apply(undefined, [
10,
"hello"
]);
let a01 = foo.apply(undefined, [
10
]); // Error
let a02 = foo.apply(undefined, [
10,
20
]); // Error
let a03 = foo.apply(undefined, [
10,
"hello",
30
]); // Error
class C {
foo(a, b) {
return "";
}
overloaded(x) {
return undefined;
}
generic(x1) {
return x1;
}
constructor(a1, b1){
}
}
let f10 = c.foo.bind(c);
let f11 = c.foo.bind(c, 10);
let f12 = c.foo.bind(c, 10, "hello");
let f13 = c.foo.bind(c, 10, 20); // Error
let f14 = c.foo.bind(undefined); // Error
let f15 = c.overloaded.bind(c); // typeof C.prototype.overloaded
let f16 = c.generic.bind(c); // typeof C.prototype.generic
let c10 = c.foo.call(c, 10, "hello");
let c11 = c.foo.call(c, 10); // Error
let c12 = c.foo.call(c, 10, 20); // Error
let c13 = c.foo.call(c, 10, "hello", 30); // Error
let c14 = c.foo.call(undefined, 10, "hello"); // Error
let a10 = c.foo.apply(c, [
10,
"hello"
]);
let a11 = c.foo.apply(c, [
10
]); // Error
let a12 = c.foo.apply(c, [
10,
20
]); // Error
let a13 = c.foo.apply(c, [
10,
"hello",
30
]); // Error
let a14 = c.foo.apply(undefined, [
10,
"hello"
]); // Error
let f20 = C.bind(undefined);
let f21 = C.bind(undefined, 10);
let f22 = C.bind(undefined, 10, "hello");
let f23 = C.bind(undefined, 10, 20); // Error
C.call(c, 10, "hello");
C.call(c, 10); // Error
C.call(c, 10, 20); // Error
C.call(c, 10, "hello", 30); // Error
C.apply(c, [
10,
"hello"
]);
C.apply(c, [
10
]); // Error
C.apply(c, [
10,
20
]); // Error
C.apply(c, [
10,
"hello",
30
]); // Error