diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java index 80c19ad9380..c012a961f52 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java @@ -440,28 +440,17 @@ public class CallResolver { Call call = context.call; tracing.bindCall(context.trace, call); - OverloadResolutionResultsImpl results = null; TemporaryBindingTrace traceToResolveCall = TemporaryBindingTrace.create(context.trace, "trace to resolve call", call); - if (!CallResolverUtil.isInvokeCallOnVariable(call)) { - ResolutionResultsCache.CachedData data = context.resolutionResultsCache.get(call); - if (data != null) { - DelegatingBindingTrace deltasTraceForResolve = data.getResolutionTrace(); - deltasTraceForResolve.addOwnDataTo(traceToResolveCall); - //noinspection unchecked - results = (OverloadResolutionResultsImpl) data.getResolutionResults(); - } - } - if (results == null) { - BasicCallResolutionContext newContext = context.replaceBindingTrace(traceToResolveCall); - recordScopeAndDataFlowInfo(newContext, newContext.call.getCalleeExpression()); - results = doResolveCall(newContext, prioritizedTasks, callTransformer, tracing); - DelegatingBindingTrace deltasTraceForTypeInference = ((OverloadResolutionResultsImpl) results).getTrace(); - if (deltasTraceForTypeInference != null) { - deltasTraceForTypeInference.addOwnDataTo(traceToResolveCall); - } - completeTypeInferenceDependentOnFunctionLiterals(newContext, results, tracing); - cacheResults(context, results, traceToResolveCall, tracing); + BasicCallResolutionContext newContext = context.replaceBindingTrace(traceToResolveCall); + + recordScopeAndDataFlowInfo(newContext, newContext.call.getCalleeExpression()); + OverloadResolutionResultsImpl results = doResolveCall(newContext, prioritizedTasks, callTransformer, tracing); + DelegatingBindingTrace deltasTraceForTypeInference = ((OverloadResolutionResultsImpl) results).getTrace(); + if (deltasTraceForTypeInference != null) { + deltasTraceForTypeInference.addOwnDataTo(traceToResolveCall); } + completeTypeInferenceDependentOnFunctionLiterals(newContext, results, tracing); + cacheResults(context, results, traceToResolveCall, tracing); traceToResolveCall.commit(); if (context.contextDependency == ContextDependency.INDEPENDENT) {