82 lines
3.9 KiB
Plaintext
82 lines
3.9 KiB
Plaintext
=== 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))
|
|
|