TypeScript/tests/baselines/reference/typeParametersAvailableInNestedScope.types

76 lines
1.2 KiB
Plaintext
Raw Normal View History

2014-08-15 23:33:16 +02:00
=== tests/cases/conformance/types/typeParameters/typeParameterLists/typeParametersAvailableInNestedScope.ts ===
class C<T> {
>C : C<T>
>T : T
2014-08-15 23:33:16 +02:00
data: T;
>data : T
>T : T
2014-08-15 23:33:16 +02:00
x = <U>(a: U) => {
>x : <U>(a: U) => T
2014-08-22 03:39:46 +02:00
><U>(a: U) => { var y: T; return y; } : <U>(a: U) => T
>U : U
>a : U
>U : U
2014-08-15 23:33:16 +02:00
var y: T;
>y : T
>T : T
2014-08-15 23:33:16 +02:00
return y;
>y : T
2014-08-15 23:33:16 +02:00
}
foo() {
>foo : () => T
2014-08-15 23:33:16 +02:00
function temp<U>(a: U) {
>temp : <U>(a: U) => T
>U : U
>a : U
>U : U
2014-08-15 23:33:16 +02:00
var y: T;
>y : T
>T : T
2014-08-15 23:33:16 +02:00
return y;
>y : T
2014-08-15 23:33:16 +02:00
}
return temp(<T>null);
>temp(<T>null) : T
>temp : <U>(a: U) => T
2014-08-15 23:33:16 +02:00
><T>null : T
>T : T
2015-04-13 21:36:11 +02:00
>null : null
2014-08-15 23:33:16 +02:00
}
}
var c = new C<number>();
>c : C<number>
2014-08-15 23:33:16 +02:00
>new C<number>() : C<number>
>C : typeof C
2014-08-15 23:33:16 +02:00
c.data = c.x(null);
>c.data = c.x(null) : number
>c.data : number
>c : C<number>
>data : number
2014-08-15 23:33:16 +02:00
>c.x(null) : number
>c.x : <U>(a: U) => number
>c : C<number>
>x : <U>(a: U) => number
2015-04-13 21:36:11 +02:00
>null : null
2014-08-15 23:33:16 +02:00
c.data = c.foo();
>c.data = c.foo() : number
>c.data : number
>c : C<number>
>data : number
2014-08-15 23:33:16 +02:00
>c.foo() : number
>c.foo : () => number
>c : C<number>
>foo : () => number
2014-08-15 23:33:16 +02:00