From 486d781be303b756eea2b53001ca31c65dd41c2d Mon Sep 17 00:00:00 2001 From: Amjad Masad Date: Tue, 24 Nov 2015 19:20:06 -0800 Subject: [PATCH] Handle member expressions --- packages/babel-generator/src/generators/expressions.js | 3 ++- .../test/fixtures/compact/new-expression/actual.js | 1 + .../test/fixtures/compact/new-expression/expected.js | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/babel-generator/src/generators/expressions.js b/packages/babel-generator/src/generators/expressions.js index 0534844d13..b100e25599 100644 --- a/packages/babel-generator/src/generators/expressions.js +++ b/packages/babel-generator/src/generators/expressions.js @@ -62,7 +62,8 @@ export function ConditionalExpression(node: Object) { export function NewExpression(node: Object, parent: Object) { this.push("new "); this.print(node.callee, node); - if (node.arguments.length === 0 && this.format.compact && !t.isCallExpression(parent)) return; + if (node.arguments.length === 0 && this.format.compact && + !t.isCallExpression(parent) && !t.isMemberExpression(parent)) return; this.push("("); this.printList(node.arguments, node); diff --git a/packages/babel-generator/test/fixtures/compact/new-expression/actual.js b/packages/babel-generator/test/fixtures/compact/new-expression/actual.js index 1957ac85ec..ae661bc5d3 100644 --- a/packages/babel-generator/test/fixtures/compact/new-expression/actual.js +++ b/packages/babel-generator/test/fixtures/compact/new-expression/actual.js @@ -1,2 +1,3 @@ new X(); new Y()(); +new F().z; diff --git a/packages/babel-generator/test/fixtures/compact/new-expression/expected.js b/packages/babel-generator/test/fixtures/compact/new-expression/expected.js index d50100ac49..4491231de6 100644 --- a/packages/babel-generator/test/fixtures/compact/new-expression/expected.js +++ b/packages/babel-generator/test/fixtures/compact/new-expression/expected.js @@ -1 +1 @@ -new X;new Y()(); +new X;new Y()();new F().z;