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

169 lines
4.4 KiB
Plaintext

=== tests/cases/compiler/funcdecl.ts ===
function simpleFunc() {
>simpleFunc : () => string
return "this is my simple func";
>"this is my simple func" : string
}
var simpleFuncVar = simpleFunc;
>simpleFuncVar : () => string
>simpleFunc : () => string
function anotherFuncNoReturn() {
>anotherFuncNoReturn : () => void
}
var anotherFuncNoReturnVar = anotherFuncNoReturn;
>anotherFuncNoReturnVar : () => void
>anotherFuncNoReturn : () => void
function withReturn() : string{
>withReturn : () => string
return "Hello";
>"Hello" : string
}
var withReturnVar = withReturn;
>withReturnVar : () => string
>withReturn : () => string
function withParams(a : string) : string{
>withParams : (a: string) => string
>a : string
return a;
>a : string
}
var withparamsVar = withParams;
>withparamsVar : (a: string) => string
>withParams : (a: string) => string
function withMultiParams(a : number, b, c: Object) {
>withMultiParams : (a: number, b: any, c: Object) => number
>a : number
>b : any
>c : Object
>Object : Object
return a;
>a : number
}
var withMultiParamsVar = withMultiParams;
>withMultiParamsVar : (a: number, b: any, c: Object) => number
>withMultiParams : (a: number, b: any, c: Object) => number
function withOptionalParams(a?: string) {
>withOptionalParams : (a?: string) => void
>a : string
}
var withOptionalParamsVar = withOptionalParams;
>withOptionalParamsVar : (a?: string) => void
>withOptionalParams : (a?: string) => void
function withInitializedParams(a: string, b0, b = 30, c = "string value") {
>withInitializedParams : (a: string, b0: any, b?: number, c?: string) => void
>a : string
>b0 : any
>b : number
>30 : number
>c : string
>"string value" : string
}
var withInitializedParamsVar = withInitializedParams;
>withInitializedParamsVar : (a: string, b0: any, b?: number, c?: string) => void
>withInitializedParams : (a: string, b0: any, b?: number, c?: string) => void
function withOptionalInitializedParams(a: string, c: string = "hello string") {
>withOptionalInitializedParams : (a: string, c?: string) => void
>a : string
>c : string
>"hello string" : string
}
var withOptionalInitializedParamsVar = withOptionalInitializedParams;
>withOptionalInitializedParamsVar : (a: string, c?: string) => void
>withOptionalInitializedParams : (a: string, c?: string) => void
function withRestParams(a: string, ... myRestParameter : number[]) {
>withRestParams : (a: string, ...myRestParameter: number[]) => number[]
>a : string
>myRestParameter : number[]
return myRestParameter;
>myRestParameter : number[]
}
var withRestParamsVar = withRestParams;
>withRestParamsVar : (a: string, ...myRestParameter: number[]) => number[]
>withRestParams : (a: string, ...myRestParameter: number[]) => number[]
function overload1(n: number) : string;
>overload1 : { (n: number): string; (s: string): string; }
>n : number
function overload1(s: string) : string;
>overload1 : { (n: number): string; (s: string): string; }
>s : string
function overload1(ns: any) {
>overload1 : { (n: number): string; (s: string): string; }
>ns : any
return ns.toString();
>ns.toString() : any
>ns.toString : any
>ns : any
>toString : any
}
var withOverloadSignature = overload1;
>withOverloadSignature : { (n: number): string; (s: string): string; }
>overload1 : { (n: number): string; (s: string): string; }
function f(n: () => void) { }
>f : (n: () => void) => void
>n : () => void
module m2 {
>m2 : typeof m2
export function foo(n: () => void ) {
>foo : (n: () => void) => void
>n : () => void
}
}
m2.foo(() => {
>m2.foo(() => { var b = 30; return b;}) : void
>m2.foo : (n: () => void) => void
>m2 : typeof m2
>foo : (n: () => void) => void
>() => { var b = 30; return b;} : () => number
var b = 30;
>b : number
>30 : number
return b;
>b : number
});
declare function fooAmbient(n: number): string;
>fooAmbient : (n: number) => string
>n : number
declare function overloadAmbient(n: number): string;
>overloadAmbient : { (n: number): string; (s: string): string; }
>n : number
declare function overloadAmbient(s: string): string;
>overloadAmbient : { (n: number): string; (s: string): string; }
>s : string
var f2 = () => {
>f2 : () => string
>() => { return "string";} : () => string
return "string";
>"string" : string
}