2014-08-15 23:33:16 +02:00
|
|
|
=== tests/cases/compiler/generativeRecursionWithTypeOf.ts ===
|
|
|
|
class C<T> {
|
2015-04-13 23:01:57 +02:00
|
|
|
>C : C<T>, Symbol(C, Decl(generativeRecursionWithTypeOf.ts, 0, 0))
|
|
|
|
>T : T, Symbol(T, Decl(generativeRecursionWithTypeOf.ts, 0, 8))
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
static foo(x: number) { }
|
2015-04-13 23:01:57 +02:00
|
|
|
>foo : (x: number) => void, Symbol(C.foo, Decl(generativeRecursionWithTypeOf.ts, 0, 12))
|
|
|
|
>x : number, Symbol(x, Decl(generativeRecursionWithTypeOf.ts, 1, 15))
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
type: T;
|
2015-04-13 23:01:57 +02:00
|
|
|
>type : T, Symbol(type, Decl(generativeRecursionWithTypeOf.ts, 1, 29))
|
|
|
|
>T : T, Symbol(T, Decl(generativeRecursionWithTypeOf.ts, 0, 8))
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
module M {
|
2015-04-13 23:01:57 +02:00
|
|
|
>M : typeof M, Symbol(M, Decl(generativeRecursionWithTypeOf.ts, 3, 1))
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
export function f(x: typeof C) {
|
2015-04-13 23:01:57 +02:00
|
|
|
>f : (x: typeof C) => C<typeof C>, Symbol(f, Decl(generativeRecursionWithTypeOf.ts, 5, 10))
|
|
|
|
>x : typeof C, Symbol(x, Decl(generativeRecursionWithTypeOf.ts, 6, 22))
|
|
|
|
>C : typeof C, Symbol(C, Decl(generativeRecursionWithTypeOf.ts, 0, 0))
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
return new x<typeof x>();
|
|
|
|
>new x<typeof x>() : C<typeof C>
|
2015-04-13 23:01:57 +02:00
|
|
|
>x : typeof C, Symbol(x, Decl(generativeRecursionWithTypeOf.ts, 6, 22))
|
|
|
|
>x : typeof C, Symbol(x, Decl(generativeRecursionWithTypeOf.ts, 6, 22))
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
}
|