=== tests/cases/compiler/generativeRecursionWithTypeOf.ts === class C { >C : C >T : T static foo(x: number) { } >foo : (x: number) => void >x : number type: T; >type : T >T : T } module M { >M : typeof M export function f(x: typeof C) { >f : (x: typeof C) => C >x : typeof C >C : typeof C return new x(); >new x() : C >x : typeof C >x : typeof C } }