Skip to content

Commit 5fb8900

Browse files
committed
Fix Javadocs with a trailing end */.
fixes #2139
1 parent 20ede6a commit 5fb8900

File tree

4 files changed

+40
-33
lines changed

4 files changed

+40
-33
lines changed

rewrite-java-11/src/main/java/org/openrewrite/java/isolated/ReloadableJava11JavadocVisitor.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -347,9 +347,14 @@ public Tree visitDocComment(DocCommentTree node, List<Javadoc> body) {
347347
if (!part.isEmpty()) {
348348
body.add(new Javadoc.Text(randomId(), Markers.EMPTY, part));
349349
}
350-
int pos = Collections.min(lineBreaks.keySet());
351-
body.add(lineBreaks.get(pos));
352-
lineBreaks.remove(pos);
350+
// Add trailing linebreaks if they exist.
351+
if (!lineBreaks.isEmpty()) {
352+
int pos = Collections.min(lineBreaks.keySet());
353+
if (lineBreaks.containsKey(pos)) {
354+
body.add(lineBreaks.get(pos));
355+
lineBreaks.remove(pos);
356+
}
357+
}
353358
}
354359
} else {
355360
// The Javadoc ends with trailing whitespace.

rewrite-java-17/src/main/java/org/openrewrite/java/isolated/ReloadableJava17JavadocVisitor.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -347,9 +347,14 @@ public Tree visitDocComment(DocCommentTree node, List<Javadoc> body) {
347347
if (!part.isEmpty()) {
348348
body.add(new Javadoc.Text(randomId(), Markers.EMPTY, part));
349349
}
350-
int pos = Collections.min(lineBreaks.keySet());
351-
body.add(lineBreaks.get(pos));
352-
lineBreaks.remove(pos);
350+
// Add trailing linebreaks if they exist.
351+
if (!lineBreaks.isEmpty()) {
352+
int pos = Collections.min(lineBreaks.keySet());
353+
if (lineBreaks.containsKey(pos)) {
354+
body.add(lineBreaks.get(pos));
355+
lineBreaks.remove(pos);
356+
}
357+
}
353358
}
354359
} else {
355360
// The Javadoc ends with trailing whitespace.

rewrite-java-8/src/main/java/org/openrewrite/java/ReloadableJava8JavadocVisitor.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -360,9 +360,14 @@ public Tree visitDocComment(DocCommentTree node, List<Javadoc> body) {
360360
if (!part.isEmpty()) {
361361
body.add(new Javadoc.Text(randomId(), Markers.EMPTY, part));
362362
}
363-
int pos = Collections.min(lineBreaks.keySet());
364-
body.add(lineBreaks.get(pos));
365-
lineBreaks.remove(pos);
363+
// Add trailing linebreaks if they exist.
364+
if (!lineBreaks.isEmpty()) {
365+
int pos = Collections.min(lineBreaks.keySet());
366+
if (lineBreaks.containsKey(pos)) {
367+
body.add(lineBreaks.get(pos));
368+
lineBreaks.remove(pos);
369+
}
370+
}
366371
}
367372
} else {
368373
// The Javadoc ends with trailing whitespace.

rewrite-java-tck/src/main/kotlin/org/openrewrite/java/tree/JavadocTest.kt

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -56,30 +56,6 @@ interface JavadocTest : JavaTreeTest {
5656
""".trimIndent()
5757
)
5858

59-
@Test
60-
@Issue("https://github.com/openrewrite/rewrite/issues/2139")
61-
@Disabled
62-
fun javadocEndingOnSameLine(jp: JavaParser) = assertParsePrintAndProcess(
63-
jp,
64-
CompilationUnit,
65-
"""
66-
package an.example.error;
67-
68-
import java.util.ArrayList;
69-
import java.util.List;
70-
71-
public class Test {
72-
73-
/**
74-
* A doc
75-
*
76-
* **/
77-
public void aMethod() throws Exception, RuntimeException{
78-
}
79-
}
80-
"""
81-
)
82-
8359
@Test
8460
fun singleLineJavadocText(jp: JavaParser) = assertParsePrintAndProcess(
8561
jp,
@@ -1141,6 +1117,22 @@ interface JavadocTest : JavaTreeTest {
11411117
""".trimIndent()
11421118
)
11431119

1120+
@Issue("https://github.com/openrewrite/rewrite/issues/2139")
1121+
@Test
1122+
fun javaDocEndsOnSameLine(jp: JavaParser) = assertParsePrintAndProcess(
1123+
jp,
1124+
CompilationUnit,
1125+
"""
1126+
class Test {
1127+
/**
1128+
* Javadoc
1129+
*
1130+
* **/
1131+
void method() {}
1132+
}
1133+
""".trimIndent()
1134+
)
1135+
11441136
@Issue("https://github.com/openrewrite/rewrite/issues/1409")
11451137
@Test
11461138
fun trailingWhitespaceWithWhitespaceOnEmptyLine(jp: JavaParser) = assertParsePrintAndProcess(

0 commit comments

Comments
 (0)