diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 4bb029091d2..77347019d3e 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -4752,7 +4752,7 @@ module ts { var preferredName: string; if ((member).name.kind === SyntaxKind.Identifier) { - preferredName = "set_" + ((member).name).text; + preferredName = "_set_" + ((member).name).text; } let generatedVariable = createTempVariable(node, preferredName); @@ -5028,7 +5028,6 @@ module ts { write(";"); emitTempDeclarations(/*newLine*/ true); - writeLine(); tempCount = saveTempCount; tempVariables = saveTempVariables; tempParameters = saveTempParameters; @@ -5039,6 +5038,7 @@ module ts { writeLine(); write("})();"); } + // If this is an exported class, but not on the top level (i.e. on an internal // module), export it if (!isES6ModuleMemberDeclaration(node) && (node.flags & NodeFlags.Export)) { @@ -5087,18 +5087,18 @@ module ts { emitMemberAssignments(node, NodeFlags.Static); writeLine(); emitDecoratorsOfClass(node); - emitTempDeclarations(/*newLine*/ true); writeLine(); - tempCount = saveTempCount; - tempVariables = saveTempVariables; - tempParameters = saveTempParameters; - generatedComputedPropertyNames = saveGeneratedComputedPropertyNames; - generatedSetterNames = saveGeneratedSetterNames; emitToken(SyntaxKind.CloseBraceToken, node.members.end, () => { write("return "); emitDeclarationName(node); }); write(";"); + emitTempDeclarations(/*newLine*/ true); + tempCount = saveTempCount; + tempVariables = saveTempVariables; + tempParameters = saveTempParameters; + generatedComputedPropertyNames = saveGeneratedComputedPropertyNames; + generatedSetterNames = saveGeneratedSetterNames; decreaseIndent(); writeLine(); emitToken(SyntaxKind.CloseBraceToken, node.members.end); diff --git a/tests/baselines/reference/computedPropertyNames23_ES5.js b/tests/baselines/reference/computedPropertyNames23_ES5.js index a9c40ca9737..34eb0896376 100644 --- a/tests/baselines/reference/computedPropertyNames23_ES5.js +++ b/tests/baselines/reference/computedPropertyNames23_ES5.js @@ -19,6 +19,6 @@ var C = (function () { _a[this.bar()] = 1, _a)[0]] = function () { }; - var _a; return C; + var _a; })(); diff --git a/tests/baselines/reference/computedPropertyNames26_ES5.js b/tests/baselines/reference/computedPropertyNames26_ES5.js index 5628215f3dc..cac71f734a6 100644 --- a/tests/baselines/reference/computedPropertyNames26_ES5.js +++ b/tests/baselines/reference/computedPropertyNames26_ES5.js @@ -34,6 +34,6 @@ var C = (function (_super) { _a[_super.bar.call(this)] = 1, _a)[0]] = function () { }; - var _a; return C; + var _a; })(Base);