diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/KotlinCallCompleter.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/KotlinCallCompleter.kt index 5a1ecf7b8ca..458baf1ba2e 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/KotlinCallCompleter.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/KotlinCallCompleter.kt @@ -78,14 +78,19 @@ class KotlinCallCompleter( is VariableAsFunctionKotlinResolutionCandidate -> candidate.invokeCandidate else -> candidate as SimpleKotlinResolutionCandidate } - resolveCallableReferenceArguments(topLevelCall) if (topLevelCall.prepareForCompletion(expectedType)) { + resolveCallableReferenceArguments(topLevelCall) + val c = candidate.lastCall.constraintSystem.asCallCompleterContext() topLevelCall.competeCall(c, resolutionCallbacks) return toCompletedBaseResolvedCall(c, candidate, resolutionCallbacks) } + else { + // todo I'm not sure that we should do this + resolveCallableReferenceArguments(topLevelCall) + } return ResolvedKotlinCall.OnlyResolvedKotlinCall(candidate) }