TypeScript/tests/baselines/reference/subtypingWithCallSignatures.symbols
2015-04-15 16:44:20 -07:00

51 lines
2.9 KiB
Plaintext

=== tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignatures.ts ===
module CallSignature {
>CallSignature : Symbol(CallSignature, Decl(subtypingWithCallSignatures.ts, 0, 0))
declare function foo1(cb: (x: number) => void): typeof cb;
>foo1 : Symbol(foo1, Decl(subtypingWithCallSignatures.ts, 0, 22), Decl(subtypingWithCallSignatures.ts, 1, 62))
>cb : Symbol(cb, Decl(subtypingWithCallSignatures.ts, 1, 26))
>x : Symbol(x, Decl(subtypingWithCallSignatures.ts, 1, 31))
>cb : Symbol(cb, Decl(subtypingWithCallSignatures.ts, 1, 26))
declare function foo1(cb: any): any;
>foo1 : Symbol(foo1, Decl(subtypingWithCallSignatures.ts, 0, 22), Decl(subtypingWithCallSignatures.ts, 1, 62))
>cb : Symbol(cb, Decl(subtypingWithCallSignatures.ts, 2, 26))
var r = foo1((x: number) => 1); // ok because base returns void
>r : Symbol(r, Decl(subtypingWithCallSignatures.ts, 3, 7))
>foo1 : Symbol(foo1, Decl(subtypingWithCallSignatures.ts, 0, 22), Decl(subtypingWithCallSignatures.ts, 1, 62))
>x : Symbol(x, Decl(subtypingWithCallSignatures.ts, 3, 18))
var r2 = foo1(<T>(x: T) => ''); // ok because base returns void
>r2 : Symbol(r2, Decl(subtypingWithCallSignatures.ts, 4, 7))
>foo1 : Symbol(foo1, Decl(subtypingWithCallSignatures.ts, 0, 22), Decl(subtypingWithCallSignatures.ts, 1, 62))
>T : Symbol(T, Decl(subtypingWithCallSignatures.ts, 4, 19))
>x : Symbol(x, Decl(subtypingWithCallSignatures.ts, 4, 22))
>T : Symbol(T, Decl(subtypingWithCallSignatures.ts, 4, 19))
declare function foo2(cb: (x: number, y: number) => void): typeof cb;
>foo2 : Symbol(foo2, Decl(subtypingWithCallSignatures.ts, 4, 35), Decl(subtypingWithCallSignatures.ts, 6, 73))
>cb : Symbol(cb, Decl(subtypingWithCallSignatures.ts, 6, 26))
>x : Symbol(x, Decl(subtypingWithCallSignatures.ts, 6, 31))
>y : Symbol(y, Decl(subtypingWithCallSignatures.ts, 6, 41))
>cb : Symbol(cb, Decl(subtypingWithCallSignatures.ts, 6, 26))
declare function foo2(cb: any): any;
>foo2 : Symbol(foo2, Decl(subtypingWithCallSignatures.ts, 4, 35), Decl(subtypingWithCallSignatures.ts, 6, 73))
>cb : Symbol(cb, Decl(subtypingWithCallSignatures.ts, 7, 26))
var r3 = foo2((x: number, y: number) => 1); // ok because base returns void
>r3 : Symbol(r3, Decl(subtypingWithCallSignatures.ts, 8, 7))
>foo2 : Symbol(foo2, Decl(subtypingWithCallSignatures.ts, 4, 35), Decl(subtypingWithCallSignatures.ts, 6, 73))
>x : Symbol(x, Decl(subtypingWithCallSignatures.ts, 8, 19))
>y : Symbol(y, Decl(subtypingWithCallSignatures.ts, 8, 29))
var r4 = foo2(<T>(x: T) => ''); // ok because base returns void
>r4 : Symbol(r4, Decl(subtypingWithCallSignatures.ts, 9, 7))
>foo2 : Symbol(foo2, Decl(subtypingWithCallSignatures.ts, 4, 35), Decl(subtypingWithCallSignatures.ts, 6, 73))
>T : Symbol(T, Decl(subtypingWithCallSignatures.ts, 9, 19))
>x : Symbol(x, Decl(subtypingWithCallSignatures.ts, 9, 22))
>T : Symbol(T, Decl(subtypingWithCallSignatures.ts, 9, 19))
}