=== tests/cases/compiler/classSideInheritance2.ts === interface IText { >IText : IText, Symbol(IText, Decl(classSideInheritance2.ts, 0, 0)) foo: number; >foo : number, Symbol(foo, Decl(classSideInheritance2.ts, 0, 17)) } interface TextSpan {} >TextSpan : TextSpan, Symbol(TextSpan, Decl(classSideInheritance2.ts, 2, 1)) class SubText extends TextBase { >SubText : SubText, Symbol(SubText, Decl(classSideInheritance2.ts, 4, 21)) >TextBase : TextBase, Symbol(TextBase, Decl(classSideInheritance2.ts, 11, 1)) constructor(text: IText, span: TextSpan) { >text : IText, Symbol(text, Decl(classSideInheritance2.ts, 8, 20)) >IText : IText, Symbol(IText, Decl(classSideInheritance2.ts, 0, 0)) >span : TextSpan, Symbol(span, Decl(classSideInheritance2.ts, 8, 32)) >TextSpan : TextSpan, Symbol(TextSpan, Decl(classSideInheritance2.ts, 2, 1)) super(); >super() : void >super : typeof TextBase, Symbol(TextBase, Decl(classSideInheritance2.ts, 11, 1)) } } class TextBase implements IText { >TextBase : TextBase, Symbol(TextBase, Decl(classSideInheritance2.ts, 11, 1)) >IText : IText, Symbol(IText, Decl(classSideInheritance2.ts, 0, 0)) public foo: number; >foo : number, Symbol(foo, Decl(classSideInheritance2.ts, 13, 33)) public subText(span: TextSpan): IText { >subText : (span: TextSpan) => IText, Symbol(subText, Decl(classSideInheritance2.ts, 14, 27)) >span : TextSpan, Symbol(span, Decl(classSideInheritance2.ts, 15, 23)) >TextSpan : TextSpan, Symbol(TextSpan, Decl(classSideInheritance2.ts, 2, 1)) >IText : IText, Symbol(IText, Decl(classSideInheritance2.ts, 0, 0)) return new SubText(this, span); >new SubText(this, span) : SubText >SubText : typeof SubText, Symbol(SubText, Decl(classSideInheritance2.ts, 4, 21)) >this : TextBase, Symbol(TextBase, Decl(classSideInheritance2.ts, 11, 1)) >span : TextSpan, Symbol(span, Decl(classSideInheritance2.ts, 15, 23)) } }