TypeScript/tests/baselines/reference/callWithSpread2.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

180 lines
4.2 KiB
Plaintext

=== tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts ===
declare function all(a?: number, b?: number): void;
>all : (a?: number, b?: number) => void
>a : number
>b : number
declare function weird(a?: number | string, b?: number | string): void;
>weird : (a?: string | number, b?: string | number) => void
>a : string | number
>b : string | number
declare function prefix(s: string, a?: number, b?: number): void;
>prefix : (s: string, a?: number, b?: number) => void
>s : string
>a : number
>b : number
declare function rest(s: string, a?: number, b?: number, ...rest: number[]): void;
>rest : (s: string, a?: number, b?: number, ...rest: number[]) => void
>s : string
>a : number
>b : number
>rest : number[]
declare function normal(s: string): void;
>normal : (s: string) => void
>s : string
declare function thunk(): string;
>thunk : () => string
declare var ns: number[];
>ns : number[]
declare var mixed: (number | string)[];
>mixed : (string | number)[]
declare var tuple: [number, string];
>tuple : [number, string]
// good
all(...ns)
>all(...ns) : void
>all : (a?: number, b?: number) => void
>...ns : number
>ns : number[]
weird(...ns)
>weird(...ns) : void
>weird : (a?: string | number, b?: string | number) => void
>...ns : number
>ns : number[]
weird(...mixed)
>weird(...mixed) : void
>weird : (a?: string | number, b?: string | number) => void
>...mixed : string | number
>mixed : (string | number)[]
weird(...tuple)
>weird(...tuple) : void
>weird : (a?: string | number, b?: string | number) => void
>...tuple : string | number
>tuple : [number, string]
prefix("a", ...ns)
>prefix("a", ...ns) : void
>prefix : (s: string, a?: number, b?: number) => void
>"a" : "a"
>...ns : number
>ns : number[]
rest("d", ...ns)
>rest("d", ...ns) : void
>rest : (s: string, a?: number, b?: number, ...rest: number[]) => void
>"d" : "d"
>...ns : number
>ns : number[]
// this covers the arguments case
normal("g", ...ns)
>normal("g", ...ns) : void
>normal : (s: string) => void
>"g" : "g"
>...ns : number
>ns : number[]
normal("h", ...mixed)
>normal("h", ...mixed) : void
>normal : (s: string) => void
>"h" : "h"
>...mixed : string | number
>mixed : (string | number)[]
normal("i", ...tuple)
>normal("i", ...tuple) : void
>normal : (s: string) => void
>"i" : "i"
>...tuple : string | number
>tuple : [number, string]
thunk(...ns)
>thunk(...ns) : string
>thunk : () => string
>...ns : number
>ns : number[]
thunk(...mixed)
>thunk(...mixed) : string
>thunk : () => string
>...mixed : string | number
>mixed : (string | number)[]
thunk(...tuple)
>thunk(...tuple) : string
>thunk : () => string
>...tuple : string | number
>tuple : [number, string]
// bad
all(...mixed)
>all(...mixed) : void
>all : (a?: number, b?: number) => void
>...mixed : string | number
>mixed : (string | number)[]
all(...tuple)
>all(...tuple) : void
>all : (a?: number, b?: number) => void
>...tuple : string | number
>tuple : [number, string]
prefix("b", ...mixed)
>prefix("b", ...mixed) : void
>prefix : (s: string, a?: number, b?: number) => void
>"b" : "b"
>...mixed : string | number
>mixed : (string | number)[]
prefix("c", ...tuple)
>prefix("c", ...tuple) : void
>prefix : (s: string, a?: number, b?: number) => void
>"c" : "c"
>...tuple : string | number
>tuple : [number, string]
rest("e", ...mixed)
>rest("e", ...mixed) : void
>rest : (s: string, a?: number, b?: number, ...rest: number[]) => void
>"e" : "e"
>...mixed : string | number
>mixed : (string | number)[]
rest("f", ...tuple)
>rest("f", ...tuple) : void
>rest : (s: string, a?: number, b?: number, ...rest: number[]) => void
>"f" : "f"
>...tuple : string | number
>tuple : [number, string]
prefix(...ns) // required parameters are required
>prefix(...ns) : void
>prefix : (s: string, a?: number, b?: number) => void
>...ns : number
>ns : number[]
prefix(...mixed)
>prefix(...mixed) : void
>prefix : (s: string, a?: number, b?: number) => void
>...mixed : string | number
>mixed : (string | number)[]
prefix(...tuple)
>prefix(...tuple) : void
>prefix : (s: string, a?: number, b?: number) => void
>...tuple : string | number
>tuple : [number, string]