From 6614a63b3b0f17a1f6e54e96f2ccaf3ea3692fc5 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Wed, 22 Feb 2017 06:50:58 -0600 Subject: [PATCH] Wrap some generated do expressions in parens (#5339) --- packages/babel-generator/src/node/parentheses.js | 4 ++++ .../test/fixtures/parentheses/do-expression/actual.js | 3 +++ .../test/fixtures/parentheses/do-expression/expected.js | 3 +++ 3 files changed, 10 insertions(+) create mode 100644 packages/babel-generator/test/fixtures/parentheses/do-expression/actual.js create mode 100644 packages/babel-generator/test/fixtures/parentheses/do-expression/expected.js diff --git a/packages/babel-generator/src/node/parentheses.js b/packages/babel-generator/src/node/parentheses.js index 558bceb14c..948198f7cb 100644 --- a/packages/babel-generator/src/node/parentheses.js +++ b/packages/babel-generator/src/node/parentheses.js @@ -46,6 +46,10 @@ export function ObjectExpression(node: Object, parent: Object, printStack: Array return isFirstInStatement(printStack, { considerArrow: true }); } +export function DoExpression(node: Object, parent: Object, printStack: Array): boolean { + return isFirstInStatement(printStack); +} + export function Binary(node: Object, parent: Object): boolean { if ((t.isCallExpression(parent) || t.isNewExpression(parent)) && parent.callee === node) { return true; diff --git a/packages/babel-generator/test/fixtures/parentheses/do-expression/actual.js b/packages/babel-generator/test/fixtures/parentheses/do-expression/actual.js new file mode 100644 index 0000000000..21177fdcef --- /dev/null +++ b/packages/babel-generator/test/fixtures/parentheses/do-expression/actual.js @@ -0,0 +1,3 @@ +(do { + foo; +}); diff --git a/packages/babel-generator/test/fixtures/parentheses/do-expression/expected.js b/packages/babel-generator/test/fixtures/parentheses/do-expression/expected.js new file mode 100644 index 0000000000..21177fdcef --- /dev/null +++ b/packages/babel-generator/test/fixtures/parentheses/do-expression/expected.js @@ -0,0 +1,3 @@ +(do { + foo; +});