diff --git a/src/printers/helpers.ts b/src/printers/helpers.ts index 0892777c..62520417 100644 --- a/src/printers/helpers.ts +++ b/src/printers/helpers.ts @@ -680,7 +680,11 @@ export function needsParentheses(path: NamedNodePath) { return false; } - if (parent?.type === SyntaxType.AssignmentExpression) { + if ( + parent?.type === SyntaxType.AssignmentExpression || + (parent?.type === SyntaxType.LambdaExpression && + parent.bodyNode === node) + ) { return false; } diff --git a/test/unit-test/lambda/arrow-parens-always/_input.java b/test/unit-test/lambda/arrow-parens-always/_input.java index b9ce8237..1113789c 100644 --- a/test/unit-test/lambda/arrow-parens-always/_input.java +++ b/test/unit-test/lambda/arrow-parens-always/_input.java @@ -337,6 +337,10 @@ void lambdaWithTrailingComments() { void lambdaInParentheses() { (aaaaaaaaaa -> bbbbbbbbbb.cccccccccc().dddddddddd().eeeeeeeeee().ffffffffff()); } + + void lambdaWithAssignmentBody() { + a -> b = c; + } } class T { diff --git a/test/unit-test/lambda/arrow-parens-always/_output.java b/test/unit-test/lambda/arrow-parens-always/_output.java index fca16104..28545a8b 100644 --- a/test/unit-test/lambda/arrow-parens-always/_output.java +++ b/test/unit-test/lambda/arrow-parens-always/_output.java @@ -571,6 +571,10 @@ void lambdaInParentheses() { (aaaaaaaaaa) -> bbbbbbbbbb.cccccccccc().dddddddddd().eeeeeeeeee().ffffffffff(); } + + void lambdaWithAssignmentBody() { + (a) -> b = c; + } } class T { diff --git a/test/unit-test/lambda/arrow-parens-avoid/_input.java b/test/unit-test/lambda/arrow-parens-avoid/_input.java index b9ce8237..1113789c 100644 --- a/test/unit-test/lambda/arrow-parens-avoid/_input.java +++ b/test/unit-test/lambda/arrow-parens-avoid/_input.java @@ -337,6 +337,10 @@ void lambdaWithTrailingComments() { void lambdaInParentheses() { (aaaaaaaaaa -> bbbbbbbbbb.cccccccccc().dddddddddd().eeeeeeeeee().ffffffffff()); } + + void lambdaWithAssignmentBody() { + a -> b = c; + } } class T { diff --git a/test/unit-test/lambda/arrow-parens-avoid/_output.java b/test/unit-test/lambda/arrow-parens-avoid/_output.java index cfe2af09..e84e93d6 100644 --- a/test/unit-test/lambda/arrow-parens-avoid/_output.java +++ b/test/unit-test/lambda/arrow-parens-avoid/_output.java @@ -571,6 +571,10 @@ void lambdaInParentheses() { aaaaaaaaaa -> bbbbbbbbbb.cccccccccc().dddddddddd().eeeeeeeeee().ffffffffff(); } + + void lambdaWithAssignmentBody() { + a -> b = c; + } } class T {