From 9e7c7f5683ac74a93833bc6530b45d757138af4f Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Tue, 18 Sep 2018 18:10:49 -0400 Subject: [PATCH] Handle throw expressions in generator (#8727) Fixes #8716 --- packages/babel-generator/src/generators/expressions.js | 4 +++- .../test/fixtures/regression/throw-expression/input.js | 1 + .../test/fixtures/regression/throw-expression/options.json | 1 + .../test/fixtures/regression/throw-expression/output.js | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 packages/babel-generator/test/fixtures/regression/throw-expression/input.js create mode 100644 packages/babel-generator/test/fixtures/regression/throw-expression/options.json create mode 100644 packages/babel-generator/test/fixtures/regression/throw-expression/output.js diff --git a/packages/babel-generator/src/generators/expressions.js b/packages/babel-generator/src/generators/expressions.js index 9bb8417033..4f9a525bd0 100644 --- a/packages/babel-generator/src/generators/expressions.js +++ b/packages/babel-generator/src/generators/expressions.js @@ -5,7 +5,9 @@ export function UnaryExpression(node: Object) { if ( node.operator === "void" || node.operator === "delete" || - node.operator === "typeof" + node.operator === "typeof" || + // throwExpressions + node.operator === "throw" ) { this.word(node.operator); this.space(); diff --git a/packages/babel-generator/test/fixtures/regression/throw-expression/input.js b/packages/babel-generator/test/fixtures/regression/throw-expression/input.js new file mode 100644 index 0000000000..0db86b226f --- /dev/null +++ b/packages/babel-generator/test/fixtures/regression/throw-expression/input.js @@ -0,0 +1 @@ +() => throw new X(); diff --git a/packages/babel-generator/test/fixtures/regression/throw-expression/options.json b/packages/babel-generator/test/fixtures/regression/throw-expression/options.json new file mode 100644 index 0000000000..abc05508f8 --- /dev/null +++ b/packages/babel-generator/test/fixtures/regression/throw-expression/options.json @@ -0,0 +1 @@ +{ "plugins": ["throwExpressions"] } diff --git a/packages/babel-generator/test/fixtures/regression/throw-expression/output.js b/packages/babel-generator/test/fixtures/regression/throw-expression/output.js new file mode 100644 index 0000000000..f85a421ca9 --- /dev/null +++ b/packages/babel-generator/test/fixtures/regression/throw-expression/output.js @@ -0,0 +1 @@ +() => throw new X(); \ No newline at end of file