Removed obsolete use of resolution results cache
the other usage is still relevant
This commit is contained in:
@@ -440,28 +440,17 @@ public class CallResolver {
|
|||||||
Call call = context.call;
|
Call call = context.call;
|
||||||
tracing.bindCall(context.trace, call);
|
tracing.bindCall(context.trace, call);
|
||||||
|
|
||||||
OverloadResolutionResultsImpl<F> results = null;
|
|
||||||
TemporaryBindingTrace traceToResolveCall = TemporaryBindingTrace.create(context.trace, "trace to resolve call", call);
|
TemporaryBindingTrace traceToResolveCall = TemporaryBindingTrace.create(context.trace, "trace to resolve call", call);
|
||||||
if (!CallResolverUtil.isInvokeCallOnVariable(call)) {
|
BasicCallResolutionContext newContext = context.replaceBindingTrace(traceToResolveCall);
|
||||||
ResolutionResultsCache.CachedData data = context.resolutionResultsCache.get(call);
|
|
||||||
if (data != null) {
|
recordScopeAndDataFlowInfo(newContext, newContext.call.getCalleeExpression());
|
||||||
DelegatingBindingTrace deltasTraceForResolve = data.getResolutionTrace();
|
OverloadResolutionResultsImpl<F> results = doResolveCall(newContext, prioritizedTasks, callTransformer, tracing);
|
||||||
deltasTraceForResolve.addOwnDataTo(traceToResolveCall);
|
DelegatingBindingTrace deltasTraceForTypeInference = ((OverloadResolutionResultsImpl) results).getTrace();
|
||||||
//noinspection unchecked
|
if (deltasTraceForTypeInference != null) {
|
||||||
results = (OverloadResolutionResultsImpl<F>) data.getResolutionResults();
|
deltasTraceForTypeInference.addOwnDataTo(traceToResolveCall);
|
||||||
}
|
|
||||||
}
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
completeTypeInferenceDependentOnFunctionLiterals(newContext, results, tracing);
|
||||||
|
cacheResults(context, results, traceToResolveCall, tracing);
|
||||||
traceToResolveCall.commit();
|
traceToResolveCall.commit();
|
||||||
|
|
||||||
if (context.contextDependency == ContextDependency.INDEPENDENT) {
|
if (context.contextDependency == ContextDependency.INDEPENDENT) {
|
||||||
|
|||||||
Reference in New Issue
Block a user