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

41 lines
1.8 KiB
Plaintext

=== tests/cases/compiler/overloadCrash.ts ===
interface I1 {a:number; b:number;};
>I1 : I1, Symbol(I1, Decl(overloadCrash.ts, 0, 0))
>a : number, Symbol(a, Decl(overloadCrash.ts, 0, 14))
>b : number, Symbol(b, Decl(overloadCrash.ts, 0, 23))
interface I2 {c:number; d:number;};
>I2 : I2, Symbol(I2, Decl(overloadCrash.ts, 0, 35))
>c : number, Symbol(c, Decl(overloadCrash.ts, 1, 14))
>d : number, Symbol(d, Decl(overloadCrash.ts, 1, 23))
interface I3 {a:number; b:number; c:number; d:number;};
>I3 : I3, Symbol(I3, Decl(overloadCrash.ts, 1, 35))
>a : number, Symbol(a, Decl(overloadCrash.ts, 2, 14))
>b : number, Symbol(b, Decl(overloadCrash.ts, 2, 23))
>c : number, Symbol(c, Decl(overloadCrash.ts, 2, 33))
>d : number, Symbol(d, Decl(overloadCrash.ts, 2, 43))
declare function foo(...n:I1[]);
>foo : { (...n: I1[]): any; (n1: I2, n3: I2): any; }, Symbol(foo, Decl(overloadCrash.ts, 2, 55), Decl(overloadCrash.ts, 4, 32))
>n : I1[], Symbol(n, Decl(overloadCrash.ts, 4, 21))
>I1 : I1, Symbol(I1, Decl(overloadCrash.ts, 0, 0))
declare function foo(n1:I2, n3:I2);
>foo : { (...n: I1[]): any; (n1: I2, n3: I2): any; }, Symbol(foo, Decl(overloadCrash.ts, 2, 55), Decl(overloadCrash.ts, 4, 32))
>n1 : I2, Symbol(n1, Decl(overloadCrash.ts, 5, 21))
>I2 : I2, Symbol(I2, Decl(overloadCrash.ts, 0, 35))
>n3 : I2, Symbol(n3, Decl(overloadCrash.ts, 5, 27))
>I2 : I2, Symbol(I2, Decl(overloadCrash.ts, 0, 35))
var i3:I3;
>i3 : I3, Symbol(i3, Decl(overloadCrash.ts, 7, 3))
>I3 : I3, Symbol(I3, Decl(overloadCrash.ts, 1, 35))
foo(i3, i3); // should not crash the compiler :)
>foo(i3, i3) : any
>foo : { (...n: I1[]): any; (n1: I2, n3: I2): any; }, Symbol(foo, Decl(overloadCrash.ts, 2, 55), Decl(overloadCrash.ts, 4, 32))
>i3 : I3, Symbol(i3, Decl(overloadCrash.ts, 7, 3))
>i3 : I3, Symbol(i3, Decl(overloadCrash.ts, 7, 3))