[java, formatter] fix fix indentation in java unnamed class

GitOrigin-RevId: 7e0cd1431be366e9a4571949c6c343bbfe4e0b32
This commit is contained in:
Roman Ivanov
2023-08-01 09:27:50 +02:00
committed by intellij-monorepo-bot
parent dc95192361
commit de2add20fc
3 changed files with 32 additions and 2 deletions

View File

@@ -186,6 +186,9 @@ public abstract class AbstractJavaBlock extends AbstractBlock implements JavaBlo
return new PartialWhitespaceBlock(child, range, wrap, alignment, actualIndent, settings, javaSettings, myFormattingMode);
}
if (childPsi instanceof PsiUnnamedClass) {
return new SimpleJavaBlock(child, wrap, alignmentStrategy, Indent.getNoneIndent(), settings, javaSettings, formattingMode);
}
if (childPsi instanceof PsiClass || childPsi instanceof PsiJavaModule) {
return new CodeBlockBlock(child, wrap, alignment, actualIndent, settings, javaSettings, formattingMode);
}
@@ -367,6 +370,7 @@ public abstract class AbstractJavaBlock extends AbstractBlock implements JavaBlo
if (parentType == JavaElementType.IMPORT_LIST) return Indent.getNoneIndent();
if (parentType == JavaElementType.FIELD) return Indent.getContinuationWithoutFirstIndent(indentOptions.USE_RELATIVE_INDENTS);
if (parentType == JavaElementType.EXPRESSION_STATEMENT) return Indent.getNoneIndent();
if (parentType == JavaElementType.UNNAMED_CLASS) return Indent.getNoneIndent();
if (SourceTreeToPsiMap.treeElementToPsi(parent) instanceof PsiFile) {
return Indent.getNoneIndent();
}

View File

@@ -10,5 +10,5 @@ class A {
}
public void main() {
}
public void main() {
}

View File

@@ -4116,4 +4116,30 @@ public enum LevelCode {
""".trimIndent()
)
}
fun testFormattingUnnamedClassMembers() {
doTextTest(
"""
void before() {
}
class A {}
void after() {
}
String s = "foo";
""".trimIndent(),
"""
void before() {
}
class A {
}
void after() {
}
String s = "foo";
""".trimIndent()
)
}
}