TypeScript/tests/baselines/reference/overloadReturnTypes.types

65 lines
1.8 KiB
Plaintext
Raw Normal View History

2014-08-15 23:33:16 +02:00
=== tests/cases/compiler/overloadReturnTypes.ts ===
class Accessor {}
>Accessor : Accessor
2014-08-15 23:33:16 +02:00
function attr(name: string): string;
>attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; }
>name : string
2014-08-15 23:33:16 +02:00
function attr(name: string, value: string): Accessor;
>attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; }
>name : string
>value : string
>Accessor : Accessor
2014-08-15 23:33:16 +02:00
function attr(map: any): Accessor;
>attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; }
>map : any
>Accessor : Accessor
2014-08-15 23:33:16 +02:00
function attr(nameOrMap: any, value?: string): any {
>attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; }
>nameOrMap : any
>value : string
2014-08-15 23:33:16 +02:00
if (nameOrMap && typeof nameOrMap === "object") {
>nameOrMap && typeof nameOrMap === "object" : boolean
>nameOrMap : any
2014-08-15 23:33:16 +02:00
>typeof nameOrMap === "object" : boolean
>typeof nameOrMap : string
>nameOrMap : any
2015-04-13 21:36:11 +02:00
>"object" : string
2014-08-15 23:33:16 +02:00
// handle map case
return new Accessor;
>new Accessor : Accessor
>Accessor : typeof Accessor
2014-08-15 23:33:16 +02:00
}
else {
// handle string case
return "s";
2015-04-13 21:36:11 +02:00
>"s" : string
2014-08-15 23:33:16 +02:00
}
}
interface IFace {
>IFace : IFace
2014-08-15 23:33:16 +02:00
attr(name:string):string;
>attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; }
>name : string
2014-08-15 23:33:16 +02:00
attr(name: string, value: string): Accessor;
>attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; }
>name : string
>value : string
>Accessor : Accessor
2014-08-15 23:33:16 +02:00
attr(map: any): Accessor;
>attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; }
>map : any
>Accessor : Accessor
2014-08-15 23:33:16 +02:00
}