=== tests/cases/compiler/super2.ts === // Case 5 class Base5 { >Base5 : Symbol(Base5, Decl(super2.ts, 0, 0)) public x() { >x : Symbol(x, Decl(super2.ts, 1, 13)) return "BaseX"; } public y() { >y : Symbol(y, Decl(super2.ts, 4, 5)) return "BaseY"; } } class Sub5 extends Base5 { >Sub5 : Symbol(Sub5, Decl(super2.ts, 9, 1)) >Base5 : Symbol(Base5, Decl(super2.ts, 0, 0)) public x() { >x : Symbol(x, Decl(super2.ts, 11, 26)) return "SubX"; } } class SubSub5 extends Sub5 { >SubSub5 : Symbol(SubSub5, Decl(super2.ts, 15, 1)) >Sub5 : Symbol(Sub5, Decl(super2.ts, 9, 1)) public x() { >x : Symbol(x, Decl(super2.ts, 17, 28)) return super.x(); >super.x : Symbol(Sub5.x, Decl(super2.ts, 11, 26)) >super : Symbol(Sub5, Decl(super2.ts, 9, 1)) >x : Symbol(Sub5.x, Decl(super2.ts, 11, 26)) } public y() { >y : Symbol(y, Decl(super2.ts, 20, 5)) return super.y(); >super.y : Symbol(Base5.y, Decl(super2.ts, 4, 5)) >super : Symbol(Sub5, Decl(super2.ts, 9, 1)) >y : Symbol(Base5.y, Decl(super2.ts, 4, 5)) } } // Case 6 class Base6 { >Base6 : Symbol(Base6, Decl(super2.ts, 24, 1)) public x() { >x : Symbol(x, Decl(super2.ts, 27, 13)) return "BaseX"; } } class Sub6 extends Base6 { >Sub6 : Symbol(Sub6, Decl(super2.ts, 31, 1)) >Base6 : Symbol(Base6, Decl(super2.ts, 24, 1)) public y() { >y : Symbol(y, Decl(super2.ts, 33, 26)) return "SubY"; } } class SubSub6 extends Sub6 { >SubSub6 : Symbol(SubSub6, Decl(super2.ts, 37, 1)) >Sub6 : Symbol(Sub6, Decl(super2.ts, 31, 1)) public y() { >y : Symbol(y, Decl(super2.ts, 39, 28)) return super.y(); >super.y : Symbol(Sub6.y, Decl(super2.ts, 33, 26)) >super : Symbol(Sub6, Decl(super2.ts, 31, 1)) >y : Symbol(Sub6.y, Decl(super2.ts, 33, 26)) } } var results1 = new SubSub5(); >results1 : Symbol(results1, Decl(super2.ts, 46, 3)) >SubSub5 : Symbol(SubSub5, Decl(super2.ts, 15, 1)) var results2 = new SubSub6(); >results2 : Symbol(results2, Decl(super2.ts, 47, 3)) >SubSub6 : Symbol(SubSub6, Decl(super2.ts, 37, 1)) results1.x() + results1.y() + results2.y(); >results1.x : Symbol(SubSub5.x, Decl(super2.ts, 17, 28)) >results1 : Symbol(results1, Decl(super2.ts, 46, 3)) >x : Symbol(SubSub5.x, Decl(super2.ts, 17, 28)) >results1.y : Symbol(SubSub5.y, Decl(super2.ts, 20, 5)) >results1 : Symbol(results1, Decl(super2.ts, 46, 3)) >y : Symbol(SubSub5.y, Decl(super2.ts, 20, 5)) >results2.y : Symbol(SubSub6.y, Decl(super2.ts, 39, 28)) >results2 : Symbol(results2, Decl(super2.ts, 47, 3)) >y : Symbol(SubSub6.y, Decl(super2.ts, 39, 28))