1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
=== tests/cases/compiler/functionOverloads45.ts ===
interface Animal { animal }
>Animal : Symbol(Animal, Decl(functionOverloads45.ts, 0, 0))
>animal : Symbol(Animal.animal, Decl(functionOverloads45.ts, 0, 18))
interface Dog extends Animal { dog }
>Dog : Symbol(Dog, Decl(functionOverloads45.ts, 0, 27))
>Animal : Symbol(Animal, Decl(functionOverloads45.ts, 0, 0))
>dog : Symbol(Dog.dog, Decl(functionOverloads45.ts, 1, 30))
interface Cat extends Animal { cat }
>Cat : Symbol(Cat, Decl(functionOverloads45.ts, 1, 36))
>Animal : Symbol(Animal, Decl(functionOverloads45.ts, 0, 0))
>cat : Symbol(Cat.cat, Decl(functionOverloads45.ts, 2, 30))
function foo1(bar: { a:number }[]): Cat;
>foo1 : Symbol(foo1, Decl(functionOverloads45.ts, 2, 36), Decl(functionOverloads45.ts, 4, 40), Decl(functionOverloads45.ts, 5, 40))
>bar : Symbol(bar, Decl(functionOverloads45.ts, 4, 14))
>a : Symbol(a, Decl(functionOverloads45.ts, 4, 20))
>Cat : Symbol(Cat, Decl(functionOverloads45.ts, 1, 36))
function foo1(bar: { a:string }[]): Dog;
>foo1 : Symbol(foo1, Decl(functionOverloads45.ts, 2, 36), Decl(functionOverloads45.ts, 4, 40), Decl(functionOverloads45.ts, 5, 40))
>bar : Symbol(bar, Decl(functionOverloads45.ts, 5, 14))
>a : Symbol(a, Decl(functionOverloads45.ts, 5, 20))
>Dog : Symbol(Dog, Decl(functionOverloads45.ts, 0, 27))
function foo1([x]: { a:number | string }[]): Animal {
>foo1 : Symbol(foo1, Decl(functionOverloads45.ts, 2, 36), Decl(functionOverloads45.ts, 4, 40), Decl(functionOverloads45.ts, 5, 40))
>x : Symbol(x, Decl(functionOverloads45.ts, 6, 15))
>a : Symbol(a, Decl(functionOverloads45.ts, 6, 20))
>Animal : Symbol(Animal, Decl(functionOverloads45.ts, 0, 0))
return undefined;
>undefined : Symbol(undefined)
}
function foo2(bar: { a:number }[]): Cat;
>foo2 : Symbol(foo2, Decl(functionOverloads45.ts, 8, 1), Decl(functionOverloads45.ts, 10, 40), Decl(functionOverloads45.ts, 11, 40))
>bar : Symbol(bar, Decl(functionOverloads45.ts, 10, 14))
>a : Symbol(a, Decl(functionOverloads45.ts, 10, 20))
>Cat : Symbol(Cat, Decl(functionOverloads45.ts, 1, 36))
function foo2(bar: { a:string }[]): Dog;
>foo2 : Symbol(foo2, Decl(functionOverloads45.ts, 8, 1), Decl(functionOverloads45.ts, 10, 40), Decl(functionOverloads45.ts, 11, 40))
>bar : Symbol(bar, Decl(functionOverloads45.ts, 11, 14))
>a : Symbol(a, Decl(functionOverloads45.ts, 11, 20))
>Dog : Symbol(Dog, Decl(functionOverloads45.ts, 0, 27))
function foo2([x]: { a:number | string }[]): Cat | Dog {
>foo2 : Symbol(foo2, Decl(functionOverloads45.ts, 8, 1), Decl(functionOverloads45.ts, 10, 40), Decl(functionOverloads45.ts, 11, 40))
>x : Symbol(x, Decl(functionOverloads45.ts, 12, 15))
>a : Symbol(a, Decl(functionOverloads45.ts, 12, 20))
>Cat : Symbol(Cat, Decl(functionOverloads45.ts, 1, 36))
>Dog : Symbol(Dog, Decl(functionOverloads45.ts, 0, 27))
return undefined;
>undefined : Symbol(undefined)
}
var x1 = foo1([{a: "str"}]);
>x1 : Symbol(x1, Decl(functionOverloads45.ts, 17, 3))
>foo1 : Symbol(foo1, Decl(functionOverloads45.ts, 2, 36), Decl(functionOverloads45.ts, 4, 40), Decl(functionOverloads45.ts, 5, 40))
>a : Symbol(a, Decl(functionOverloads45.ts, 17, 16))
var y1 = foo1([{a: 100}]);
>y1 : Symbol(y1, Decl(functionOverloads45.ts, 18, 3))
>foo1 : Symbol(foo1, Decl(functionOverloads45.ts, 2, 36), Decl(functionOverloads45.ts, 4, 40), Decl(functionOverloads45.ts, 5, 40))
>a : Symbol(a, Decl(functionOverloads45.ts, 18, 16))
var x2 = foo2([{a: "str"}]);
>x2 : Symbol(x2, Decl(functionOverloads45.ts, 20, 3))
>foo2 : Symbol(foo2, Decl(functionOverloads45.ts, 8, 1), Decl(functionOverloads45.ts, 10, 40), Decl(functionOverloads45.ts, 11, 40))
>a : Symbol(a, Decl(functionOverloads45.ts, 20, 16))
var y2 = foo2([{a: 100}]);
>y2 : Symbol(y2, Decl(functionOverloads45.ts, 21, 3))
>foo2 : Symbol(foo2, Decl(functionOverloads45.ts, 8, 1), Decl(functionOverloads45.ts, 10, 40), Decl(functionOverloads45.ts, 11, 40))
>a : Symbol(a, Decl(functionOverloads45.ts, 21, 16))
|