From 40ba62d4d85aa5c9b585e4e580873d41d936ec98 Mon Sep 17 00:00:00 2001 From: "Roman.Ivanov" Date: Wed, 29 Aug 2018 16:05:09 +0700 Subject: [PATCH] SortContentAction: fix javadoc movement while sorting enum constants --- .../intention/impl/SortContentAction.java | 4 +++- .../quickFix/sortContent/afterEnumJavadoc.java | 17 +++++++++++++++++ .../quickFix/sortContent/beforeEnumJavadoc.java | 16 ++++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/sortContent/afterEnumJavadoc.java create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/sortContent/beforeEnumJavadoc.java diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SortContentAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SortContentAction.java index 3b5252aaf14f..ffb62bbaa9ff 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SortContentAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SortContentAction.java @@ -881,7 +881,9 @@ public class SortContentAction extends PsiElementBaseIntentionAction { //PsiEnumConstant holds comments inside, we need codegen to know about this comments to place \n correctly for (SortableEntry entry : sortableList.myEntries) { - List comments = StreamEx.ofTree(entry.myElement, el -> StreamEx.of(el.getChildren())).select(PsiComment.class).toList(); + List comments = StreamEx.ofTree(entry.myElement, el -> StreamEx.of(el.getChildren())) + .select(PsiComment.class) + .filter(comment -> !(comment instanceof PsiDocComment)).toList(); for (PsiComment comment : comments) { entry.myBeforeSeparator.add((PsiComment)comment.copy()); comment.delete(); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/sortContent/afterEnumJavadoc.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/sortContent/afterEnumJavadoc.java new file mode 100644 index 000000000000..6bb7211e469c --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/sortContent/afterEnumJavadoc.java @@ -0,0 +1,17 @@ +// "Sort content" "true" + +public enum OSType { + /** + * one + */ + ONE, + /** + * three + */ + THREE, + /** + * two + */ + TWO + +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/sortContent/beforeEnumJavadoc.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/sortContent/beforeEnumJavadoc.java new file mode 100644 index 000000000000..fdca1375c599 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/sortContent/beforeEnumJavadoc.java @@ -0,0 +1,16 @@ +// "Sort content" "true" + +public enum OSType { + /** + * one + */ + ONE, + /** + * two + */ + TWO, + /** + * three + */ + THREE +} \ No newline at end of file