mirror of
https://github.com/swc-project/swc.git
synced 2024-12-28 08:04:43 +03:00
b887b30092
**Description:** This is required for https://github.com/swc-project/swc/pull/6981 and https://github.com/swc-project/swc/pull/6950
31 lines
571 B
TypeScript
31 lines
571 B
TypeScript
class A<T> {
|
|
genericVar: T
|
|
}
|
|
function B1<U>() {
|
|
// class expression can use T
|
|
return class extends A<U> { }
|
|
}
|
|
class B2<V> {
|
|
anon = class extends A<V> { }
|
|
}
|
|
function B3<W>() {
|
|
return class Inner<TInner> extends A<W> { }
|
|
}
|
|
// extends can call B
|
|
class K extends B1<number>() {
|
|
namae: string;
|
|
}
|
|
class C extends (new B2<number>().anon) {
|
|
name: string;
|
|
}
|
|
let b3Number = B3<number>();
|
|
class S extends b3Number<string> {
|
|
nom: string;
|
|
}
|
|
var c = new C();
|
|
var k = new K();
|
|
var s = new S();
|
|
c.genericVar = 12;
|
|
k.genericVar = 12;
|
|
s.genericVar = 12;
|