TypeScript/tests/baselines/reference/scopeResolutionIdentifiers.js

80 lines
1.3 KiB
TypeScript

//// [scopeResolutionIdentifiers.ts]
// EveryType used in a nested scope of a different EveryType with the same name, type of the identifier is the one defined in the inner scope
var s: string;
module M1 {
export var s: number;
var n = s;
var n: number;
}
module M2 {
var s: number;
var n = s;
var n: number;
}
function fn() {
var s: boolean;
var n = s;
var n: boolean;
}
class C {
s: Date;
n = this.s;
x() {
var p = this.n;
var p: Date;
}
}
module M3 {
var s: any;
module M4 {
var n = s;
var n: any;
}
}
//// [scopeResolutionIdentifiers.js]
// EveryType used in a nested scope of a different EveryType with the same name, type of the identifier is the one defined in the inner scope
var s;
var M1;
(function (M1) {
M1.s;
var n = M1.s;
var n;
})(M1 || (M1 = {}));
var M2;
(function (M2) {
var s;
var n = s;
var n;
})(M2 || (M2 = {}));
function fn() {
var s;
var n = s;
var n;
}
var C = (function () {
function C() {
this.n = this.s;
}
C.prototype.x = function () {
var p = this.n;
var p;
};
return C;
})();
var M3;
(function (M3) {
var s;
var M4;
(function (M4) {
var n = s;
var n;
})(M4 || (M4 = {}));
})(M3 || (M3 = {}));