diff --git a/jvm/jvm-analysis-api/src/com/intellij/codeInspection/AnalysisUastUtil.java b/jvm/jvm-analysis-api/src/com/intellij/codeInspection/AnalysisUastUtil.java index 7288ff19257a..b2ed4991cbe4 100644 --- a/jvm/jvm-analysis-api/src/com/intellij/codeInspection/AnalysisUastUtil.java +++ b/jvm/jvm-analysis-api/src/com/intellij/codeInspection/AnalysisUastUtil.java @@ -133,15 +133,6 @@ public final class AnalysisUastUtil { if (functionalInterfaceType != null) { return LambdaUtil.getFunctionalInterfaceReturnType(functionalInterfaceType); } - - // if `functionalInterfaceType` will return proper type for Kotlin (after KT-25297 is fixed) then this part could be dropped - UElement lambdaParent = parent.getUastParent(); - if (lambdaParent instanceof UCallExpression) { - PsiParameter lambdaParameter = UastUtils.getParameterForArgument(((UCallExpression)lambdaParent), ((ULambdaExpression)parent)); - if (lambdaParameter == null) return null; - return LambdaUtil.getFunctionalInterfaceReturnType(lambdaParameter.getType()); - } - return null; } if (parent instanceof UClass) { diff --git a/uast/uast-common/src/org/jetbrains/uast/UastUtils.kt b/uast/uast-common/src/org/jetbrains/uast/UastUtils.kt index a6585018ff25..8e09a970daf6 100644 --- a/uast/uast-common/src/org/jetbrains/uast/UastUtils.kt +++ b/uast/uast-common/src/org/jetbrains/uast/UastUtils.kt @@ -215,7 +215,6 @@ fun UCallExpression.getParameterForArgument(arg: UExpression): PsiParameter? { return parameters.withIndex().find { (i, p) -> val argumentForParameter = getArgumentForParameter(i) ?: return@find false if (wrapULiteral(argumentForParameter) == wrapULiteral(arg)) return@find true - if (arg is ULambdaExpression && arg.sourcePsi?.parent == argumentForParameter.sourcePsi) return@find true // workaround for KT-25297 if (p.isVarArgs && argumentForParameter is UExpressionList) return@find argumentForParameter.expressions.contains(arg) return@find false }?.value