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
|
=== tests/cases/compiler/declFileTypeAnnotationUnionType.ts ===
class c {
>c : c
private p: string;
>p : string
}
module m {
>m : typeof m
export class c {
>c : c
private q: string;
>q : string
}
export class g<T> {
>g : g<T>
private r: string;
>r : string
}
}
class g<T> {
>g : g<T>
private s: string;
>s : string
}
// Just the name
var k: c | m.c = new c() || new m.c();
>k : c | m.c
>m : any
>new c() || new m.c() : c | m.c
>new c() : c
>c : typeof c
>new m.c() : m.c
>m.c : typeof m.c
>m : typeof m
>c : typeof m.c
var l = new c() || new m.c();
>l : c | m.c
>new c() || new m.c() : c | m.c
>new c() : c
>c : typeof c
>new m.c() : m.c
>m.c : typeof m.c
>m : typeof m
>c : typeof m.c
var x: g<string> | m.g<number> | (() => c) = new g<string>() || new m.g<number>() || (() => new c());
>x : g<string> | m.g<number> | (() => c)
>m : any
>new g<string>() || new m.g<number>() || (() => new c()) : g<string> | m.g<number> | (() => c)
>new g<string>() || new m.g<number>() : g<string> | m.g<number>
>new g<string>() : g<string>
>g : typeof g
>new m.g<number>() : m.g<number>
>m.g : typeof m.g
>m : typeof m
>g : typeof m.g
>(() => new c()) : () => c
>() => new c() : () => c
>new c() : c
>c : typeof c
var y = new g<string>() || new m.g<number>() || (() => new c());
>y : g<string> | m.g<number> | (() => c)
>new g<string>() || new m.g<number>() || (() => new c()) : g<string> | m.g<number> | (() => c)
>new g<string>() || new m.g<number>() : g<string> | m.g<number>
>new g<string>() : g<string>
>g : typeof g
>new m.g<number>() : m.g<number>
>m.g : typeof m.g
>m : typeof m
>g : typeof m.g
>(() => new c()) : () => c
>() => new c() : () => c
>new c() : c
>c : typeof c
|