Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMateusz Matela2015-10-09 21:28:15 +0000
committerMateusz Matela2015-10-09 21:28:15 +0000
commit4a2995e55bb490ddda70decb3fa4c48aaec59c94 (patch)
treee372463c86f75bca421d6c9097879f5474ca327c
parent9005c9ffea5dbe589da9a701dec94633587d8b3b (diff)
downloadeclipse.jdt.core-4a2995e55bb490ddda70decb3fa4c48aaec59c94.tar.gz
eclipse.jdt.core-4a2995e55bb490ddda70decb3fa4c48aaec59c94.tar.xz
eclipse.jdt.core-4a2995e55bb490ddda70decb3fa4c48aaec59c94.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 052ab5832b..4f6a2b835c 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
@@ -7322,4 +7322,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 701f0da2b4..68e9194089 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
@@ -204,9 +204,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