From 5df39ba9cd120c001df8cf92831f6c6e6b7f53c2 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 5 Oct 2016 13:59:56 -0700 Subject: [PATCH 1/2] Do not emit wrong extra comma --- src/compiler/emitter.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 3c200aca931..2c3f5e0b4c8 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -1968,17 +1968,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge emitObjectLiteralBody(node, firstComputedPropertyIndex); for (let i = firstComputedPropertyIndex, n = properties.length; i < n; i++) { - writeComma(); - const property = properties[i]; - emitStart(property); if (property.kind === SyntaxKind.GetAccessor || property.kind === SyntaxKind.SetAccessor) { // TODO (drosen): Reconcile with 'emitMemberFunctions'. const accessors = getAllAccessorDeclarations(node.properties, property); if (property !== accessors.firstAccessor) { continue; } + writeComma(); + emitStart(property); write("Object.defineProperty("); emit(tempVar); write(", "); @@ -2019,6 +2018,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge emitEnd(property); } else { + writeComma(); + emitStart(property); emitLeadingComments(property); emitStart(property.name); emit(tempVar); @@ -2039,9 +2040,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge else { Debug.fail("ObjectLiteralElement type not accounted for: " + property.kind); } + emitEnd(property); } - emitEnd(property); } writeComma(); From fdda541f7eacb0a851cad61869a73d722d1a21b0 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 5 Oct 2016 14:31:52 -0700 Subject: [PATCH 2/2] update baselines --- tests/baselines/reference/computedPropertyNames49_ES5.js | 1 - tests/baselines/reference/computedPropertyNames50_ES5.js | 1 - 2 files changed, 2 deletions(-) diff --git a/tests/baselines/reference/computedPropertyNames49_ES5.js b/tests/baselines/reference/computedPropertyNames49_ES5.js index 3427ea665a0..7409927e4c4 100644 --- a/tests/baselines/reference/computedPropertyNames49_ES5.js +++ b/tests/baselines/reference/computedPropertyNames49_ES5.js @@ -60,7 +60,6 @@ var x = (_a = { enumerable: true, configurable: true }), - , _a.p2 = 20, _a ); diff --git a/tests/baselines/reference/computedPropertyNames50_ES5.js b/tests/baselines/reference/computedPropertyNames50_ES5.js index a74561295be..0d349981f99 100644 --- a/tests/baselines/reference/computedPropertyNames50_ES5.js +++ b/tests/baselines/reference/computedPropertyNames50_ES5.js @@ -56,7 +56,6 @@ var x = (_a = { enumerable: true, configurable: true }), - , _a.p2 = 20, _a );