File: genericNewInterface.symbols

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (33 lines) | stat: -rw-r--r-- 1,418 bytes parent folder | download | duplicates (5)
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
=== tests/cases/compiler/genericNewInterface.ts ===
function createInstance<T>(ctor: new (s: string) => T): T {
>createInstance : Symbol(createInstance, Decl(genericNewInterface.ts, 0, 0))
>T : Symbol(T, Decl(genericNewInterface.ts, 0, 24))
>ctor : Symbol(ctor, Decl(genericNewInterface.ts, 0, 27))
>s : Symbol(s, Decl(genericNewInterface.ts, 0, 38))
>T : Symbol(T, Decl(genericNewInterface.ts, 0, 24))
>T : Symbol(T, Decl(genericNewInterface.ts, 0, 24))

    return new ctor(42); //should be an error
>ctor : Symbol(ctor, Decl(genericNewInterface.ts, 0, 27))
}
                   
interface INewable<T> {
>INewable : Symbol(INewable, Decl(genericNewInterface.ts, 2, 1))
>T : Symbol(T, Decl(genericNewInterface.ts, 4, 19))

    new (param: string): T;
>param : Symbol(param, Decl(genericNewInterface.ts, 5, 9))
>T : Symbol(T, Decl(genericNewInterface.ts, 4, 19))
}

function createInstance2<T>(ctor: INewable<T>): T {
>createInstance2 : Symbol(createInstance2, Decl(genericNewInterface.ts, 6, 1))
>T : Symbol(T, Decl(genericNewInterface.ts, 8, 25))
>ctor : Symbol(ctor, Decl(genericNewInterface.ts, 8, 28))
>INewable : Symbol(INewable, Decl(genericNewInterface.ts, 2, 1))
>T : Symbol(T, Decl(genericNewInterface.ts, 8, 25))
>T : Symbol(T, Decl(genericNewInterface.ts, 8, 25))

    return new ctor(1024); //should be an error
>ctor : Symbol(ctor, Decl(genericNewInterface.ts, 8, 28))
}