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
|
=== tests/cases/compiler/functionSignatureAssignmentCompat1.ts ===
interface ParserFunc {
(eventEmitter: number, buffer: string): void;
>eventEmitter : number
>buffer : string
}
interface Parsers {
raw: ParserFunc;
>raw : ParserFunc
readline(delimiter?: string): ParserFunc;
>readline : (delimiter?: string) => ParserFunc
>delimiter : string
}
var parsers: Parsers;
>parsers : Parsers
var c: ParserFunc = parsers.raw; // ok!
>c : ParserFunc
>parsers.raw : ParserFunc
>parsers : Parsers
>raw : ParserFunc
var d: ParserFunc = parsers.readline; // not ok
>d : ParserFunc
>parsers.readline : (delimiter?: string) => ParserFunc
>parsers : Parsers
>readline : (delimiter?: string) => ParserFunc
var e: ParserFunc = parsers.readline(); // ok
>e : ParserFunc
>parsers.readline() : ParserFunc
>parsers.readline : (delimiter?: string) => ParserFunc
>parsers : Parsers
>readline : (delimiter?: string) => ParserFunc
|