TypeScript/tests/baselines/reference/declFileGenericType.types

168 lines
2.6 KiB
Text
Raw Normal View History

2014-08-15 23:33:16 +02:00
=== tests/cases/compiler/declFileGenericType.ts ===
export module C {
2014-08-28 21:40:58 +02:00
>C : typeof C
2014-08-15 23:33:16 +02:00
export class A<T>{ }
>A : A<T>
>T : T
export class B { }
>B : B
export function F<T>(x: T): A<B> { return null; }
2014-08-22 03:39:46 +02:00
>F : typeof F
2014-08-15 23:33:16 +02:00
>T : T
>x : T
>T : T
>A : A<T>
2014-08-15 23:33:16 +02:00
>B : B
export function F2<T>(x: T): C.A<C.B> { return null; }
2014-08-22 03:39:46 +02:00
>F2 : typeof F2
2014-08-15 23:33:16 +02:00
>T : T
>x : T
>T : T
2014-08-28 21:40:58 +02:00
>C : unknown
>A : A<T>
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-15 23:33:16 +02:00
>B : B
export function F3<T>(x: T): C.A<C.B>[] { return null; }
2014-08-22 03:39:46 +02:00
>F3 : typeof F3
2014-08-15 23:33:16 +02:00
>T : T
>x : T
>T : T
2014-08-28 21:40:58 +02:00
>C : unknown
>A : A<T>
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-15 23:33:16 +02:00
>B : B
export function F4<T extends A<B>>(x: T): Array<C.A<C.B>> { return null; }
2014-08-22 03:39:46 +02:00
>F4 : typeof F4
2014-08-15 23:33:16 +02:00
>T : T
>A : A<T>
2014-08-15 23:33:16 +02:00
>B : B
>x : T
>T : T
2014-08-25 19:36:12 +02:00
>Array : Array<T>
2014-08-28 21:40:58 +02:00
>C : unknown
>A : A<T>
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-15 23:33:16 +02:00
>B : B
export function F5<T>(): T { return null; }
2014-08-22 03:39:46 +02:00
>F5 : typeof F5
2014-08-15 23:33:16 +02:00
>T : T
>T : T
export function F6<T extends A<B>>(x: T): T { return null; }
2014-08-22 03:39:46 +02:00
>F6 : typeof F6
2014-08-15 23:33:16 +02:00
>T : T
>A : A<T>
2014-08-15 23:33:16 +02:00
>B : B
>x : T
>T : T
>T : T
export class D<T>{
>D : D<T>
>T : T
constructor(public val: T) { }
>val : T
>T : T
}
}
export var a: C.A<C.B>;
2014-08-25 19:36:12 +02:00
>a : C.A<C.B>
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>A : C.A<T>
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>B : C.B
2014-08-15 23:33:16 +02:00
export var b = C.F;
2014-08-25 19:36:12 +02:00
>b : typeof C.F
>C.F : typeof C.F
2014-08-15 23:33:16 +02:00
>C : typeof C
2014-08-25 19:36:12 +02:00
>F : typeof C.F
2014-08-15 23:33:16 +02:00
export var c = C.F2;
2014-08-25 19:36:12 +02:00
>c : typeof C.F2
>C.F2 : typeof C.F2
2014-08-15 23:33:16 +02:00
>C : typeof C
2014-08-25 19:36:12 +02:00
>F2 : typeof C.F2
2014-08-15 23:33:16 +02:00
export var d = C.F3;
2014-08-25 19:36:12 +02:00
>d : typeof C.F3
>C.F3 : typeof C.F3
2014-08-15 23:33:16 +02:00
>C : typeof C
2014-08-25 19:36:12 +02:00
>F3 : typeof C.F3
2014-08-15 23:33:16 +02:00
export var e = C.F4;
2014-08-25 19:36:12 +02:00
>e : typeof C.F4
>C.F4 : typeof C.F4
2014-08-15 23:33:16 +02:00
>C : typeof C
2014-08-25 19:36:12 +02:00
>F4 : typeof C.F4
2014-08-15 23:33:16 +02:00
export var x = (new C.D<C.A<C.B>>(new C.A<C.B>())).val;
2014-08-25 19:36:12 +02:00
>x : C.A<C.B>
>(new C.D<C.A<C.B>>(new C.A<C.B>())).val : C.A<C.B>
>(new C.D<C.A<C.B>>(new C.A<C.B>())) : C.D<C.A<C.B>>
>new C.D<C.A<C.B>>(new C.A<C.B>()) : C.D<C.A<C.B>>
>C.D : typeof C.D
2014-08-15 23:33:16 +02:00
>C : typeof C
2014-08-25 19:36:12 +02:00
>D : typeof C.D
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>A : C.A<T>
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>B : C.B
>new C.A<C.B>() : C.A<C.B>
>C.A : typeof C.A
2014-08-15 23:33:16 +02:00
>C : typeof C
2014-08-25 19:36:12 +02:00
>A : typeof C.A
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>B : C.B
>val : C.A<C.B>
2014-08-15 23:33:16 +02:00
export function f<T extends C.A<C.B>>() { }
2014-08-22 03:39:46 +02:00
>f : typeof f
2014-08-15 23:33:16 +02:00
>T : T
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>A : C.A<T>
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>B : C.B
2014-08-15 23:33:16 +02:00
export var g = C.F5<C.A<C.B>>();
2014-08-25 19:36:12 +02:00
>g : C.A<C.B>
>C.F5<C.A<C.B>>() : C.A<C.B>
>C.F5 : typeof C.F5
2014-08-15 23:33:16 +02:00
>C : typeof C
2014-08-25 19:36:12 +02:00
>F5 : typeof C.F5
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>A : C.A<T>
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>B : C.B
2014-08-15 23:33:16 +02:00
export class h extends C.A<C.B>{ }
>h : h
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>A : C.A<T>
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>B : C.B
2014-08-15 23:33:16 +02:00
export interface i extends C.A<C.B> { }
>i : i
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>A : C.A<T>
2014-08-28 21:40:58 +02:00
>C : unknown
2014-08-25 19:36:12 +02:00
>B : C.B
2014-08-15 23:33:16 +02:00
export var j = C.F6;
2014-08-25 19:36:12 +02:00
>j : typeof C.F6
>C.F6 : typeof C.F6
2014-08-15 23:33:16 +02:00
>C : typeof C
2014-08-25 19:36:12 +02:00
>F6 : typeof C.F6
2014-08-15 23:33:16 +02:00