diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt index 59b3ad095da..bc97d47b49d 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt @@ -71,6 +71,11 @@ class KotlinToResolvedCallTransformer( runCallCheckers(resolvedCall, callCheckerContext) } runLambdaArgumentsChecks(context, trace, baseResolvedCall.lambdaArguments) + allResolvedCalls.map { + if (it is VariableAsFunctionResolvedCall) it.functionCall else it + }.forEach { + runArgumentsChecks(context, trace, it as NewResolvedCallImpl<*>) + } } return result @@ -115,13 +120,13 @@ class KotlinToResolvedCallTransformer( return when (completedCall) { is CompletedKotlinCall.Simple -> { - NewResolvedCallImpl(completedCall).runIfTraceNotNull(this::bindResolvedCall).runIfTraceNotNull(this::runArgumentsChecks) + NewResolvedCallImpl(completedCall).runIfTraceNotNull(this::bindResolvedCall) } is CompletedKotlinCall.VariableAsFunction -> { val resolvedCall = NewVariableAsFunctionResolvedCallImpl( completedCall, NewResolvedCallImpl(completedCall.variableCall), - NewResolvedCallImpl(completedCall.invokeCall).runIfTraceNotNull(this::runArgumentsChecks) + NewResolvedCallImpl(completedCall.invokeCall) ).runIfTraceNotNull(this::bindResolvedCall) @Suppress("UNCHECKED_CAST")