Do not create redundant temporary trace

It will be commited after use in any case
This commit is contained in:
Denis Zharkov
2017-10-05 12:44:47 +03:00
parent 00df41ee25
commit e3b453ada4
@@ -74,13 +74,8 @@ class CallCompleter(
// for the case 'foo(a)' where 'foo' is a variable, the call 'foo.invoke(a)' shouldn't be completed separately,
// it's completed when the outer (variable as function call) is completed
if (!isInvokeCallOnVariable(context.call)) {
val temporaryTrace = TemporaryBindingTrace.create(context.trace, "Trace to complete a resulting call")
val contextWithTemporaryTrace = context.replaceBindingTrace(temporaryTrace)
completeResolvedCallAndArguments(resolvedCall, results, contextWithTemporaryTrace, tracing)
completeAllCandidates(contextWithTemporaryTrace, results)
temporaryTrace.commit()
completeResolvedCallAndArguments(resolvedCall, results, context, tracing)
completeAllCandidates(context, results)
}
if (resolvedCall != null && context.trace.wantsDiagnostics()) {