From 4dce69198e5f3ebdb3e124fd2bfd902639c27fd1 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 8 Apr 2011 14:22:31 +0200 Subject: [PATCH] IDEA-61395 Groovy: incorrect anonymous classes formatting --- .../groovy/formatter/GroovyBlockGenerator.java | 3 ++- .../plugins/groovy/lang/formatter/FormatterTest.java | 5 +++++ .../testdata/groovy/formatter/anonymousInCall.test | 11 +++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 plugins/groovy/testdata/groovy/formatter/anonymousInCall.test diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/formatter/GroovyBlockGenerator.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/formatter/GroovyBlockGenerator.java index ad740af12b3c..f15e64bc93d5 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/formatter/GroovyBlockGenerator.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/formatter/GroovyBlockGenerator.java @@ -42,6 +42,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrCodeBlock; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrBinaryExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrConditionalExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.params.GrParameterList; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrAnonymousClassDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrExtendsClause; import java.util.ArrayList; @@ -152,7 +153,7 @@ public class GroovyBlockGenerator implements GroovyElementTypes { ASTNode prevChildNode = null; for (ASTNode childNode : visibleChildren(node)) { final Indent indent = GroovyIndentProcessor.getChildIndent(block, prevChildNode, childNode); - subBlocks.add(new GroovyBlock(childNode, myAlignment, indent, myWrap, mySettings, block.myInnerAlignments)); + subBlocks.add(new GroovyBlock(childNode, blockPsi instanceof GrAnonymousClassDefinition ? null : myAlignment, indent, myWrap, mySettings, block.myInnerAlignments)); prevChildNode = childNode; } return subBlocks; diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/formatter/FormatterTest.java b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/formatter/FormatterTest.java index 7b02ce552336..dfb37990318e 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/formatter/FormatterTest.java +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/formatter/FormatterTest.java @@ -129,6 +129,11 @@ public class FormatterTest extends GroovyFormatterTestCase { } public void testCaseInSwitchIndented() throws Throwable { doTest(); } + public void testAnonymousInCall() throws Throwable { + myTempSettings.ALIGN_MULTILINE_PARAMETERS_IN_CALLS = true; + doTest(); + } + public void testClosureParametersAligned() throws Throwable { myTempSettings.ALIGN_MULTILINE_PARAMETERS_IN_CALLS = true; doTest(); diff --git a/plugins/groovy/testdata/groovy/formatter/anonymousInCall.test b/plugins/groovy/testdata/groovy/formatter/anonymousInCall.test new file mode 100644 index 000000000000..8b2a94304145 --- /dev/null +++ b/plugins/groovy/testdata/groovy/formatter/anonymousInCall.test @@ -0,0 +1,11 @@ + bar(new Runnable() { + void run() { + + } + }) +----- +bar(new Runnable() { + void run() { + + } +}) \ No newline at end of file