mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Fix createTempVariable to always record the name in the currentScopeNames
This commit is contained in:
+10
-1
@@ -1684,7 +1684,11 @@ module ts {
|
||||
else {
|
||||
name = generateUniqueName(baseName, n => isExistingName(location, n));
|
||||
}
|
||||
|
||||
|
||||
return putNameInCurrentScopeNames(name);
|
||||
}
|
||||
|
||||
function putNameInCurrentScopeNames(name: string): string {
|
||||
if (!currentScopeNames) {
|
||||
currentScopeNames = {};
|
||||
}
|
||||
@@ -2099,6 +2103,11 @@ module ts {
|
||||
name = "_" + (tempCount < 25 ? String.fromCharCode(tempCount + (tempCount < 8 ? 0 : 1) + CharacterCodes.a) : tempCount - 25);
|
||||
tempCount++;
|
||||
}
|
||||
|
||||
// This is necessary so that a name generated via renameNonTopLevelLetAndConst will see the name
|
||||
// we just generated.
|
||||
putNameInCurrentScopeNames(name);
|
||||
|
||||
var result = <Identifier>createSynthesizedNode(SyntaxKind.Identifier);
|
||||
result.text = name;
|
||||
return result;
|
||||
|
||||
@@ -13,8 +13,8 @@ function foo() {
|
||||
}
|
||||
for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
foo().x = _a[_i];
|
||||
for (var _i_1 = 0, _a_1 = []; _i_1 < _a_1.length; _i_1++) {
|
||||
foo().x = _a_1[_i_1];
|
||||
for (var _b = 0, _c = []; _b < _c.length; _b++) {
|
||||
foo().x = _c[_b];
|
||||
var p = foo().x;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,8 +10,8 @@ for (let v of []) {
|
||||
for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
var v = _a[_i];
|
||||
v;
|
||||
for (var _i_1 = 0, _a_1 = []; _i_1 < _a_1.length; _i_1++) {
|
||||
var _v = _a_1[_i_1];
|
||||
for (var _b = 0, _c = []; _b < _c.length; _b++) {
|
||||
var _v = _c[_b];
|
||||
var x = _v;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,8 +11,8 @@ for (let v of []) {
|
||||
for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
var v = _a[_i];
|
||||
v;
|
||||
for (var _i_1 = 0, _a_1 = []; _i_1 < _a_1.length; _i_1++) {
|
||||
var _v = _a_1[_i_1];
|
||||
for (var _b = 0, _c = []; _b < _c.length; _b++) {
|
||||
var _v = _c[_b];
|
||||
var x = _v;
|
||||
_v++;
|
||||
}
|
||||
|
||||
@@ -11,8 +11,8 @@ for (let v of []) {
|
||||
for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
var v = _a[_i];
|
||||
v;
|
||||
for (var _i_1 = 0, _a_1 = [v]; _i_1 < _a_1.length; _i_1++) {
|
||||
var _v = _a_1[_i_1];
|
||||
for (var _b = 0, _c = [v]; _b < _c.length; _b++) {
|
||||
var _v = _c[_b];
|
||||
var x = _v;
|
||||
_v++;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
var v = _a[_i];
|
||||
v;
|
||||
}
|
||||
for (var _i = 0, _b = []; _i < _b.length; _i++) {
|
||||
var _v = _b[_i];
|
||||
for (var _b = 0, _c = []; _b < _c.length; _b++) {
|
||||
var _v = _c[_b];
|
||||
_v;
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
var v = _a[_i];
|
||||
v;
|
||||
function foo() {
|
||||
for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
var _v = _a[_i];
|
||||
for (var _b = 0, _c = []; _b < _c.length; _b++) {
|
||||
var _v = _c[_b];
|
||||
_v;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,8 +10,8 @@ for (let v of []) {
|
||||
for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
var v = _a[_i];
|
||||
var _v;
|
||||
for (var _i_1 = 0, _a_1 = [v]; _i_1 < _a_1.length; _i_1++) {
|
||||
var _v_1 = _a_1[_i_1];
|
||||
for (var _b = 0, _c = [v]; _b < _c.length; _b++) {
|
||||
var _v_1 = _c[_b];
|
||||
var _v_2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,6 @@ for (let v of []) {
|
||||
for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
var v = _a[_i];
|
||||
for (var _b = 0, _c = []; _b < _c.length; _b++) {
|
||||
var _i = _c[_b];
|
||||
var _i_1 = _c[_b];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
//// [ES5For-of22.ts]
|
||||
for (var x of [1, 2, 3]) {
|
||||
let _a = 0;
|
||||
console.log(x);
|
||||
}
|
||||
|
||||
//// [ES5For-of22.js]
|
||||
for (var _i = 0, _a = [1, 2, 3]; _i < _a.length; _i++) {
|
||||
var x = _a[_i];
|
||||
var _a_1 = 0;
|
||||
console.log(x);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
//// [ES5For-of23.ts]
|
||||
for (var x of [1, 2, 3]) {
|
||||
var _a = 0;
|
||||
console.log(x);
|
||||
}
|
||||
|
||||
//// [ES5For-of23.js]
|
||||
for (var _i = 0, _b = [1, 2, 3]; _i < _b.length; _i++) {
|
||||
var x = _b[_i];
|
||||
var _a = 0;
|
||||
console.log(x);
|
||||
}
|
||||
@@ -8,8 +8,8 @@ for (var w of []) {
|
||||
//// [ES5For-of6.js]
|
||||
for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
var w = _a[_i];
|
||||
for (var _i_1 = 0, _a_1 = []; _i_1 < _a_1.length; _i_1++) {
|
||||
var v = _a_1[_i_1];
|
||||
for (var _b = 0, _c = []; _b < _c.length; _b++) {
|
||||
var v = _c[_b];
|
||||
var x = [w, v];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
var w = _a[_i];
|
||||
var x = w;
|
||||
}
|
||||
for (var _i = 0, _b = []; _i < _b.length; _i++) {
|
||||
var v = _b[_i];
|
||||
for (var _b = 0, _c = []; _b < _c.length; _b++) {
|
||||
var v = _c[_b];
|
||||
var x = [w, v];
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ function foo() {
|
||||
}
|
||||
for (var _i = 0, _a = []; _i < _a.length; _i++) {
|
||||
foo().x = _a[_i];
|
||||
for (var _i_1 = 0, _a_1 = []; _i_1 < _a_1.length; _i_1++) {
|
||||
foo().x = _a_1[_i_1];
|
||||
for (var _b = 0, _c = []; _b < _c.length; _b++) {
|
||||
foo().x = _c[_b];
|
||||
var p = foo().x;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,8 +39,8 @@ var Bugs;
|
||||
}
|
||||
var result = message.replace(/\{(\d+)\}/g, function (match) {
|
||||
var rest = [];
|
||||
for (var _i = 1; _i < arguments.length; _i++) {
|
||||
rest[_i - 1] = arguments[_i];
|
||||
for (var _a = 1; _a < arguments.length; _a++) {
|
||||
rest[_a - 1] = arguments[_a];
|
||||
}
|
||||
var index = rest[0];
|
||||
return typeof args[index] !== 'undefined' ? args[index] : match;
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
for (var x of [1, 2, 3]) {
|
||||
let _a = 0;
|
||||
console.log(x);
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
for (var x of [1, 2, 3]) {
|
||||
var _a = 0;
|
||||
console.log(x);
|
||||
}
|
||||
Reference in New Issue
Block a user