diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt index 597e3abe338..e4cdb5d1b44 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt @@ -51,7 +51,9 @@ import org.jetbrains.kotlin.types.KotlinType class ObjectLiteralToLambdaInspection : IntentionBasedInspection(ObjectLiteralToLambdaIntention::class) { override fun problemHighlightType(element: KtObjectLiteralExpression): ProblemHighlightType { val (_, baseType, singleFunction) = extractData(element) ?: return super.problemHighlightType(element) - if (singleFunction.bodyExpression?.anyDescendantOfType { true } == true) return ProblemHighlightType.INFORMATION + val bodyBlock = singleFunction.bodyBlockExpression + val lastStatement = bodyBlock?.statements?.lastOrNull() + if (bodyBlock?.anyDescendantOfType { it != lastStatement } == true) return ProblemHighlightType.INFORMATION val valueArgument = element.parent as? KtValueArgument val call = valueArgument?.getStrictParentOfType() diff --git a/idea/testData/intentions/objectLiteralToLambda/inspectionData/expected.xml b/idea/testData/intentions/objectLiteralToLambda/inspectionData/expected.xml index 479e451a371..748c5002ceb 100644 --- a/idea/testData/intentions/objectLiteralToLambda/inspectionData/expected.xml +++ b/idea/testData/intentions/objectLiteralToLambda/inspectionData/expected.xml @@ -1,4 +1,22 @@ + + StatementAndReturn.kt + 8 + light_idea_test_case + + Convert object literal to lambda + Convert to lambda + + + + SingleReturn.kt + 8 + light_idea_test_case + + Convert object literal to lambda + Convert to lambda + + Simple.kt 6