Skip to content

Commit e48c604

Browse files
committed
fix(formatter): incorrect formatting of a function with this parameter (#15031)
1 parent 7d64291 commit e48c604

File tree

3 files changed

+25
-4
lines changed

3 files changed

+25
-4
lines changed

crates/oxc_formatter/src/write/parameters.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,10 @@ impl<'a> FormatWrite<'a> for AstNode<'a, FormalParameter<'a>> {
110110
});
111111

112112
let is_hug_parameter = matches!(self.parent, AstNodes::FormalParameters(params) if {
113-
let this_param = get_this_param(self.parent);
114-
let parentheses_not_needed = if let AstNodes::ArrowFunctionExpression(arrow) = params.parent {
115-
can_avoid_parentheses(arrow, f)
113+
let (parentheses_not_needed, this_param) = if let AstNodes::ArrowFunctionExpression(arrow) = params.parent {
114+
(can_avoid_parentheses(arrow, f), None)
116115
} else {
117-
false
116+
(false, get_this_param(params.parent))
118117
};
119118
should_hug_function_parameters(params, this_param, parentheses_not_needed, f)
120119
});
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
function paragraph(
2+
this: marked.Renderer,
3+
{ tokens }: marked.Tokens.Paragraph
4+
): string {
5+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
source: crates/oxc_formatter/tests/fixtures/mod.rs
3+
---
4+
==================== Input ====================
5+
function paragraph(
6+
this: marked.Renderer,
7+
{ tokens }: marked.Tokens.Paragraph
8+
): string {
9+
}
10+
11+
==================== Output ====================
12+
function paragraph(
13+
this: marked.Renderer,
14+
{ tokens }: marked.Tokens.Paragraph,
15+
): string {}
16+
17+
===================== End =====================

0 commit comments

Comments
 (0)