[Java. Code Formatting] IDEA-377909 Fix wrong indentation for annotations placed before package statement

GitOrigin-RevId: 5ade570c9930b22dd783caefd7bfc0161dbbc46e
This commit is contained in:
Georgii Ustinov
2025-08-22 09:35:25 +00:00
committed by intellij-monorepo-bot
parent c6add84d46
commit 75bd905fa5
2 changed files with 47 additions and 0 deletions
@@ -375,6 +375,7 @@ public abstract class AbstractJavaBlock extends AbstractBlock implements JavaBlo
if (parentType == JavaElementType.EXPRESSION_STATEMENT) return Indent.getNoneIndent();
if (parentType == JavaElementType.IMPLICIT_CLASS) return Indent.getNoneIndent();
if (parentType == JavaElementType.RECORD_COMPONENT) return Indent.getNoneIndent();
if (parentType == JavaElementType.PACKAGE_STATEMENT) return Indent.getNoneIndent();
if (SourceTreeToPsiMap.treeElementToPsi(parent) instanceof PsiFile) {
return Indent.getNoneIndent();
}
@@ -1181,4 +1181,50 @@ public class JavaEnterActionTest extends AbstractBasicJavaEnterActionTest {
"""
);
}
public void testEnterAfterTheFirstAnnotationBeforePackage() {
doTextTest("java",
"""
@MyAnno<caret>
package test;
""",
"""
@MyAnno
<caret>
package test;
"""
);
}
public void testEnterBetweenAnnotationBeforePackage() {
doTextTest("java",
"""
@MyAnno<caret>
@MyAnno2
package test;
""",
"""
@MyAnno
<caret>
@MyAnno2
package test;
"""
);
}
public void testEnterAfterTheLastAnnotationBeforePackage() {
doTextTest("java",
"""
@MyAnno
@MyAnno2<caret>
package test;
""",
"""
@MyAnno
@MyAnno2
<caret>
package test;
"""
);
}
}