TypeScript/tests/baselines/reference/emptyIndexer.types

30 lines
808 B
Text

=== 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))