[NI] Propagate tracking binding trace into context

This commit is contained in:
Mikhail Zarechenskiy
2017-08-09 12:27:41 +03:00
parent 4a74ca568c
commit cfbc559a97
2 changed files with 3 additions and 2 deletions
@@ -38,9 +38,9 @@ import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
class DiagnosticReporterByTrackingStrategy(
val constantExpressionEvaluator: ConstantExpressionEvaluator,
val context: BasicCallResolutionContext,
val trace: TrackingBindingTrace,
val psiKotlinCall: PSIKotlinCall
): DiagnosticReporter {
private val trace = context.trace as TrackingBindingTrace
private val tracingStrategy: TracingStrategy get() = psiKotlinCall.tracingStrategy
private val call: Call get() = psiKotlinCall.psiCall
@@ -343,7 +343,8 @@ class KotlinToResolvedCallTransformer(
completedCall: CompletedKotlinCall.Simple
) {
val trackingTrace = TrackingBindingTrace(trace)
val diagnosticReporter = DiagnosticReporterByTrackingStrategy(constantExpressionEvaluator, context, trackingTrace, completedCall.kotlinCall.psiKotlinCall)
val newContext = context.replaceBindingTrace(trackingTrace)
val diagnosticReporter = DiagnosticReporterByTrackingStrategy(constantExpressionEvaluator, newContext, completedCall.kotlinCall.psiKotlinCall)
for (diagnostic in completedCall.resolutionStatus.diagnostics) {
trackingTrace.reported = false