Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMateusz Matela2021-01-01 23:09:16 +0000
committerMateusz Matela2021-01-02 11:51:32 +0000
commitd5c188d78ee37a5a78869313b94fa62ff542cea6 (patch)
tree3424bec792e90e9ffee0c32072f6c9d85b9876ca
parent7f76bf78b299c7a1818a1fd8e600105bb06a4c15 (diff)
downloadeclipse.jdt.core-d5c188d78ee37a5a78869313b94fa62ff542cea6.tar.gz
eclipse.jdt.core-d5c188d78ee37a5a78869313b94fa62ff542cea6.tar.xz
eclipse.jdt.core-d5c188d78ee37a5a78869313b94fa62ff542cea6.zip
comments after javadoc Change-Id: I3433c485c686b2408286230704a02d8e200ad78e Signed-off-by: Mateusz Matela <mateusz.matela@gmail.com>
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterBugsTests.java17
-rw-r--r--org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/Token.java13
2 files changed, 24 insertions, 6 deletions
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterBugsTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterBugsTests.java
index d2c45c7036..8e78f96099 100644
--- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterBugsTests.java
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterBugsTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2020 IBM Corporation and others.
+ * Copyright (c) 2000, 2021 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13248,4 +13248,19 @@ public void testBug569798() {
"}"
);
}
+/**
+ * https://bugs.eclipse.org/569964 - [formatter] Keep braced code on one line: problem with comments after javadoc
+ */
+public void testBug569964() {
+ this.formatterPrefs.keep_method_body_on_one_line = DefaultCodeFormatterConstants.ONE_LINE_IF_EMPTY;
+ formatSource(
+ "class Test {\n" +
+ " /**\n" +
+ " * More Java doc comment\n" +
+ " */\n" +
+ " // A line comment\n" +
+ " /* package */ void nothing() {}\n" +
+ "}"
+ );
+}
}
diff --git a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/Token.java b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/Token.java
index b2b7144267..ca4d701f38 100644
--- a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/Token.java
+++ b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/Token.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2014, 2015 Mateusz Matela and others.
+ * Copyright (c) 2014, 2021 Mateusz Matela and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -143,16 +143,19 @@ public class Token {
int start = scanner.getCurrentTokenStartPosition();
int end = scanner.getCurrentTokenEndPosition();
if (currentToken == TokenNameCOMMENT_LINE) {
- // don't include line separator
- while(end >= start) {
+ // don't include line separator, but set break-after
+ while (end > start) {
char c = scanner.source[end];
if (c != '\r' && c != '\n')
break;
end--;
}
+ Token token = new Token(start, end, currentToken);
+ token.breakAfter();
+ return token;
+ } else {
+ return new Token(start, end, currentToken);
}
- Token token = new Token(start, end, currentToken);
- return token;
}
/** Adds space before this token */

Back to the top