TypeScript/tests/baselines/reference/emptyIndexer.types
2015-04-13 14:29:37 -07:00

31 lines
841 B
Plaintext

=== tests/cases/compiler/emptyIndexer.ts ===
interface I1 {
>I1 : I1, Symbol(I1, Decl(emptyIndexer.ts, 0, 0))
m(): number;
>m : () => number, Symbol(m, Decl(emptyIndexer.ts, 0, 14))
}
interface I2 {
>I2 : I2, Symbol(I2, Decl(emptyIndexer.ts, 2, 1))
[s:string]: I1;
>s : string, Symbol(s, Decl(emptyIndexer.ts, 5, 2))
>I1 : I1, Symbol(I1, Decl(emptyIndexer.ts, 0, 0))
}
var x: I2;
>x : I2, Symbol(x, Decl(emptyIndexer.ts, 9, 3))
>I2 : I2, Symbol(I2, Decl(emptyIndexer.ts, 2, 1))
var n = x[''].m(); // should not crash compiler
>n : number, Symbol(n, Decl(emptyIndexer.ts, 11, 3))
>x[''].m() : number
>x[''].m : () => number, Symbol(I1.m, Decl(emptyIndexer.ts, 0, 14))
>x[''] : I1
>x : I2, Symbol(x, Decl(emptyIndexer.ts, 9, 3))
>'' : string
>m : () => number, Symbol(I1.m, Decl(emptyIndexer.ts, 0, 14))