2014-08-15 23:33:16 +02:00
|
|
|
=== tests/cases/compiler/genericOfACloduleType2.ts ===
|
|
|
|
class G<T>{ bar(x: T) { return x; } }
|
|
|
|
>G : G<T>
|
|
|
|
>T : T
|
|
|
|
>bar : (x: T) => T
|
|
|
|
>x : T
|
|
|
|
>T : T
|
|
|
|
>x : T
|
|
|
|
|
|
|
|
module M {
|
2014-08-28 21:40:58 +02:00
|
|
|
>M : typeof M
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
export class C { foo() { } }
|
|
|
|
>C : C
|
|
|
|
>foo : () => void
|
|
|
|
|
|
|
|
export module C {
|
2014-08-28 21:40:58 +02:00
|
|
|
>C : typeof C
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
export class X {
|
|
|
|
>X : X
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
var g1 = new G<C>();
|
|
|
|
>g1 : G<C>
|
|
|
|
>new G<C>() : G<C>
|
|
|
|
>G : typeof G
|
|
|
|
>C : C
|
|
|
|
|
|
|
|
g1.bar(null).foo(); // no error
|
|
|
|
>g1.bar(null).foo() : void
|
|
|
|
>g1.bar(null).foo : () => void
|
|
|
|
>g1.bar(null) : C
|
|
|
|
>g1.bar : (x: C) => C
|
|
|
|
>g1 : G<C>
|
|
|
|
>bar : (x: C) => C
|
|
|
|
>foo : () => void
|
|
|
|
}
|
|
|
|
|
|
|
|
module N {
|
2014-08-28 21:40:58 +02:00
|
|
|
>N : typeof N
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
var g2 = new G<M.C>()
|
2014-08-25 19:36:12 +02:00
|
|
|
>g2 : G<M.C>
|
|
|
|
>new G<M.C>() : G<M.C>
|
2014-08-15 23:33:16 +02:00
|
|
|
>G : typeof G
|
2014-08-28 21:40:58 +02:00
|
|
|
>M : unknown
|
2014-08-25 19:36:12 +02:00
|
|
|
>C : M.C
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|