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

115 lines
2.9 KiB
Plaintext

=== tests/cases/conformance/types/members/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts ===
interface Function {
>Function : Function
data: number;
>data : number
[x: string]: Object;
>x : string
>Object : Object
}
interface I {
>I : I
new(): number;
apply(a: any, b?: any): void;
>apply : (a: any, b?: any) => void
>a : any
>b : any
call(thisArg: number, ...argArray: number[]): any;
>call : (thisArg: number, ...argArray: number[]) => any
>thisArg : number
>argArray : number[]
}
var i: I;
>i : I
>I : I
var r1: (a: any, b?: any) => void = i.apply;
>r1 : (a: any, b?: any) => void
>a : any
>b : any
>i.apply : (a: any, b?: any) => void
>i : I
>apply : (a: any, b?: any) => void
var r1b: (thisArg: number, ...argArray: number[]) => void = i.call;
>r1b : (thisArg: number, ...argArray: number[]) => void
>thisArg : number
>argArray : number[]
>i.call : (thisArg: number, ...argArray: number[]) => any
>i : I
>call : (thisArg: number, ...argArray: number[]) => any
var r1c = i.arguments;
>r1c : any
>i.arguments : any
>i : I
>arguments : any
var r1d = i.data;
>r1d : number
>i.data : number
>i : I
>data : number
var r1e = i['hm']; // should be Object
>r1e : any
>i['hm'] : any
>i : I
>'hm' : string
var x: {
>x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; }
new(): number;
apply(a: any, b?: any): void;
>apply : (a: any, b?: any) => void
>a : any
>b : any
call(thisArg: number, ...argArray: number[]): any;
>call : (thisArg: number, ...argArray: number[]) => any
>thisArg : number
>argArray : number[]
}
var r2: (a: any, b?: any) => void = x.apply;
>r2 : (a: any, b?: any) => void
>a : any
>b : any
>x.apply : (a: any, b?: any) => void
>x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; }
>apply : (a: any, b?: any) => void
var r2b: (thisArg: number, ...argArray: number[]) => void = x.call;
>r2b : (thisArg: number, ...argArray: number[]) => void
>thisArg : number
>argArray : number[]
>x.call : (thisArg: number, ...argArray: number[]) => any
>x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; }
>call : (thisArg: number, ...argArray: number[]) => any
var r2c = x.arguments;
>r2c : any
>x.arguments : any
>x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; }
>arguments : any
var r2d = x.data;
>r2d : number
>x.data : number
>x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; }
>data : number
var r2e = x['hm']; // should be Object
>r2e : any
>x['hm'] : any
>x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; }
>'hm' : string