1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
=== tests/cases/compiler/genericOfACloduleType2.ts ===
class G<T>{ bar(x: T) { return x; } }
>G : G<T>
>bar : (x: T) => T
>x : T
>x : T
module M {
>M : typeof M
export class C { foo() { } }
>C : C
>foo : () => void
export module C {
>C : typeof C
export class X {
>X : X
}
}
var g1 = new G<C>();
>g1 : G<C>
>new G<C>() : G<C>
>G : typeof G
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
>null : null
>foo : () => void
}
module N {
>N : typeof N
var g2 = new G<M.C>()
>g2 : G<M.C>
>new G<M.C>() : G<M.C>
>G : typeof G
>M : any
}
|