NI: report error diagnostic about impossible to infer anonymous function's parameter

Partially fixed KT-39098
This commit is contained in:
Victor Petukhov
2020-05-25 12:40:42 +03:00
parent 00df562a2b
commit 756326cefe
7 changed files with 61 additions and 2 deletions
@@ -200,9 +200,14 @@ class DiagnosticReporterByTrackingStrategy(
val parameterIndex = unknownParameterTypeDiagnostic.parameterIndex
val argumentExpression = KtPsiUtil.deparenthesize(lambdaArgument.psiCallArgument.valueArgument.getArgumentExpression())
if (argumentExpression !is KtLambdaExpression) return
val parameter = argumentExpression.valueParameters.getOrNull(parameterIndex)
val valueParameters = when (argumentExpression) {
is KtLambdaExpression -> argumentExpression.valueParameters
is KtNamedFunction -> argumentExpression.valueParameters // for anonymous functions
else -> return
}
val parameter = valueParameters.getOrNull(parameterIndex)
if (parameter != null) {
trace.report(CANNOT_INFER_PARAMETER_TYPE.on(parameter))
}