From c605bd68e61f6d1cf98b1bc114d12581fd86cfc8 Mon Sep 17 00:00:00 2001 From: "Roman.Ivanov" Date: Thu, 13 Dec 2018 19:31:34 +0700 Subject: [PATCH] revert adding option for dot placement in java formatter --- ...JavaLanguageCodeStyleSettingsProvider.java | 5 -- .../psi/codeStyle/JavaCodeStyleSettings.java | 2 - .../formatter/java/CallChunkBlockBuilder.java | 26 +--------- .../java/ChainMethodCallsBlockBuilder.java | 22 +++----- .../codeStyle/JavaCodeStyleSettingsTest.java | 1 - .../formatter/java/JavaFormatterWrapTest.java | 50 ------------------- .../src/messages/ApplicationBundle.properties | 1 - 7 files changed, 9 insertions(+), 98 deletions(-) diff --git a/java/java-impl/src/com/intellij/ide/JavaLanguageCodeStyleSettingsProvider.java b/java/java-impl/src/com/intellij/ide/JavaLanguageCodeStyleSettingsProvider.java index 86210038b719..eca55d069e4e 100644 --- a/java/java-impl/src/com/intellij/ide/JavaLanguageCodeStyleSettingsProvider.java +++ b/java/java-impl/src/com/intellij/ide/JavaLanguageCodeStyleSettingsProvider.java @@ -201,11 +201,6 @@ public class JavaLanguageCodeStyleSettingsProvider extends LanguageCodeStyleSett String groupName = ApplicationBundle.message("wrapping.fields.annotation"); consumer.showCustomOption(JavaCodeStyleSettings.class, "DO_NOT_WRAP_AFTER_SINGLE_ANNOTATION", "Do not wrap after single annotation", groupName); - - consumer.showCustomOption(JavaCodeStyleSettings.class, - "PLACE_DOT_ON_NEXT_LINE", - ApplicationBundle.message("checkbox.place.dot.on.next.line"), - CodeStyleSettingsCustomizable.WRAPPING_CALL_CHAIN); } else if (settingsType == SettingsType.BLANK_LINES_SETTINGS) { consumer.showAllStandardOptions(); diff --git a/java/java-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java b/java/java-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java index 7176ce9c403f..8a4dfaf512a4 100644 --- a/java/java-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java +++ b/java/java-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java @@ -100,8 +100,6 @@ public class JavaCodeStyleSettings extends CustomCodeStyleSettings implements Im public boolean SPACES_WITHIN_ANGLE_BRACKETS; - public boolean PLACE_DOT_ON_NEXT_LINE = true; - //Type arguments public boolean SPACE_AFTER_CLOSING_ANGLE_BRACKET_IN_TYPE_ARGUMENT; diff --git a/java/java-impl/src/com/intellij/psi/formatter/java/CallChunkBlockBuilder.java b/java/java-impl/src/com/intellij/psi/formatter/java/CallChunkBlockBuilder.java index dea04737fa92..45581eb85639 100644 --- a/java/java-impl/src/com/intellij/psi/formatter/java/CallChunkBlockBuilder.java +++ b/java/java-impl/src/com/intellij/psi/formatter/java/CallChunkBlockBuilder.java @@ -58,31 +58,7 @@ public class CallChunkBlockBuilder { } return new SyntheticCodeBlock(subBlocks, alignment, mySettings, myJavaSettings, Indent.getContinuationIndent(myIndentSettings.USE_RELATIVE_INDENTS), wrap); } - - // Support for groovy style dot placement - if (!subNodes.isEmpty()) { - final ASTNode lastNode = subNodes.get(subNodes.size() - 1); - if (lastNode.getElementType() == JavaTokenType.DOT) { - AlignmentStrategy strategy = AlignmentStrategy.getNullStrategy(); - subNodes.remove(subNodes.size() - 1); - if (!subNodes.isEmpty()) { - subBlocks.add(create(subNodes, wrap, null)); - } - Block block = - newJavaBlock(lastNode, mySettings, myJavaSettings, Indent.getNoneIndent(), Wrap.createWrap(WrapType.NONE, true), strategy, - myFormattingMode); - subBlocks.add(block); - return new SyntheticCodeBlock(subBlocks, alignment, mySettings, myJavaSettings, - Indent.getContinuationWithoutFirstIndent(myIndentSettings.USE_RELATIVE_INDENTS), wrap); - } - } - List blocks = createJavaBlocks(subNodes); - - // Last line not contains '.', but needs to be wrapped - final Wrap finalWrap = myJavaSettings.PLACE_DOT_ON_NEXT_LINE ? null : wrap; - return new SyntheticCodeBlock(blocks, alignment, mySettings, myJavaSettings, - Indent.getContinuationWithoutFirstIndent(myIndentSettings.USE_RELATIVE_INDENTS), - finalWrap); + return new SyntheticCodeBlock(createJavaBlocks(subNodes), alignment, mySettings, myJavaSettings, Indent.getContinuationWithoutFirstIndent(myIndentSettings.USE_RELATIVE_INDENTS), null); } @NotNull diff --git a/java/java-impl/src/com/intellij/psi/formatter/java/ChainMethodCallsBlockBuilder.java b/java/java-impl/src/com/intellij/psi/formatter/java/ChainMethodCallsBlockBuilder.java index c989c91d1e0c..58557629661e 100644 --- a/java/java-impl/src/com/intellij/psi/formatter/java/ChainMethodCallsBlockBuilder.java +++ b/java/java-impl/src/com/intellij/psi/formatter/java/ChainMethodCallsBlockBuilder.java @@ -82,11 +82,7 @@ class ChainMethodCallsBlockBuilder { } } else { - if (!myJavaSettings.PLACE_DOT_ON_NEXT_LINE) { - wrap = Wrap.createWrap(mySettings.METHOD_CALL_CHAIN_WRAP, true); - } else { - wrap = null; - } + wrap = null; chainedCallsAlignment = null; } @@ -127,26 +123,24 @@ class ChainMethodCallsBlockBuilder { } @NotNull - private List splitMethodCallOnChunksByDots(@NotNull List nodes) { + private static List splitMethodCallOnChunksByDots(@NotNull List nodes) { List result = new ArrayList<>(); List current = new ArrayList<>(); - boolean placeDotOnNextLine = myJavaSettings.PLACE_DOT_ON_NEXT_LINE; for (ASTNode node : nodes) { - if (!placeDotOnNextLine) { - current.add(node); - } if (node.getElementType() == JavaTokenType.DOT || node.getPsi() instanceof PsiComment) { - result.add(new ChainedCallChunk(current)); + if (!current.isEmpty()) { + result.add(new ChainedCallChunk(current)); + } current = new ArrayList<>(); } - if (placeDotOnNextLine) { - current.add(node); - } + current.add(node); } + if (!current.isEmpty()) { result.add(new ChainedCallChunk(current)); } + return result; } diff --git a/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java b/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java index 040dc85cd39e..ec2d2fa96d36 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java @@ -211,7 +211,6 @@ public class JavaCodeStyleSettingsTest extends CodeStyleTestCase { "parentheses_expression_left_paren_wrap = false\n" + "parentheses_expression_right_paren_wrap = false\n" + "place_assignment_sign_on_next_line = false\n" + - "place_dot_on_next_line = true\n" + "prefer_longer_names = true\n" + "prefer_parameters_wrap = false\n" + "repeat_synchronized = true\n" + diff --git a/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaFormatterWrapTest.java b/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaFormatterWrapTest.java index d0a64277b95d..b2a2931f49fa 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaFormatterWrapTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaFormatterWrapTest.java @@ -935,54 +935,4 @@ public class JavaFormatterWrapTest extends AbstractJavaFormatterTest { "}" ); } - - public void testDotPlacement() { - getSettings().METHOD_CALL_CHAIN_WRAP = CommonCodeStyleSettings.WRAP_ALWAYS; - getSettings().KEEP_LINE_BREAKS = false; - getJavaSettings().PLACE_DOT_ON_NEXT_LINE = false; - - - doTextTest( - "public class Chains {\n" + - " static Chains get() {return null;}\n" + - " Chains foo() {\n" + - " return null;\n" + - " }\n" + - " Chains bar() {\n" + - " return null;\n" + - " }\n" + - " public static void main(String[] args) {\n" + - " get()\n" + - " .bar()\n" + - " .foo()\n" + - " .bar()\n" + - " .bar()\n" + - " .foo();\n" + - " }\n" + - "}\n", - - "public class Chains {\n" + - " static Chains get() {\n" + - " return null;\n" + - " }\n" + - "\n " + - " Chains foo() {\n" + - " return null;\n" + - " }\n" + - "\n " + - " Chains bar() {\n" + - " return null;\n" + - " }\n" + - "\n " + - " public static void main(String[] args) {\n" + - " get().\n" + - " bar().\n" + - " foo().\n" + - " bar().\n" + - " bar().\n" + - " foo();\n" + - " }\n" + - "}\n" - ); - } } diff --git a/platform/platform-resources-en/src/messages/ApplicationBundle.properties b/platform/platform-resources-en/src/messages/ApplicationBundle.properties index 779a2aeff922..86ebf8014182 100644 --- a/platform/platform-resources-en/src/messages/ApplicationBundle.properties +++ b/platform/platform-resources-en/src/messages/ApplicationBundle.properties @@ -511,7 +511,6 @@ group.javadoc.alignment=Alignment checkbox.enable.javadoc.formatting=Enable JavaDoc formatting checkbox.align.parameter.descriptions=Align parameter descriptions checkbox.align.thrown.exception.descriptions=Align thrown exception descriptions -checkbox.place.dot.on.next.line=Place dot on next line checkbox.after.description=After description checkbox.after.parameter.descriptions=After parameter descriptions checkbox.after.return.tag=After return tag