TypeScript/tests/baselines/reference/returnTypeParameterWithModules.symbols
2015-06-12 09:32:15 -07:00

73 lines
3.7 KiB
Plaintext

=== tests/cases/compiler/returnTypeParameterWithModules.ts ===
module M1 {
>M1 : Symbol(M1, Decl(returnTypeParameterWithModules.ts, 0, 0))
export function reduce<A>(ar, f, e?): Array<A> {
>reduce : Symbol(reduce, Decl(returnTypeParameterWithModules.ts, 0, 11))
>A : Symbol(A, Decl(returnTypeParameterWithModules.ts, 1, 27))
>ar : Symbol(ar, Decl(returnTypeParameterWithModules.ts, 1, 30))
>f : Symbol(f, Decl(returnTypeParameterWithModules.ts, 1, 33))
>e : Symbol(e, Decl(returnTypeParameterWithModules.ts, 1, 36))
>Array : Symbol(Array, Decl(lib.d.ts, 1000, 23), Decl(lib.d.ts, 1171, 11))
>A : Symbol(A, Decl(returnTypeParameterWithModules.ts, 1, 27))
return Array.prototype.reduce.apply(ar, e ? [f, e] : [f]);
>Array.prototype.reduce.apply : Symbol(Function.apply, Decl(lib.d.ts, 228, 20))
>Array.prototype.reduce : Symbol(Array.reduce, Decl(lib.d.ts, 1129, 93), Decl(lib.d.ts, 1136, 120))
>Array.prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, 1167, 41))
>Array : Symbol(Array, Decl(lib.d.ts, 1000, 23), Decl(lib.d.ts, 1171, 11))
>prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, 1167, 41))
>reduce : Symbol(Array.reduce, Decl(lib.d.ts, 1129, 93), Decl(lib.d.ts, 1136, 120))
>apply : Symbol(Function.apply, Decl(lib.d.ts, 228, 20))
>ar : Symbol(ar, Decl(returnTypeParameterWithModules.ts, 1, 30))
>e : Symbol(e, Decl(returnTypeParameterWithModules.ts, 1, 36))
>f : Symbol(f, Decl(returnTypeParameterWithModules.ts, 1, 33))
>e : Symbol(e, Decl(returnTypeParameterWithModules.ts, 1, 36))
>f : Symbol(f, Decl(returnTypeParameterWithModules.ts, 1, 33))
};
};
module M2 {
>M2 : Symbol(M2, Decl(returnTypeParameterWithModules.ts, 4, 2))
import A = M1
>A : Symbol(A, Decl(returnTypeParameterWithModules.ts, 5, 11))
>M1 : Symbol(A, Decl(returnTypeParameterWithModules.ts, 0, 0))
export function compose() {
>compose : Symbol(compose, Decl(returnTypeParameterWithModules.ts, 6, 15))
A.reduce(arguments, compose2);
>A.reduce : Symbol(A.reduce, Decl(returnTypeParameterWithModules.ts, 0, 11))
>A : Symbol(A, Decl(returnTypeParameterWithModules.ts, 5, 11))
>reduce : Symbol(A.reduce, Decl(returnTypeParameterWithModules.ts, 0, 11))
>arguments : Symbol(arguments)
>compose2 : Symbol(compose2, Decl(returnTypeParameterWithModules.ts, 9, 6))
};
export function compose2<B, C, D>(g: (x: B) => C, f: (x: D) => B): (x: D) => C {
>compose2 : Symbol(compose2, Decl(returnTypeParameterWithModules.ts, 9, 6))
>B : Symbol(B, Decl(returnTypeParameterWithModules.ts, 10, 29))
>C : Symbol(C, Decl(returnTypeParameterWithModules.ts, 10, 31))
>D : Symbol(D, Decl(returnTypeParameterWithModules.ts, 10, 34))
>g : Symbol(g, Decl(returnTypeParameterWithModules.ts, 10, 38))
>x : Symbol(x, Decl(returnTypeParameterWithModules.ts, 10, 42))
>B : Symbol(B, Decl(returnTypeParameterWithModules.ts, 10, 29))
>C : Symbol(C, Decl(returnTypeParameterWithModules.ts, 10, 31))
>f : Symbol(f, Decl(returnTypeParameterWithModules.ts, 10, 53))
>x : Symbol(x, Decl(returnTypeParameterWithModules.ts, 10, 58))
>D : Symbol(D, Decl(returnTypeParameterWithModules.ts, 10, 34))
>B : Symbol(B, Decl(returnTypeParameterWithModules.ts, 10, 29))
>x : Symbol(x, Decl(returnTypeParameterWithModules.ts, 10, 72))
>D : Symbol(D, Decl(returnTypeParameterWithModules.ts, 10, 34))
>C : Symbol(C, Decl(returnTypeParameterWithModules.ts, 10, 31))
return function (x) { return g(f(x)); }
>x : Symbol(x, Decl(returnTypeParameterWithModules.ts, 11, 21))
>g : Symbol(g, Decl(returnTypeParameterWithModules.ts, 10, 38))
>f : Symbol(f, Decl(returnTypeParameterWithModules.ts, 10, 53))
>x : Symbol(x, Decl(returnTypeParameterWithModules.ts, 11, 21))
};
};