From 17df843bf100d7df97dcfe9f014f2a493ca7333e Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 22 Apr 2019 18:04:08 +0300 Subject: [PATCH] [NI] Fix getting source psi in UnusedLambdaExpressionBodyInspection --- .../inspections/UnusedLambdaExpressionBodyInspection.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedLambdaExpressionBodyInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedLambdaExpressionBodyInspection.kt index ea640fab5b5..e581c5958d1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedLambdaExpressionBodyInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedLambdaExpressionBodyInspection.kt @@ -21,6 +21,8 @@ import org.jetbrains.kotlin.psi.KtLambdaExpression import org.jetbrains.kotlin.psi.callExpressionVisitor import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall +import org.jetbrains.kotlin.resolve.calls.tower.NewResolvedCallImpl +import org.jetbrains.kotlin.resolve.calls.tower.NewVariableAsFunctionResolvedCallImpl import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode import org.jetbrains.kotlin.resolve.source.getPsi @@ -33,7 +35,10 @@ class UnusedLambdaExpressionBodyInspection : AbstractKotlinInspection() { return } - val descriptor = expression.getResolvedCall(context)?.resultingDescriptor ?: return + val resolvedCall = expression.getResolvedCall(context) ?: return + val descriptor = resolvedCall.resultingDescriptor.let { + if (resolvedCall is NewResolvedCallImpl || resolvedCall is NewVariableAsFunctionResolvedCallImpl) it.original else it + } if (!descriptor.returnsFunction()) { return }