From 61549239d85e554d36eb85050fbae5d4edc3f0f8 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Wed, 15 Oct 2014 09:20:46 -0700 Subject: [PATCH] Fix emitting for const in for loops --- src/compiler/emitter.ts | 13 ++++--------- .../reference/constDeclarations-scopes2.js | 2 +- tests/baselines/reference/constDeclarations.js | 4 ++-- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 81022d04e31..8c0dd818d32 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -1152,6 +1152,9 @@ module ts { if (node.declarations[0] && node.declarations[0].flags & NodeFlags.Let) { emitToken(SyntaxKind.LetKeyword, endPos); } + else if (node.declarations[0] && node.declarations[0].flags & NodeFlags.Const) { + emitToken(SyntaxKind.ConstKeyword, endPos); + } else { emitToken(SyntaxKind.VarKeyword, endPos); } @@ -1794,15 +1797,7 @@ module ts { if (node.flags & NodeFlags.Export) { writeLine(); emitStart(node); - if (node.flags & NodeFlags.Let) { - write("let "); - } - else if (node.flags & NodeFlags.Const) { - write("const "); - } - else { - write("var "); - } + write("var "); emit(node.name); write(" = "); emitModuleMemberName(node); diff --git a/tests/baselines/reference/constDeclarations-scopes2.js b/tests/baselines/reference/constDeclarations-scopes2.js index be9514e18a7..1d0f252ab4f 100644 --- a/tests/baselines/reference/constDeclarations-scopes2.js +++ b/tests/baselines/reference/constDeclarations-scopes2.js @@ -20,7 +20,7 @@ for (const c = 0; c < 10; n = c ) { const c = "string"; var n; var b; -for (var c = 0; c < 10; n = c) { +for (const c = 0; c < 10; n = c) { // for block const c = false; b = c; diff --git a/tests/baselines/reference/constDeclarations.js b/tests/baselines/reference/constDeclarations.js index d6371da863e..060c0aba61c 100644 --- a/tests/baselines/reference/constDeclarations.js +++ b/tests/baselines/reference/constDeclarations.js @@ -16,10 +16,10 @@ for(const c5 = 0, c6 = 0; c5 < c6; ) { break; } const c1 = false; const c2 = 23; const c3 = 0, c4 = "", c5 = null; -for (var c4 = 0; c4 < 9;) { +for (const c4 = 0; c4 < 9;) { break; } -for (var c5 = 0, c6 = 0; c5 < c6;) { +for (const c5 = 0, c6 = 0; c5 < c6;) { break; }