2014-07-13 01:04:16 +02:00
|
|
|
//// [genericOfACloduleType2.ts]
|
|
|
|
class G<T>{ bar(x: T) { return x; } }
|
|
|
|
module M {
|
|
|
|
export class C { foo() { } }
|
|
|
|
export module C {
|
|
|
|
export class X {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
var g1 = new G<C>();
|
|
|
|
g1.bar(null).foo(); // no error
|
|
|
|
}
|
|
|
|
|
|
|
|
module N {
|
|
|
|
var g2 = new G<M.C>()
|
|
|
|
}
|
|
|
|
|
|
|
|
//// [genericOfACloduleType2.js]
|
|
|
|
var G = (function () {
|
|
|
|
function G() {
|
|
|
|
}
|
2015-02-07 05:03:24 +01:00
|
|
|
G.prototype.bar = function (x) { return x; };
|
2014-07-13 01:04:16 +02:00
|
|
|
return G;
|
|
|
|
})();
|
|
|
|
var M;
|
|
|
|
(function (M) {
|
|
|
|
var C = (function () {
|
|
|
|
function C() {
|
|
|
|
}
|
2015-02-07 03:45:09 +01:00
|
|
|
C.prototype.foo = function () { };
|
2014-07-13 01:04:16 +02:00
|
|
|
return C;
|
|
|
|
})();
|
|
|
|
M.C = C;
|
2014-09-07 02:40:19 +02:00
|
|
|
var C;
|
2014-07-13 01:04:16 +02:00
|
|
|
(function (C) {
|
|
|
|
var X = (function () {
|
|
|
|
function X() {
|
|
|
|
}
|
|
|
|
return X;
|
|
|
|
})();
|
|
|
|
C.X = X;
|
2014-09-07 02:40:19 +02:00
|
|
|
})(C = M.C || (M.C = {}));
|
2014-07-13 01:04:16 +02:00
|
|
|
var g1 = new G();
|
2014-08-16 00:49:09 +02:00
|
|
|
g1.bar(null).foo(); // no error
|
2014-07-13 01:04:16 +02:00
|
|
|
})(M || (M = {}));
|
|
|
|
var N;
|
|
|
|
(function (N) {
|
|
|
|
var g2 = new G();
|
|
|
|
})(N || (N = {}));
|