TypeScript/tests/baselines/reference/ambiguousOverload.types
Wesley Wigham 5353475fce Always collect type and symbol baselines (#18621)
* Always generate type & symbol baselines

* Accept changed shadowed baselines

* Accept brand new type and symbol baselines

* Allow `getTypeAtLocation` to return undefined in the type writer

* Accept baselines which had missing type information

* Bind container for dynamically names enum members so they may be printed

* Accept type/symbol baselines for enums with computed members

* First pass at reducing typeWriter memory overhead

* Use generators to allow for type and symbol baselines with no cache

* Accept new baselines for tests whose output was fixed by better newline splitting

* Hard cap on number of declarations printed, cache declaration print text

* handle differing newlines better still to handle RWC newlines

* Lower abridging count, accept abridged baselines

* Limit max RWC error output size, limit RWC type and symbol baseline input size

* Move skip logic into type and symbol baseliner to streamline error handling

* Accept removal of empty baselines

* Canonicalize path earlier to handle odd paths in input files

* Do canonicalization earlier still, also ensure parallel perf profiles for different targets do not trample one another

* No need to pathify again
2017-09-22 15:52:04 -07:00

60 lines
1.6 KiB
Plaintext

=== tests/cases/compiler/ambiguousOverload.ts ===
function foof(bar: string, y): number;
>foof : { (bar: string, y: any): number; (bar: string, x: any): string; }
>bar : string
>y : any
function foof(bar: string, x): string;
>foof : { (bar: string, y: any): number; (bar: string, x: any): string; }
>bar : string
>x : any
function foof(bar: any): any { return bar };
>foof : { (bar: string, y: any): number; (bar: string, x: any): string; }
>bar : any
>bar : any
var x: number = foof("s", null);
>x : number
>foof("s", null) : number
>foof : { (bar: string, y: any): number; (bar: string, x: any): string; }
>"s" : "s"
>null : null
var y: string = foof("s", null);
>y : string
>foof("s", null) : number
>foof : { (bar: string, y: any): number; (bar: string, x: any): string; }
>"s" : "s"
>null : null
function foof2(bar: string, x): string;
>foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; }
>bar : string
>x : any
function foof2(bar: string, y): number;
>foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; }
>bar : string
>y : any
function foof2(bar: any): any { return bar };
>foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; }
>bar : any
>bar : any
var x2: string = foof2("s", null);
>x2 : string
>foof2("s", null) : string
>foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; }
>"s" : "s"
>null : null
var y2: number = foof2("s", null);
>y2 : number
>foof2("s", null) : string
>foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; }
>"s" : "s"
>null : null