Don't parenthesize arrow functions in parameter lists

This commit is contained in:
Richard van Velzen 2016-09-01 09:35:31 +02:00
parent 7f6b5d662b
commit e6092bcf39
2 changed files with 10 additions and 2 deletions

View File

@ -944,7 +944,7 @@ function OutputStream(options) {
var parent = output.parent();
var needs_parens = parent instanceof AST_Binary ||
parent instanceof AST_Unary ||
parent instanceof AST_Call;
(parent instanceof AST_Call && self === parent.expression);
if (needs_parens) { output.print("(") }
if (self.argnames.length === 1 && self.argnames[0] instanceof AST_Symbol && !self.argnames[0].default) {
self.argnames[0].print(output);

View File

@ -390,4 +390,12 @@ regression_cannot_use_of: {
x.of;
foo(); /* Label statement missing? No prob. */
}
}
}
fat_arrow_as_param: {
input: {
foo(x => x);
foo(x => x, y => y);
}
expect_exact: "foo(x=>x);foo(x=>x,y=>y);"
}