TypeScript/tests/baselines/reference/overloadResolutionTest1.js
Sheetal Nandi 6ab3adfd43 Modified the emitComment logic to handle emitting leading or trailing spaces depending on flags
Leading comments have trailing separator while trailing comments have leading space
This removes the extra trailing space in the trailing comments
2014-08-15 14:32:08 -07:00

49 lines
1.4 KiB
JavaScript

//// [overloadResolutionTest1.ts]
function foo(bar:{a:number;}[]):string;
function foo(bar:{a:boolean;}[]):number;
function foo(bar:{a:any;}[]):any{ return bar };
var x1 = foo([{a:true}]); // works
var x11 = foo([{a:0}]); // works
var x111 = foo([{a:"s"}]); // error - does not match any signature
var x1111 = foo([{a:null}]); // works - ambiguous call is resolved to be the first in the overload set so this returns a string
function foo2(bar:{a:number;}):string;
function foo2(bar:{a:boolean;}):number;
function foo2(bar:{a:any;}):any{ return bar };
var x2 = foo2({a:0}); // works
var x3 = foo2({a:true}); // works
var x4 = foo2({a:"s"}); // error
function foo4(bar:{a:number;}):number;
function foo4(bar:{a:string;}):string;
function foo4(bar:{a:any;}):any{ return bar };
var x = foo4({a:true}); // error
//// [overloadResolutionTest1.js]
function foo(bar) {
return bar;
}
;
var x1 = foo([{ a: true }]); // works
var x11 = foo([{ a: 0 }]); // works
var x111 = foo([{ a: "s" }]); // error - does not match any signature
var x1111 = foo([{ a: null }]); // works - ambiguous call is resolved to be the first in the overload set so this returns a string
function foo2(bar) {
return bar;
}
;
var x2 = foo2({ a: 0 }); // works
var x3 = foo2({ a: true }); // works
var x4 = foo2({ a: "s" }); // error
function foo4(bar) {
return bar;
}
;
var x = foo4({ a: true }); // error