From f802d0c8c612d33d73fccacef357d507bd158df5 Mon Sep 17 00:00:00 2001 From: Nicolay Mitropolsky Date: Thu, 5 Jul 2018 18:58:40 +0300 Subject: [PATCH] [reactor] `*NonBlockingScopeInspection` should check lambdas also --- .../src/com/intellij/codeInspection/AnalysisUastUtil.java | 1 + uast/uast-common/src/org/jetbrains/uast/UastUtils.kt | 1 + 2 files changed, 2 insertions(+) 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 8d9b76d90841..1d495f98d35d 100644 --- a/jvm/jvm-analysis-api/src/com/intellij/codeInspection/AnalysisUastUtil.java +++ b/jvm/jvm-analysis-api/src/com/intellij/codeInspection/AnalysisUastUtil.java @@ -39,6 +39,7 @@ public final class AnalysisUastUtil { @Nullable public static PsiClass getTypePsiClass(@Nullable PsiType type) { + type = GenericsUtil.eliminateWildcards(type); if (!(type instanceof PsiClassType)) return null; return ((PsiClassType)type).rawType().resolve(); } diff --git a/uast/uast-common/src/org/jetbrains/uast/UastUtils.kt b/uast/uast-common/src/org/jetbrains/uast/UastUtils.kt index 8c6983e07abd..1199a9b082a7 100644 --- a/uast/uast-common/src/org/jetbrains/uast/UastUtils.kt +++ b/uast/uast-common/src/org/jetbrains/uast/UastUtils.kt @@ -196,6 +196,7 @@ fun UCallExpression.getParameterForArgument(arg: UExpression): PsiParameter? { return parameters.withIndex().find { (i, p) -> val argumentForParameter = getArgumentForParameter(i) ?: return@find false if (argumentForParameter == 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