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 c39f35532d80..390116c3793c 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 @@ -1441,7 +1441,10 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { @Override public void visitTypeElement(PsiTypeElement type) { - if (myType2 == JavaTokenType.ELLIPSIS || myType2 == JavaTokenType.LBRACKET || myType2 == JavaTokenType.RBRACKET) { + if (myType1 == JavaElementType.ANNOTATION || myType2 == JavaElementType.ANNOTATION) { + createSpaceInCode(true); + } + else if (myType2 == JavaTokenType.ELLIPSIS || myType2 == JavaTokenType.LBRACKET || myType2 == JavaTokenType.RBRACKET) { createSpaceInCode(false); } else if (type.getType() instanceof PsiDisjunctionType) { 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 a5b34fc53a17..c4cd499ccd96 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 @@ -545,11 +545,15 @@ public class JavaFormatterSpaceTest extends AbstractJavaFormatterTest { doTextTest( "class C<@TA(1)T> {\n" + " L<@TA(2)A> f = (@TA(3) A) new @TA(4) A() {\n" + + " void m(@TA(6) int @TA(7)[] p) {\n" + + " }\n" + " };\n" + "}", "class C<@TA(1) T> {\n" + " L<@TA(2) A> f = (@TA(3) A) new @TA(4) A() {\n" + + " void m(@TA(6) int @TA(7) [] p) {\n" + + " }\n" + " };\n" + "}" );