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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
=== tests/cases/compiler/declFileTypeAnnotationTypeReference.ts ===
class c {
>c : c
}
module m {
>m : typeof m
export class c {
>c : c
}
export class g<T> {
>g : g<T>
}
}
class g<T> {
>g : g<T>
}
// Just the name
function foo(): c {
>foo : () => c
return new c();
>new c() : c
>c : typeof c
}
function foo2() {
>foo2 : () => c
return new c();
>new c() : c
>c : typeof c
}
// Qualified name
function foo3(): m.c {
>foo3 : () => m.c
>m : any
return new m.c();
>new m.c() : m.c
>m.c : typeof m.c
>m : typeof m
>c : typeof m.c
}
function foo4() {
>foo4 : () => m.c
return new m.c();
>new m.c() : m.c
>m.c : typeof m.c
>m : typeof m
>c : typeof m.c
}
// Just the name with type arguments
function foo5(): g<string> {
>foo5 : () => g<string>
return new g<string>();
>new g<string>() : g<string>
>g : typeof g
}
function foo6() {
>foo6 : () => g<string>
return new g<string>();
>new g<string>() : g<string>
>g : typeof g
}
// Qualified name with type arguments
function foo7(): m.g<number> {
>foo7 : () => m.g<number>
>m : any
return new m.g<number>();
>new m.g<number>() : m.g<number>
>m.g : typeof m.g
>m : typeof m
>g : typeof m.g
}
function foo8() {
>foo8 : () => m.g<number>
return new m.g<number>();
>new m.g<number>() : m.g<number>
>m.g : typeof m.g
>m : typeof m
>g : typeof m.g
}
|