TypeScript/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.types

121 lines
7.4 KiB
Text

=== tests/cases/compiler/overloadBindingAcrossDeclarationBoundaries.ts ===
interface Opt1 {
>Opt1 : Opt1, Symbol(Opt1,Decl(overloadBindingAcrossDeclarationBoundaries.ts,0,0))
p?: any;
>p : any, Symbol(p,Decl(overloadBindingAcrossDeclarationBoundaries.ts,0,16))
}
interface Opt2 {
>Opt2 : Opt2, Symbol(Opt2,Decl(overloadBindingAcrossDeclarationBoundaries.ts,2,1))
q?: any;
>q : any, Symbol(q,Decl(overloadBindingAcrossDeclarationBoundaries.ts,3,16))
}
interface Opt3 {
>Opt3 : Opt3, Symbol(Opt3,Decl(overloadBindingAcrossDeclarationBoundaries.ts,5,1))
r?: any;
>r : any, Symbol(r,Decl(overloadBindingAcrossDeclarationBoundaries.ts,6,16))
}
interface Opt4 {
>Opt4 : Opt4, Symbol(Opt4,Decl(overloadBindingAcrossDeclarationBoundaries.ts,8,1))
s?: any;
>s : any, Symbol(s,Decl(overloadBindingAcrossDeclarationBoundaries.ts,9,16))
}
interface A {
>A : A, Symbol(A,Decl(overloadBindingAcrossDeclarationBoundaries.ts,11,1),Decl(overloadBindingAcrossDeclarationBoundaries.ts,19,1))
a(o: Opt1): Opt1;
>a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }, Symbol(a,Decl(overloadBindingAcrossDeclarationBoundaries.ts,12,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,13,21),Decl(overloadBindingAcrossDeclarationBoundaries.ts,20,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,21,21))
>o : Opt1, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,13,6))
>Opt1 : Opt1, Symbol(Opt1,Decl(overloadBindingAcrossDeclarationBoundaries.ts,0,0))
>Opt1 : Opt1, Symbol(Opt1,Decl(overloadBindingAcrossDeclarationBoundaries.ts,0,0))
a(o: Opt2): Opt2;
>a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }, Symbol(a,Decl(overloadBindingAcrossDeclarationBoundaries.ts,12,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,13,21),Decl(overloadBindingAcrossDeclarationBoundaries.ts,20,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,21,21))
>o : Opt2, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,14,6))
>Opt2 : Opt2, Symbol(Opt2,Decl(overloadBindingAcrossDeclarationBoundaries.ts,2,1))
>Opt2 : Opt2, Symbol(Opt2,Decl(overloadBindingAcrossDeclarationBoundaries.ts,2,1))
(o: Opt1): Opt1;
>o : Opt1, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,15,5))
>Opt1 : Opt1, Symbol(Opt1,Decl(overloadBindingAcrossDeclarationBoundaries.ts,0,0))
>Opt1 : Opt1, Symbol(Opt1,Decl(overloadBindingAcrossDeclarationBoundaries.ts,0,0))
(o: Opt2): Opt2;
>o : Opt2, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,16,5))
>Opt2 : Opt2, Symbol(Opt2,Decl(overloadBindingAcrossDeclarationBoundaries.ts,2,1))
>Opt2 : Opt2, Symbol(Opt2,Decl(overloadBindingAcrossDeclarationBoundaries.ts,2,1))
new (o: Opt1): Opt1;
>o : Opt1, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,17,9))
>Opt1 : Opt1, Symbol(Opt1,Decl(overloadBindingAcrossDeclarationBoundaries.ts,0,0))
>Opt1 : Opt1, Symbol(Opt1,Decl(overloadBindingAcrossDeclarationBoundaries.ts,0,0))
new (o: Opt2): Opt2;
>o : Opt2, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,18,9))
>Opt2 : Opt2, Symbol(Opt2,Decl(overloadBindingAcrossDeclarationBoundaries.ts,2,1))
>Opt2 : Opt2, Symbol(Opt2,Decl(overloadBindingAcrossDeclarationBoundaries.ts,2,1))
}
interface A {
>A : A, Symbol(A,Decl(overloadBindingAcrossDeclarationBoundaries.ts,11,1),Decl(overloadBindingAcrossDeclarationBoundaries.ts,19,1))
a(o: Opt3): Opt3;
>a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }, Symbol(a,Decl(overloadBindingAcrossDeclarationBoundaries.ts,12,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,13,21),Decl(overloadBindingAcrossDeclarationBoundaries.ts,20,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,21,21))
>o : Opt3, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,21,6))
>Opt3 : Opt3, Symbol(Opt3,Decl(overloadBindingAcrossDeclarationBoundaries.ts,5,1))
>Opt3 : Opt3, Symbol(Opt3,Decl(overloadBindingAcrossDeclarationBoundaries.ts,5,1))
a(o: Opt4): Opt4;
>a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }, Symbol(a,Decl(overloadBindingAcrossDeclarationBoundaries.ts,12,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,13,21),Decl(overloadBindingAcrossDeclarationBoundaries.ts,20,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,21,21))
>o : Opt4, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,22,6))
>Opt4 : Opt4, Symbol(Opt4,Decl(overloadBindingAcrossDeclarationBoundaries.ts,8,1))
>Opt4 : Opt4, Symbol(Opt4,Decl(overloadBindingAcrossDeclarationBoundaries.ts,8,1))
(o: Opt3): Opt3;
>o : Opt3, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,23,5))
>Opt3 : Opt3, Symbol(Opt3,Decl(overloadBindingAcrossDeclarationBoundaries.ts,5,1))
>Opt3 : Opt3, Symbol(Opt3,Decl(overloadBindingAcrossDeclarationBoundaries.ts,5,1))
(o: Opt4): Opt4;
>o : Opt4, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,24,5))
>Opt4 : Opt4, Symbol(Opt4,Decl(overloadBindingAcrossDeclarationBoundaries.ts,8,1))
>Opt4 : Opt4, Symbol(Opt4,Decl(overloadBindingAcrossDeclarationBoundaries.ts,8,1))
new (o: Opt3): Opt3;
>o : Opt3, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,25,9))
>Opt3 : Opt3, Symbol(Opt3,Decl(overloadBindingAcrossDeclarationBoundaries.ts,5,1))
>Opt3 : Opt3, Symbol(Opt3,Decl(overloadBindingAcrossDeclarationBoundaries.ts,5,1))
new (o: Opt4): Opt4;
>o : Opt4, Symbol(o,Decl(overloadBindingAcrossDeclarationBoundaries.ts,26,9))
>Opt4 : Opt4, Symbol(Opt4,Decl(overloadBindingAcrossDeclarationBoundaries.ts,8,1))
>Opt4 : Opt4, Symbol(Opt4,Decl(overloadBindingAcrossDeclarationBoundaries.ts,8,1))
}
var a: A;
>a : A, Symbol(a,Decl(overloadBindingAcrossDeclarationBoundaries.ts,29,3))
>A : A, Symbol(A,Decl(overloadBindingAcrossDeclarationBoundaries.ts,11,1),Decl(overloadBindingAcrossDeclarationBoundaries.ts,19,1))
// These should all be Opt3
var a1 = a.a({});
>a1 : Opt3, Symbol(a1,Decl(overloadBindingAcrossDeclarationBoundaries.ts,31,3),Decl(overloadBindingAcrossDeclarationBoundaries.ts,32,3),Decl(overloadBindingAcrossDeclarationBoundaries.ts,33,3))
>a.a({}) : Opt3
>a.a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }, Symbol(A.a,Decl(overloadBindingAcrossDeclarationBoundaries.ts,12,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,13,21),Decl(overloadBindingAcrossDeclarationBoundaries.ts,20,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,21,21))
>a : A, Symbol(a,Decl(overloadBindingAcrossDeclarationBoundaries.ts,29,3))
>a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }, Symbol(A.a,Decl(overloadBindingAcrossDeclarationBoundaries.ts,12,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,13,21),Decl(overloadBindingAcrossDeclarationBoundaries.ts,20,13),Decl(overloadBindingAcrossDeclarationBoundaries.ts,21,21))
>{} : {}
var a1 = a({});
>a1 : Opt3, Symbol(a1,Decl(overloadBindingAcrossDeclarationBoundaries.ts,31,3),Decl(overloadBindingAcrossDeclarationBoundaries.ts,32,3),Decl(overloadBindingAcrossDeclarationBoundaries.ts,33,3))
>a({}) : Opt3
>a : A, Symbol(a,Decl(overloadBindingAcrossDeclarationBoundaries.ts,29,3))
>{} : {}
var a1 = new a({});
>a1 : Opt3, Symbol(a1,Decl(overloadBindingAcrossDeclarationBoundaries.ts,31,3),Decl(overloadBindingAcrossDeclarationBoundaries.ts,32,3),Decl(overloadBindingAcrossDeclarationBoundaries.ts,33,3))
>new a({}) : Opt3
>a : A, Symbol(a,Decl(overloadBindingAcrossDeclarationBoundaries.ts,29,3))
>{} : {}