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 92
|
=== tests/cases/compiler/declFileTypeAnnotationTypeQuery.ts ===
class c {
>c : c
}
module m {
>m : typeof m
export class c {
>c : c
}
export class g<T> {
>g : g<T>
>T : T
}
}
class g<T> {
>g : g<T>
>T : T
}
// Just the name
function foo(): typeof c {
>foo : () => typeof c
>c : typeof c
return c;
>c : typeof c
}
function foo2() {
>foo2 : () => typeof c
return c;
>c : typeof c
}
// Qualified name
function foo3(): typeof m.c {
>foo3 : () => typeof m.c
>m.c : typeof m.c
>m : typeof m
>c : typeof m.c
return m.c;
>m.c : typeof m.c
>m : typeof m
>c : typeof m.c
}
function foo4() {
>foo4 : () => typeof m.c
return m.c;
>m.c : typeof m.c
>m : typeof m
>c : typeof m.c
}
// Just the name with type arguments
function foo5(): typeof g {
>foo5 : () => typeof g
>g : typeof g
return g;
>g : typeof g
}
function foo6() {
>foo6 : () => typeof g
return g;
>g : typeof g
}
// Qualified name with type arguments
function foo7(): typeof m.g {
>foo7 : () => typeof m.g
>m.g : typeof m.g
>m : typeof m
>g : typeof m.g
return m.g
>m.g : typeof m.g
>m : typeof m
>g : typeof m.g
}
function foo8() {
>foo8 : () => typeof m.g
return m.g
>m.g : typeof m.g
>m : typeof m
>g : typeof m.g
}
|