TypeScript/tests/baselines/reference/typeValueConflict2.js
2015-05-01 10:49:54 -07:00

60 lines
1.3 KiB
TypeScript

//// [typeValueConflict2.ts]
module M1 {
export class A<T> {
constructor(a: T) {
}
}
}
module M2 {
var M1 = 0;
// Should error. M1 should bind to the variable, not to the module.
class B extends M1.A<string> {
}
}
module M3 {
// Shouldn't error
class B extends M1.A<string> {
}
}
//// [typeValueConflict2.js]
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
var M1;
(function (M1) {
var A = (function () {
function A(a) {
}
return A;
})();
M1.A = A;
})(M1 || (M1 = {}));
var M2;
(function (M2) {
var M1 = 0;
// Should error. M1 should bind to the variable, not to the module.
var B = (function (_super) {
__extends(B, _super);
function B() {
_super.apply(this, arguments);
}
return B;
})(M1.A);
})(M2 || (M2 = {}));
var M3;
(function (M3) {
// Shouldn't error
var B = (function (_super) {
__extends(B, _super);
function B() {
_super.apply(this, arguments);
}
return B;
})(M1.A);
})(M3 || (M3 = {}));