From b6e195128c66e02d55cd77b719877ce0642c1319 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Thu, 13 Jul 2017 16:03:04 +0300 Subject: [PATCH] [NI] Resolution diagnostics don't produce errors as is --- .../resolve/calls/tower/KotlinToResolvedCallTransformer.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt index 17b25e2943c..2c6911d6148 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt @@ -348,7 +348,10 @@ class KotlinToResolvedCallTransformer( for (diagnostic in completedCall.resolutionStatus.diagnostics) { trackingTrace.reported = false diagnostic.report(diagnosticReporter) - if (!trackingTrace.reported && REPORT_MISSING_NEW_INFERENCE_DIAGNOSTIC) { + + val dontRecordToTraceAsIs = diagnostic is ResolutionDiagnostic && diagnostic !is VisibilityError + val shouldReportMissingDiagnostic = !trackingTrace.reported && !dontRecordToTraceAsIs + if (shouldReportMissingDiagnostic && REPORT_MISSING_NEW_INFERENCE_DIAGNOSTIC) { val factory = if (diagnostic.candidateApplicability.isSuccess) Errors.NEW_INFERENCE_DIAGNOSTIC else Errors.NEW_INFERENCE_ERROR trace.report(factory.on(diagnosticReporter.psiKotlinCall.psiCall.callElement, "Missing diagnostic: $diagnostic")) }