=== tests/cases/compiler/genericClassesInModule2.ts === export class A{ >A : A >T1 : T1 constructor( public callback: (self: A) => void) { >callback : (self: A) => void >self : A >A : A >T1 : T1 var child = new B(this); >child : B> >new B(this) : B> >B : typeof B >this : A } AAA( callback: (self: A) => void) { >AAA : (callback: (self: A) => void) => void >callback : (self: A) => void >self : A >A : A >T1 : T1 var child = new B(this); >child : B> >new B(this) : B> >B : typeof B >this : A } } export interface C{ >C : C >T1 : T1 child: B; >child : B >B : B >T1 : T1 (self: C): void; >self : C >C : C >T1 : T1 new(callback: (self: C) => void) >callback : (self: C) => void >self : C >C : C >T1 : T1 } export class B { >B : B >T2 : T2 constructor(public parent: T2) { } >parent : T2 >T2 : T2 }