diff options
| author | Mateusz Matela | 2015-10-09 21:28:15 +0000 |
|---|---|---|
| committer | Mateusz Matela | 2015-12-30 15:01:26 +0000 |
| commit | e8fd769578cd972bf3c36ecf3c3e1fe0e8276dde (patch) | |
| tree | a75f371943d339fd2ae81e8531fcbbd0fe1d5408 | |
| parent | cdca07f767af71504841a56a43e899876a6f6d88 (diff) | |
| download | eclipse.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
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); } } |
