=== tests/cases/compiler/generativeRecursionWithTypeOf.ts ===
class C<T> {
>C : Symbol(C, Decl(generativeRecursionWithTypeOf.ts, 0, 0))
>T : Symbol(T, Decl(generativeRecursionWithTypeOf.ts, 0, 8))

    static foo(x: number) { }
>foo : Symbol(C.foo, Decl(generativeRecursionWithTypeOf.ts, 0, 12))
>x : Symbol(x, Decl(generativeRecursionWithTypeOf.ts, 1, 15))

    type: T;
>type : Symbol(type, Decl(generativeRecursionWithTypeOf.ts, 1, 29))
>T : Symbol(T, Decl(generativeRecursionWithTypeOf.ts, 0, 8))
}

module M {
>M : Symbol(M, Decl(generativeRecursionWithTypeOf.ts, 3, 1))

    export function f(x: typeof C) {   
>f : Symbol(f, Decl(generativeRecursionWithTypeOf.ts, 5, 10))
>x : Symbol(x, Decl(generativeRecursionWithTypeOf.ts, 6, 22))
>C : Symbol(C, Decl(generativeRecursionWithTypeOf.ts, 0, 0))

        return new x<typeof x>();     
>x : Symbol(x, Decl(generativeRecursionWithTypeOf.ts, 6, 22))
>x : Symbol(x, Decl(generativeRecursionWithTypeOf.ts, 6, 22))
    }
}
