diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java index aa6cc3d221a..332409fa1d8 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java @@ -16554,4 +16554,21 @@ record X(T value) { """; formatSource(input, expected); } + + public void testEnumJavaDocBreak() throws JavaModelException { + setComplianceLevel(CompilerOptions.VERSION_23); + String input = """ + public enum TestEnum { + /// A + A; + } + """; + String expected = """ + public enum TestEnum { + /// A + A; + } + """; + formatSource(input, expected); + } } diff --git a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/LineBreaksPreparator.java b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/LineBreaksPreparator.java index 7288bafd810..86b38a1e981 100644 --- a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/LineBreaksPreparator.java +++ b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/LineBreaksPreparator.java @@ -164,7 +164,7 @@ public boolean visit(EnumDeclaration node) { for (int i = 0; i < enumConstants.size(); i++) { EnumConstantDeclaration declaration = enumConstants.get(i); if (declaration.getJavadoc() != null) - this.tm.firstTokenIn(declaration, TokenNameCOMMENT_JAVADOC).breakBefore(); + this.tm.firstTokenIn(declaration.getJavadoc(), ANY).breakBefore(); if (declaration.getAnonymousClassDeclaration() != null && i < enumConstants.size() - 1) this.tm.firstTokenAfter(declaration, TokenNameCOMMA).breakAfter(); }