K2 LL API: implement automatic diagnostic suppression

This commit is contained in:
Mikhail Glukhikh
2022-07-21 11:41:03 +02:00
committed by Space
parent 9add6f3d55
commit 07f16ef378
5 changed files with 41 additions and 11 deletions
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
import org.jetbrains.kotlin.diagnostics.impl.PendingDiagnosticsCollectorWithSuppress
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.visitors.FirVisitor
@@ -21,10 +20,8 @@ abstract class AbstractDiagnosticCollectorComponent(
override fun visitElement(element: FirElement, data: CheckerContext) {}
protected fun checkAndCommitReportsOn(element: FirElement, context: DiagnosticContext?) {
if (reporter is PendingDiagnosticsCollectorWithSuppress) {
val source = element.source ?: return
reporter.checkAndCommitReportsOn(source, context, context == null)
}
val source = element.source ?: return
reporter.checkAndCommitReportsOn(source, context)
}
open fun endOfFile(file: FirFile) {}