java: formatting of type annotations inside type elements

This commit is contained in:
Roman Shevchenko
2014-03-06 12:21:26 +01:00
parent 0813c3cce6
commit a4b56a640e
2 changed files with 8 additions and 1 deletions
@@ -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) {
@@ -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" +
"}"
);