Skip to content

Commit 6154923

Browse files
committed
Fix emitting for const in for loops
1 parent 03a100d commit 6154923

File tree

3 files changed

+7
-12
lines changed

3 files changed

+7
-12
lines changed

src/compiler/emitter.ts

+4-9
Original file line numberDiff line numberDiff line change
@@ -1152,6 +1152,9 @@ module ts {
11521152
if (node.declarations[0] && node.declarations[0].flags & NodeFlags.Let) {
11531153
emitToken(SyntaxKind.LetKeyword, endPos);
11541154
}
1155+
else if (node.declarations[0] && node.declarations[0].flags & NodeFlags.Const) {
1156+
emitToken(SyntaxKind.ConstKeyword, endPos);
1157+
}
11551158
else {
11561159
emitToken(SyntaxKind.VarKeyword, endPos);
11571160
}
@@ -1794,15 +1797,7 @@ module ts {
17941797
if (node.flags & NodeFlags.Export) {
17951798
writeLine();
17961799
emitStart(node);
1797-
if (node.flags & NodeFlags.Let) {
1798-
write("let ");
1799-
}
1800-
else if (node.flags & NodeFlags.Const) {
1801-
write("const ");
1802-
}
1803-
else {
1804-
write("var ");
1805-
}
1800+
write("var ");
18061801
emit(node.name);
18071802
write(" = ");
18081803
emitModuleMemberName(node);

tests/baselines/reference/constDeclarations-scopes2.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ for (const c = 0; c < 10; n = c ) {
2020
const c = "string";
2121
var n;
2222
var b;
23-
for (var c = 0; c < 10; n = c) {
23+
for (const c = 0; c < 10; n = c) {
2424
// for block
2525
const c = false;
2626
b = c;

tests/baselines/reference/constDeclarations.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ for(const c5 = 0, c6 = 0; c5 < c6; ) { break; }
1616
const c1 = false;
1717
const c2 = 23;
1818
const c3 = 0, c4 = "", c5 = null;
19-
for (var c4 = 0; c4 < 9;) {
19+
for (const c4 = 0; c4 < 9;) {
2020
break;
2121
}
22-
for (var c5 = 0, c6 = 0; c5 < c6;) {
22+
for (const c5 = 0, c6 = 0; c5 < c6;) {
2323
break;
2424
}
2525

0 commit comments

Comments
 (0)