Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMateusz Matela2015-10-09 21:28:15 +0000
committerMateusz Matela2015-12-30 15:01:26 +0000
commite8fd769578cd972bf3c36ecf3c3e1fe0e8276dde (patch)
treea75f371943d339fd2ae81e8531fcbbd0fe1d5408
parentcdca07f767af71504841a56a43e899876a6f6d88 (diff)
downloadeclipse.jdt.core-e8fd769578cd972bf3c36ecf3c3e1fe0e8276dde.tar.gz
eclipse.jdt.core-e8fd769578cd972bf3c36ecf3c3e1fe0e8276dde.tar.xz
eclipse.jdt.core-e8fd769578cd972bf3c36ecf3c3e1fe0e8276dde.zip
Bug 479292 - [formatter] Header comment formatting for package-info.java occurs even when "Format header comment" is unchecked
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterCommentsBugsTest.java33
-rw-r--r--org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.java8
2 files changed, 38 insertions, 3 deletions
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterCommentsBugsTest.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterCommentsBugsTest.java
index 98a003bb7b..a49e667462 100644
--- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterCommentsBugsTest.java
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterCommentsBugsTest.java
@@ -7273,4 +7273,37 @@ public void testBug475294b() {
" }\n" +
"}");
}
+/**
+ * https://bugs.eclipse.org/479292 - [formatter] Header comment formatting for package-info.java occurs even when "Format header comment" is unchecked
+ */
+public void testBug479292() {
+ String source =
+ "/** This is a header comment */\n" +
+ "\n" +
+ "/** This is a package javadoc */\n" +
+ "package test;";
+ formatSource(source,
+ "/** This is a header comment */\n" +
+ "\n" +
+ "/** This is a package javadoc */\n" +
+ "package test;"
+ );
+}
+/**
+ * https://bugs.eclipse.org/479292 - [formatter] Header comment formatting for package-info.java occurs even when "Format header comment" is unchecked
+ */
+public void testBug479292b() {
+ this.formatterPrefs.comment_format_header = true;
+ String source =
+ "/** This is a header comment */\n" +
+ "\n" +
+ "/** This is a package javadoc */\n" +
+ "package test;";
+ formatSource(source,
+ "/** This is a header comment */\n" +
+ "\n" +
+ "/** This is a package javadoc */\n" +
+ "package test;"
+ );
+}
}
diff --git a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.java b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.java
index f7a3580824..9f881a623b 100644
--- a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.java
+++ b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.java
@@ -202,9 +202,11 @@ public class DefaultCodeFormatter extends CodeFormatter {
private void findHeader() {
if (this.astRoot instanceof CompilationUnit) {
- List<TypeDeclaration> types = ((CompilationUnit) this.astRoot).types();
- if (!types.isEmpty()) {
- int headerEndIndex = this.tokenManager.firstIndexIn(types.get(0), -1);
+ CompilationUnit unit = (CompilationUnit) this.astRoot;
+ List<TypeDeclaration> types = unit.types();
+ ASTNode firstElement = types.isEmpty() ? unit.getPackage() : types.get(0);
+ if (firstElement != null) {
+ int headerEndIndex = this.tokenManager.firstIndexIn(firstElement, -1);
this.tokenManager.setHeaderEndIndex(headerEndIndex);
}
}

Back to the top