1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
//// [override19.ts]
type Foo = abstract new(...args: any) => any;
declare function CreateMixin<C extends Foo, T extends Foo>(Context: C, Base: T): T & {
new (...args: any[]): { context: InstanceType<C> }
}
class Context {}
class A {
doSomething() {}
}
class B extends CreateMixin(Context, A) {
override foo() {} // Remove override
}
class C extends CreateMixin(Context, A) {
override doSomethang() {} // Suggestion 'doSomething'
}
//// [override19.js]
class Context {
}
class A {
doSomething() { }
}
class B extends CreateMixin(Context, A) {
foo() { } // Remove override
}
class C extends CreateMixin(Context, A) {
doSomethang() { } // Suggestion 'doSomething'
}
|