mirror of
https://github.com/swc-project/swc.git
synced 2024-12-26 23:27:56 +03:00
57 lines
1.2 KiB
TypeScript
57 lines
1.2 KiB
TypeScript
|
// @target: es2017
|
||
|
// @noEmitHelpers: true
|
||
|
class A {
|
||
|
x() {
|
||
|
}
|
||
|
y() {
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class B extends A {
|
||
|
// async method with only call/get on 'super' does not require a binding
|
||
|
async simple() {
|
||
|
// call with property access
|
||
|
super.x();
|
||
|
// call additional property.
|
||
|
super.y();
|
||
|
|
||
|
// call with element access
|
||
|
super["x"]();
|
||
|
|
||
|
// property access (read)
|
||
|
const a = super.x;
|
||
|
|
||
|
// element access (read)
|
||
|
const b = super["x"];
|
||
|
}
|
||
|
|
||
|
// async method with assignment/destructuring on 'super' requires a binding
|
||
|
async advanced() {
|
||
|
const f = () => {};
|
||
|
|
||
|
// call with property access
|
||
|
super.x();
|
||
|
|
||
|
// call with element access
|
||
|
super["x"]();
|
||
|
|
||
|
// property access (read)
|
||
|
const a = super.x;
|
||
|
|
||
|
// element access (read)
|
||
|
const b = super["x"];
|
||
|
|
||
|
// property access (assign)
|
||
|
super.x = f;
|
||
|
|
||
|
// element access (assign)
|
||
|
super["x"] = f;
|
||
|
|
||
|
// destructuring assign with property access
|
||
|
({ f: super.x } = { f });
|
||
|
|
||
|
// destructuring assign with element access
|
||
|
({ f: super["x"] } = { f });
|
||
|
}
|
||
|
}
|