From eab12a32ac5e9c6861d9c11e2b267c4afd027421 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Fri, 22 May 2020 19:14:36 +0700 Subject: [PATCH] util: add missing constraints --- .../kotlin/idea/formatter/trailingComma/util.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/trailingComma/util.kt b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/trailingComma/util.kt index d687eb64ba8..3c0e7ec7c57 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/trailingComma/util.kt +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/trailingComma/util.kt @@ -14,6 +14,7 @@ import com.intellij.psi.tree.TokenSet import com.intellij.psi.util.PsiUtilCore import org.jetbrains.kotlin.KtNodeTypes import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings +import org.jetbrains.kotlin.psi.KtFunctionLiteral import org.jetbrains.kotlin.psi.KtWhenEntry import org.jetbrains.kotlin.psi.KtWhenExpression import org.jetbrains.kotlin.utils.addToStdlib.cast @@ -61,9 +62,10 @@ private fun elementType(userDataHolder: UserDataHolder): IElementType? = when (u fun ASTNode.canAddTrailingComma(): Boolean = psi?.canAddTrailingComma() == true fun PsiElement.canAddTrailingComma(): Boolean = - if (this is KtWhenEntry && (isElse || parent.cast().leftParenthesis == null)) - false - else - canAddTrailingComma(this) + when { + this is KtWhenEntry && (isElse || parent.cast().leftParenthesis == null) -> false + this is KtFunctionLiteral && arrow == null -> false + else -> canAddTrailingComma(this) + } private fun canAddTrailingComma(userDataHolder: UserDataHolder): Boolean = elementType(userDataHolder) in TYPES_WITH_TRAILING_COMMA \ No newline at end of file