=== tests/cases/compiler/mutuallyRecursiveGenericBaseTypes2.ts === class foo >foo : foo, Symbol(foo, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 0, 0)) >T : T, Symbol(T, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 0, 10)) { bar(): foo2 { return null; } >bar : () => foo2, Symbol(bar, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 1, 1)) >foo2 : foo2, Symbol(foo2, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 3, 1)) >T : T, Symbol(T, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 0, 10)) >null : null } class foo2 extends foo { >foo2 : foo2, Symbol(foo2, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 3, 1)) >T : T, Symbol(T, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 5, 11)) >foo : foo, Symbol(foo, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 0, 0)) >T : T, Symbol(T, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 5, 11)) } var test = new foo(); >test : foo, Symbol(test, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 8, 3)) >new foo() : foo >foo : typeof foo, Symbol(foo, Decl(mutuallyRecursiveGenericBaseTypes2.ts, 0, 0))