TypeScript/tests/baselines/reference/typeParametersAvailableInNestedScope.types
2015-04-13 14:29:37 -07:00

76 lines
3.4 KiB
Plaintext

=== tests/cases/conformance/types/typeParameters/typeParameterLists/typeParametersAvailableInNestedScope.ts ===
class C<T> {
>C : C<T>, Symbol(C, Decl(typeParametersAvailableInNestedScope.ts, 0, 0))
>T : T, Symbol(T, Decl(typeParametersAvailableInNestedScope.ts, 0, 8))
data: T;
>data : T, Symbol(data, Decl(typeParametersAvailableInNestedScope.ts, 0, 12))
>T : T, Symbol(T, Decl(typeParametersAvailableInNestedScope.ts, 0, 8))
x = <U>(a: U) => {
>x : <U>(a: U) => T, Symbol(x, Decl(typeParametersAvailableInNestedScope.ts, 1, 12))
><U>(a: U) => { var y: T; return y; } : <U>(a: U) => T
>U : U, Symbol(U, Decl(typeParametersAvailableInNestedScope.ts, 3, 9))
>a : U, Symbol(a, Decl(typeParametersAvailableInNestedScope.ts, 3, 12))
>U : U, Symbol(U, Decl(typeParametersAvailableInNestedScope.ts, 3, 9))
var y: T;
>y : T, Symbol(y, Decl(typeParametersAvailableInNestedScope.ts, 4, 11))
>T : T, Symbol(T, Decl(typeParametersAvailableInNestedScope.ts, 0, 8))
return y;
>y : T, Symbol(y, Decl(typeParametersAvailableInNestedScope.ts, 4, 11))
}
foo() {
>foo : () => T, Symbol(foo, Decl(typeParametersAvailableInNestedScope.ts, 6, 5))
function temp<U>(a: U) {
>temp : <U>(a: U) => T, Symbol(temp, Decl(typeParametersAvailableInNestedScope.ts, 8, 11))
>U : U, Symbol(U, Decl(typeParametersAvailableInNestedScope.ts, 9, 22))
>a : U, Symbol(a, Decl(typeParametersAvailableInNestedScope.ts, 9, 25))
>U : U, Symbol(U, Decl(typeParametersAvailableInNestedScope.ts, 9, 22))
var y: T;
>y : T, Symbol(y, Decl(typeParametersAvailableInNestedScope.ts, 10, 15))
>T : T, Symbol(T, Decl(typeParametersAvailableInNestedScope.ts, 0, 8))
return y;
>y : T, Symbol(y, Decl(typeParametersAvailableInNestedScope.ts, 10, 15))
}
return temp(<T>null);
>temp(<T>null) : T
>temp : <U>(a: U) => T, Symbol(temp, Decl(typeParametersAvailableInNestedScope.ts, 8, 11))
><T>null : T
>T : T, Symbol(T, Decl(typeParametersAvailableInNestedScope.ts, 0, 8))
>null : null
}
}
var c = new C<number>();
>c : C<number>, Symbol(c, Decl(typeParametersAvailableInNestedScope.ts, 17, 3))
>new C<number>() : C<number>
>C : typeof C, Symbol(C, Decl(typeParametersAvailableInNestedScope.ts, 0, 0))
c.data = c.x(null);
>c.data = c.x(null) : number
>c.data : number, Symbol(C.data, Decl(typeParametersAvailableInNestedScope.ts, 0, 12))
>c : C<number>, Symbol(c, Decl(typeParametersAvailableInNestedScope.ts, 17, 3))
>data : number, Symbol(C.data, Decl(typeParametersAvailableInNestedScope.ts, 0, 12))
>c.x(null) : number
>c.x : <U>(a: U) => number, Symbol(C.x, Decl(typeParametersAvailableInNestedScope.ts, 1, 12))
>c : C<number>, Symbol(c, Decl(typeParametersAvailableInNestedScope.ts, 17, 3))
>x : <U>(a: U) => number, Symbol(C.x, Decl(typeParametersAvailableInNestedScope.ts, 1, 12))
>null : null
c.data = c.foo();
>c.data = c.foo() : number
>c.data : number, Symbol(C.data, Decl(typeParametersAvailableInNestedScope.ts, 0, 12))
>c : C<number>, Symbol(c, Decl(typeParametersAvailableInNestedScope.ts, 17, 3))
>data : number, Symbol(C.data, Decl(typeParametersAvailableInNestedScope.ts, 0, 12))
>c.foo() : number
>c.foo : () => number, Symbol(C.foo, Decl(typeParametersAvailableInNestedScope.ts, 6, 5))
>c : C<number>, Symbol(c, Decl(typeParametersAvailableInNestedScope.ts, 17, 3))
>foo : () => number, Symbol(C.foo, Decl(typeParametersAvailableInNestedScope.ts, 6, 5))