121 lines
1.8 KiB
Text
121 lines
1.8 KiB
Text
=== tests/cases/compiler/overloadBindingAcrossDeclarationBoundaries.ts ===
|
|
interface Opt1 {
|
|
>Opt1 : Opt1
|
|
|
|
p?: any;
|
|
>p : any
|
|
}
|
|
interface Opt2 {
|
|
>Opt2 : Opt2
|
|
|
|
q?: any;
|
|
>q : any
|
|
}
|
|
interface Opt3 {
|
|
>Opt3 : Opt3
|
|
|
|
r?: any;
|
|
>r : any
|
|
}
|
|
interface Opt4 {
|
|
>Opt4 : Opt4
|
|
|
|
s?: any;
|
|
>s : any
|
|
}
|
|
interface A {
|
|
>A : A
|
|
|
|
a(o: Opt1): Opt1;
|
|
>a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }
|
|
>o : Opt1
|
|
>Opt1 : Opt1
|
|
>Opt1 : Opt1
|
|
|
|
a(o: Opt2): Opt2;
|
|
>a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }
|
|
>o : Opt2
|
|
>Opt2 : Opt2
|
|
>Opt2 : Opt2
|
|
|
|
(o: Opt1): Opt1;
|
|
>o : Opt1
|
|
>Opt1 : Opt1
|
|
>Opt1 : Opt1
|
|
|
|
(o: Opt2): Opt2;
|
|
>o : Opt2
|
|
>Opt2 : Opt2
|
|
>Opt2 : Opt2
|
|
|
|
new (o: Opt1): Opt1;
|
|
>o : Opt1
|
|
>Opt1 : Opt1
|
|
>Opt1 : Opt1
|
|
|
|
new (o: Opt2): Opt2;
|
|
>o : Opt2
|
|
>Opt2 : Opt2
|
|
>Opt2 : Opt2
|
|
}
|
|
interface A {
|
|
>A : A
|
|
|
|
a(o: Opt3): Opt3;
|
|
>a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }
|
|
>o : Opt3
|
|
>Opt3 : Opt3
|
|
>Opt3 : Opt3
|
|
|
|
a(o: Opt4): Opt4;
|
|
>a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }
|
|
>o : Opt4
|
|
>Opt4 : Opt4
|
|
>Opt4 : Opt4
|
|
|
|
(o: Opt3): Opt3;
|
|
>o : Opt3
|
|
>Opt3 : Opt3
|
|
>Opt3 : Opt3
|
|
|
|
(o: Opt4): Opt4;
|
|
>o : Opt4
|
|
>Opt4 : Opt4
|
|
>Opt4 : Opt4
|
|
|
|
new (o: Opt3): Opt3;
|
|
>o : Opt3
|
|
>Opt3 : Opt3
|
|
>Opt3 : Opt3
|
|
|
|
new (o: Opt4): Opt4;
|
|
>o : Opt4
|
|
>Opt4 : Opt4
|
|
>Opt4 : Opt4
|
|
}
|
|
|
|
var a: A;
|
|
>a : A
|
|
>A : A
|
|
|
|
// These should all be Opt3
|
|
var a1 = a.a({});
|
|
>a1 : Opt3
|
|
>a.a({}) : Opt3
|
|
>a.a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }
|
|
>a : A
|
|
>a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; }
|
|
>{} : {}
|
|
|
|
var a1 = a({});
|
|
>a1 : Opt3
|
|
>a({}) : Opt3
|
|
>a : A
|
|
>{} : {}
|
|
|
|
var a1 = new a({});
|
|
>a1 : Opt3
|
|
>new a({}) : Opt3
|
|
>a : A
|
|
>{} : {}
|
|
|