56 lines
841 B
Plaintext
56 lines
841 B
Plaintext
=== tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithoutAnnotationsOrBody.ts ===
|
|
// Call signatures without a return type annotation and function body return 'any'
|
|
|
|
function foo(x) { }
|
|
>foo : (x: any) => void
|
|
>x : any
|
|
|
|
var r = foo(1); // void since there's a body
|
|
>r : void
|
|
>foo(1) : void
|
|
>foo : (x: any) => void
|
|
|
|
interface I {
|
|
>I : I
|
|
|
|
();
|
|
f();
|
|
>f : () => any
|
|
}
|
|
var i: I;
|
|
>i : I
|
|
>I : I
|
|
|
|
var r2 = i();
|
|
>r2 : any
|
|
>i() : any
|
|
>i : I
|
|
|
|
var r3 = i.f();
|
|
>r3 : any
|
|
>i.f() : any
|
|
>i.f : () => any
|
|
>i : I
|
|
>f : () => any
|
|
|
|
var a: {
|
|
>a : { (): any; f(): any; }
|
|
|
|
();
|
|
f();
|
|
>f : () => any
|
|
|
|
};
|
|
var r4 = a();
|
|
>r4 : any
|
|
>a() : any
|
|
>a : { (): any; f(): any; }
|
|
|
|
var r5 = a.f();
|
|
>r5 : any
|
|
>a.f() : any
|
|
>a.f : () => any
|
|
>a : { (): any; f(): any; }
|
|
>f : () => any
|
|
|