diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/util/FormatterUtil.kt b/idea/formatter/src/org/jetbrains/kotlin/idea/util/FormatterUtil.kt index 0efdb45577d..ab6407f8811 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/util/FormatterUtil.kt +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/util/FormatterUtil.kt @@ -22,8 +22,10 @@ import org.jetbrains.kotlin.idea.formatter.kotlinCustomSettings import org.jetbrains.kotlin.psi.KtDestructuringDeclaration import org.jetbrains.kotlin.psi.KtFunctionLiteral import org.jetbrains.kotlin.psi.KtWhenEntry +import org.jetbrains.kotlin.psi.KtWhenExpression import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.startOffset +import org.jetbrains.kotlin.utils.addToStdlib.cast /* * ASTBlock.node is nullable, this extension was introduced to minimize changes @@ -64,7 +66,7 @@ fun KtFunctionLiteral.needTrailingComma(settings: CodeStyleSettings?, checkExist fun KtWhenEntry.needTrailingComma(settings: CodeStyleSettings?, checkExistingTrailingComma: Boolean = true): Boolean = needTrailingComma( settings = settings, trailingComma = { if (checkExistingTrailingComma) trailingComma else null }, - additionalCheck = { !isElse }, + additionalCheck = { !isElse && parent.cast().leftParenthesis != null }, globalEndOffset = { arrow?.endOffset }, ) diff --git a/idea/testData/formatter/trailingComma/whenEntry/WhenEntry.after.kt b/idea/testData/formatter/trailingComma/whenEntry/WhenEntry.after.kt index 6060ecdacf5..74781ae6bfe 100644 --- a/idea/testData/formatter/trailingComma/whenEntry/WhenEntry.after.kt +++ b/idea/testData/formatter/trailingComma/whenEntry/WhenEntry.after.kt @@ -70,7 +70,7 @@ fun foo(x: Any) { } when { - x in coll, + x in coll -> { } diff --git a/idea/testData/inspections/trailingCommaOnWithCodeStyle/inspectionData/expected.xml b/idea/testData/inspections/trailingCommaOnWithCodeStyle/inspectionData/expected.xml index 847d066f7d4..14afedac6be 100644 --- a/idea/testData/inspections/trailingCommaOnWithCodeStyle/inspectionData/expected.xml +++ b/idea/testData/inspections/trailingCommaOnWithCodeStyle/inspectionData/expected.xml @@ -3443,16 +3443,4 @@ 8 1 - - WhenEntry.kt - 69 - testProject - light_idea_test_case - - Trailing comma recommendations - Missing trailing comma - l - 16 - 1 - \ No newline at end of file diff --git a/idea/testData/inspections/trailingCommaOnWithCodeStyleAndCallSite/inspectionData/expected.xml b/idea/testData/inspections/trailingCommaOnWithCodeStyleAndCallSite/inspectionData/expected.xml index a861d1d2a6e..b669f601828 100644 --- a/idea/testData/inspections/trailingCommaOnWithCodeStyleAndCallSite/inspectionData/expected.xml +++ b/idea/testData/inspections/trailingCommaOnWithCodeStyleAndCallSite/inspectionData/expected.xml @@ -2027,18 +2027,6 @@ 8 1 - - WhenEntry.kt - 69 - testProject - light_idea_test_case - - Trailing comma recommendations - Missing trailing comma - l - 16 - 1 - LambdaValueParameters.kt 4 diff --git a/idea/testData/inspections/trailingCommaOnWithoutCodeStyle/inspectionData/expected.xml b/idea/testData/inspections/trailingCommaOnWithoutCodeStyle/inspectionData/expected.xml index 847d066f7d4..14afedac6be 100644 --- a/idea/testData/inspections/trailingCommaOnWithoutCodeStyle/inspectionData/expected.xml +++ b/idea/testData/inspections/trailingCommaOnWithoutCodeStyle/inspectionData/expected.xml @@ -3443,16 +3443,4 @@ 8 1 - - WhenEntry.kt - 69 - testProject - light_idea_test_case - - Trailing comma recommendations - Missing trailing comma - l - 16 - 1 - \ No newline at end of file