File: override19.js

package info (click to toggle)
node-typescript 5.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 497,488 kB
  • sloc: javascript: 2,107,274; makefile: 6; sh: 1
file content (34 lines) | stat: -rw-r--r-- 772 bytes parent folder | download
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
33
34
//// [tests/cases/conformance/override/override19.ts] ////

//// [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'
}