=== tests/cases/compiler/newArrays.ts === module M { >M : typeof M, Symbol(M, Decl(newArrays.ts, 0, 0)) class Foo {} >Foo : Foo, Symbol(Foo, Decl(newArrays.ts, 0, 10)) class Gar { >Gar : Gar, Symbol(Gar, Decl(newArrays.ts, 1, 13)) public fa: Foo[]; >fa : Foo[], Symbol(fa, Decl(newArrays.ts, 2, 12)) >Foo : Foo, Symbol(Foo, Decl(newArrays.ts, 0, 10)) public x = 10; >x : number, Symbol(x, Decl(newArrays.ts, 3, 19)) >10 : number public y = 10; >y : number, Symbol(y, Decl(newArrays.ts, 4, 16)) >10 : number public m () { >m : () => void, Symbol(m, Decl(newArrays.ts, 5, 16)) this.fa = new Array(this.x * this.y); >this.fa = new Array(this.x * this.y) : Foo[] >this.fa : Foo[], Symbol(fa, Decl(newArrays.ts, 2, 12)) >this : Gar, Symbol(Gar, Decl(newArrays.ts, 1, 13)) >fa : Foo[], Symbol(fa, Decl(newArrays.ts, 2, 12)) >new Array(this.x * this.y) : Foo[] >Array : ArrayConstructor, Symbol(Array, Decl(lib.d.ts, 1000, 23), Decl(lib.d.ts, 1171, 11)) >Foo : Foo, Symbol(Foo, Decl(newArrays.ts, 0, 10)) >this.x * this.y : number >this.x : number, Symbol(x, Decl(newArrays.ts, 3, 19)) >this : Gar, Symbol(Gar, Decl(newArrays.ts, 1, 13)) >x : number, Symbol(x, Decl(newArrays.ts, 3, 19)) >this.y : number, Symbol(y, Decl(newArrays.ts, 4, 16)) >this : Gar, Symbol(Gar, Decl(newArrays.ts, 1, 13)) >y : number, Symbol(y, Decl(newArrays.ts, 4, 16)) } } }