TypeScript/tests/baselines/reference/interfaceContextualType.types
2015-01-24 08:04:23 -08:00

64 lines
1.4 KiB
Plaintext

=== tests/cases/compiler/interfaceContextualType.ts ===
export interface IOptions {
>IOptions : IOptions
italic?: boolean;
>italic : boolean
bold?: boolean;
>bold : boolean
}
export interface IMap {
>IMap : IMap
[s: string]: IOptions;
>s : string
>IOptions : IOptions
}
class Bug {
>Bug : Bug
public values: IMap;
>values : IMap
>IMap : IMap
ok() {
>ok : () => void
this.values = {};
>this.values = {} : { [x: string]: undefined; }
>this.values : IMap
>this : Bug
>values : IMap
>{} : { [x: string]: undefined; }
this.values['comments'] = { italic: true };
>this.values['comments'] = { italic: true } : { italic: boolean; }
>this.values['comments'] : IOptions
>this.values : IMap
>this : Bug
>values : IMap
>{ italic: true } : { italic: boolean; }
>italic : boolean
}
shouldBeOK() {
>shouldBeOK : () => void
this.values = {
>this.values = { comments: { italic: true } } : { [x: string]: { italic: boolean; }; comments: { italic: boolean; }; }
>this.values : IMap
>this : Bug
>values : IMap
>{ comments: { italic: true } } : { [x: string]: { italic: boolean; }; comments: { italic: boolean; }; }
comments: { italic: true }
>comments : { italic: boolean; }
>{ italic: true } : { italic: boolean; }
>italic : boolean
};
}
}