From 1e686c47d4b3364d5d7946649ef3ee9fd583fd34 Mon Sep 17 00:00:00 2001 From: Jordan Kiesel Date: Mon, 18 May 2026 22:04:01 -0600 Subject: [PATCH] fix: keep generic method call leading comments on their own line --- src/comments.ts | 3 ++- test/unit-test/member_chain/_input.java | 8 ++++++++ test/unit-test/member_chain/_output.java | 8 ++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/comments.ts b/src/comments.ts index 53a4ecf9..3c78d62f 100644 --- a/src/comments.ts +++ b/src/comments.ts @@ -193,7 +193,8 @@ function handleMemberChainComments(commentNode: CommentNode) { (enclosingNode?.type === SyntaxType.FieldAccess || (enclosingNode?.type === SyntaxType.MethodInvocation && precedingNode?.end.row !== commentNode.start.row)) && - followingNode?.type === SyntaxType.Identifier + (followingNode?.type === SyntaxType.Identifier || + followingNode?.type === SyntaxType.TypeArguments) ) { util.addLeadingComment(enclosingNode, commentNode); return true; diff --git a/test/unit-test/member_chain/_input.java b/test/unit-test/member_chain/_input.java index cfff06f0..70917e16 100644 --- a/test/unit-test/member_chain/_input.java +++ b/test/unit-test/member_chain/_input.java @@ -112,6 +112,14 @@ public void doSomethingWithComment() { .something().more(); } + public void genericMethodWithLeadingComment() { + a + // 1 + .b() + // 2 + .c(); + } + public void doSomethingLongNew() { return something().more().and().that().as().well().but().not().something().something(); } diff --git a/test/unit-test/member_chain/_output.java b/test/unit-test/member_chain/_output.java index de9252bd..31ee97fd 100644 --- a/test/unit-test/member_chain/_output.java +++ b/test/unit-test/member_chain/_output.java @@ -119,6 +119,14 @@ public void doSomethingWithComment() { .more(); } + public void genericMethodWithLeadingComment() { + a + // 1 + .b() + // 2 + .c(); + } + public void doSomethingLongNew() { return something() .more()