diff options
| author | Mateusz Matela | 2015-10-09 21:28:15 +0000 |
|---|---|---|
| committer | Mateusz Matela | 2015-10-09 21:28:15 +0000 |
| commit | 4a2995e55bb490ddda70decb3fa4c48aaec59c94 (patch) | |
| tree | e372463c86f75bca421d6c9097879f5474ca327c | |
| parent | 9005c9ffea5dbe589da9a701dec94633587d8b3b (diff) | |
| download | eclipse.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
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); } } |
