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
|
=== tests/cases/conformance/types/typeParameters/typeParameterLists/typeParametersAvailableInNestedScope.ts ===
class C<T> {
>C : C<T>
data: T;
>data : T
x = <U>(a: U) => {
>x : <U>(a: U) => T
><U>(a: U) => { var y: T; return y; } : <U>(a: U) => T
>a : U
var y: T;
>y : T
return y;
>y : T
}
foo() {
>foo : () => T
function temp<U>(a: U) {
>temp : <U>(a: U) => T
>a : U
var y: T;
>y : T
return y;
>y : T
}
return temp(<T>null);
>temp(<T>null) : T
>temp : <U>(a: U) => T
><T>null : T
>null : null
}
}
var c = new C<number>();
>c : C<number>
>new C<number>() : C<number>
>C : typeof C
c.data = c.x(null);
>c.data = c.x(null) : number
>c.data : number
>c : C<number>
>data : number
>c.x(null) : number
>c.x : <U>(a: U) => number
>c : C<number>
>x : <U>(a: U) => number
>null : null
c.data = c.foo();
>c.data = c.foo() : number
>c.data : number
>c : C<number>
>data : number
>c.foo() : number
>c.foo : () => number
>c : C<number>
>foo : () => number
|