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

27 lines
1.7 KiB
Plaintext

=== tests/cases/compiler/functionOverloads38.ts ===
function foo(bar:{a:number;}[]):string;
>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; }, Symbol(foo, Decl(functionOverloads38.ts, 0, 0), Decl(functionOverloads38.ts, 0, 39), Decl(functionOverloads38.ts, 1, 40))
>bar : { a: number; }[], Symbol(bar, Decl(functionOverloads38.ts, 0, 13))
>a : number, Symbol(a, Decl(functionOverloads38.ts, 0, 18))
function foo(bar:{a:boolean;}[]):number;
>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; }, Symbol(foo, Decl(functionOverloads38.ts, 0, 0), Decl(functionOverloads38.ts, 0, 39), Decl(functionOverloads38.ts, 1, 40))
>bar : { a: boolean; }[], Symbol(bar, Decl(functionOverloads38.ts, 1, 13))
>a : boolean, Symbol(a, Decl(functionOverloads38.ts, 1, 18))
function foo(bar:{a:any;}[]):any{ return bar }
>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; }, Symbol(foo, Decl(functionOverloads38.ts, 0, 0), Decl(functionOverloads38.ts, 0, 39), Decl(functionOverloads38.ts, 1, 40))
>bar : { a: any; }[], Symbol(bar, Decl(functionOverloads38.ts, 2, 13))
>a : any, Symbol(a, Decl(functionOverloads38.ts, 2, 18))
>bar : { a: any; }[], Symbol(bar, Decl(functionOverloads38.ts, 2, 13))
var x = foo([{a:1}]);
>x : string, Symbol(x, Decl(functionOverloads38.ts, 3, 3))
>foo([{a:1}]) : string
>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; }, Symbol(foo, Decl(functionOverloads38.ts, 0, 0), Decl(functionOverloads38.ts, 0, 39), Decl(functionOverloads38.ts, 1, 40))
>[{a:1}] : { a: number; }[]
>{a:1} : { a: number; }
>a : number, Symbol(a, Decl(functionOverloads38.ts, 3, 14))
>1 : number