From d9cdf5ce98e998fc02e8ca22c003e2573fec4669 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Wed, 6 Oct 2010 16:26:31 +0400 Subject: [PATCH] IDEA-58510 code style/spaces within brackets does not apply to new array creation with a length specified 'Space within brackets' is processed for array initialisation brackets now --- .../formatter/java/JavaSpacePropertyProcessor.java | 3 +++ .../psi/formatter/java/JavaFormatterSpaceTest.java | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java b/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java index ab2b60d30939..e8de23e4e3cc 100644 --- a/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java +++ b/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java @@ -185,6 +185,9 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { else if (myRole2 == ChildRole.ARGUMENT_LIST) { createSpaceInCode(mySettings.SPACE_BEFORE_METHOD_CALL_PARENTHESES); } + else if (myRole1 == ChildRole.LBRACKET || myRole2 == ChildRole.RBRACKET) { + createSpaceInCode(mySettings.SPACE_WITHIN_BRACKETS); + } } @Override public void visitArrayInitializerExpression(PsiArrayInitializerExpression expression) { diff --git a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterSpaceTest.java b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterSpaceTest.java index d065bbc8a6c4..cd337c3cacee 100644 --- a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterSpaceTest.java +++ b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterSpaceTest.java @@ -163,4 +163,15 @@ public class JavaFormatterSpaceTest extends AbstractJavaFormatterTest { " }\n" + "}"); } + + public void testSpaceWithArrayBrackets() throws Exception { + // Inspired by IDEA-58510 + getSettings().SPACE_WITHIN_BRACKETS = true; + doMethodTest( + "int[] i = new int[1]\n" + + "i[0] = 1;", + "int[] i = new int[ 1 ]\n" + + "i[ 0 ] = 1;" + ); + } }