=== tests/cases/compiler/m7Bugs.ts === // scenario 1 interface ISomething { >ISomething : Symbol(ISomething, Decl(m7Bugs.ts, 0, 0)) something: number; >something : Symbol(something, Decl(m7Bugs.ts, 1, 22)) } var s: ISomething = ({ }); >s : Symbol(s, Decl(m7Bugs.ts, 5, 3)) >ISomething : Symbol(ISomething, Decl(m7Bugs.ts, 0, 0)) >ISomething : Symbol(ISomething, Decl(m7Bugs.ts, 0, 0)) // scenario 2 interface A { x: string; } >A : Symbol(A, Decl(m7Bugs.ts, 5, 38)) >x : Symbol(x, Decl(m7Bugs.ts, 9, 13)) interface B extends A { } >B : Symbol(B, Decl(m7Bugs.ts, 9, 26)) >A : Symbol(A, Decl(m7Bugs.ts, 5, 38)) var x: B = { }; >x : Symbol(x, Decl(m7Bugs.ts, 13, 3)) >B : Symbol(B, Decl(m7Bugs.ts, 9, 26)) >B : Symbol(B, Decl(m7Bugs.ts, 9, 26)) class C1 { >C1 : Symbol(C1, Decl(m7Bugs.ts, 13, 18)) public x: string; >x : Symbol(x, Decl(m7Bugs.ts, 15, 10)) } class C2 extends C1 {} >C2 : Symbol(C2, Decl(m7Bugs.ts, 17, 1)) >C1 : Symbol(C1, Decl(m7Bugs.ts, 13, 18)) var y1: C1 = new C2(); >y1 : Symbol(y1, Decl(m7Bugs.ts, 21, 3)) >C1 : Symbol(C1, Decl(m7Bugs.ts, 13, 18)) >C2 : Symbol(C2, Decl(m7Bugs.ts, 17, 1)) var y2: C1 = new C2(); >y2 : Symbol(y2, Decl(m7Bugs.ts, 22, 3)) >C1 : Symbol(C1, Decl(m7Bugs.ts, 13, 18)) >C1 : Symbol(C1, Decl(m7Bugs.ts, 13, 18)) >C2 : Symbol(C2, Decl(m7Bugs.ts, 17, 1)) var y3: C1 = {}; >y3 : Symbol(y3, Decl(m7Bugs.ts, 23, 3)) >C1 : Symbol(C1, Decl(m7Bugs.ts, 13, 18)) >C1 : Symbol(C1, Decl(m7Bugs.ts, 13, 18))