From 7628c27d40474777528413a12d8392ef32e97418 Mon Sep 17 00:00:00 2001 From: "Denis.Zhdanov" Date: Thu, 12 Jan 2012 16:58:54 +0400 Subject: [PATCH] IDEA-79836 Java formatter: Correct processing of incomplete method call expression with anonymous class arguments --- .../com/intellij/psi/formatter/java/AbstractJavaBlock.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java b/java/java-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java index dad53a8adcc4..0fc4a0591414 100644 --- a/java/java-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java +++ b/java/java-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java @@ -1078,6 +1078,7 @@ public abstract class AbstractJavaBlock extends AbstractBlock implements JavaBlo boolean isAfterIncomplete = false; ASTNode prev = child; + boolean afterAnonymousClass = false; while (child != null) { isAfterIncomplete = isAfterIncomplete || child.getElementType() == TokenType.ERROR_ELEMENT || child.getElementType() == JavaElementType.EMPTY_EXPRESSION; @@ -1087,7 +1088,7 @@ public abstract class AbstractJavaBlock extends AbstractBlock implements JavaBlo } else if (child.getElementType() == to) { result.add(createJavaBlock(child, mySettings, - externalIndent, + isAfterIncomplete && !afterAnonymousClass ? internalIndent : externalIndent, null, isAfterIncomplete ? alignmentStrategy.getAlignment(null) : bracketAlignment)); return child; @@ -1103,6 +1104,9 @@ public abstract class AbstractJavaBlock extends AbstractBlock implements JavaBlo } } isAfterIncomplete = false; + if (child.getElementType() != JavaTokenType.COMMA) { + afterAnonymousClass = isAnonymousClass(child); + } } prev = child; child = child.getTreeNext();