diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/context/CheckerContext.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/context/CheckerContext.kt index 024e09f591d..c4f5386d1c7 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/context/CheckerContext.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/context/CheckerContext.kt @@ -6,12 +6,12 @@ package org.jetbrains.kotlin.fir.analysis.checkers.context import org.jetbrains.kotlin.config.LanguageVersionSettings +import org.jetbrains.kotlin.diagnostics.KtDiagnostic +import org.jetbrains.kotlin.diagnostics.MutableDiagnosticContext import org.jetbrains.kotlin.diagnostics.Severity import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.diagnostics.DiagnosticContext -import org.jetbrains.kotlin.diagnostics.KtDiagnostic import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.expressions.FirGetClassCall import org.jetbrains.kotlin.fir.expressions.FirStatement @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.resolve.calls.ImplicitReceiverValue import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator import org.jetbrains.kotlin.name.Name -abstract class CheckerContext : DiagnosticContext { +abstract class CheckerContext : MutableDiagnosticContext() { // Services abstract val sessionHolder: SessionHolder abstract val returnTypeCalculator: ReturnTypeCalculator diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirDiagnosticReportHelpers.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirDiagnosticReportHelpers.kt index 53f83e2f15f..82a1542b484 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirDiagnosticReportHelpers.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirDiagnosticReportHelpers.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.analysis.collectors.AbstractDiagnosticCollector fun DiagnosticReporter.reportOnWithSuppression( element: FirAnnotationContainer, factory: KtDiagnosticFactory0, - context: DiagnosticContext, + context: MutableDiagnosticContext, positioningStrategy: SourceElementPositioningStrategy? = null ) { withSuppressedDiagnostics(element, context) { @@ -24,7 +24,7 @@ fun DiagnosticReporter.reportOnWithSuppression( element: FirAnnotationContainer, factory: KtDiagnosticFactory1, a: A, - context: DiagnosticContext, + context: MutableDiagnosticContext, positioningStrategy: SourceElementPositioningStrategy? = null ) { withSuppressedDiagnostics(element, context) { @@ -37,7 +37,7 @@ fun DiagnosticReporter.reportOnWithSuppression( factory: KtDiagnosticFactory2, a: A, b: B, - context: DiagnosticContext, + context: MutableDiagnosticContext, positioningStrategy: SourceElementPositioningStrategy? = null ) { withSuppressedDiagnostics(element, context) { @@ -51,7 +51,7 @@ fun DiagnosticReporter.reportOnWithSuppression( a: A, b: B, c: C, - context: DiagnosticContext, + context: MutableDiagnosticContext, positioningStrategy: SourceElementPositioningStrategy? = null ) { withSuppressedDiagnostics(element, context) { @@ -66,7 +66,7 @@ fun DiagnosticReporter.reportOnWithSuppress b: B, c: C, d: D, - context: DiagnosticContext, + context: MutableDiagnosticContext, positioningStrategy: SourceElementPositioningStrategy? = null ) { withSuppressedDiagnostics(element, context) { @@ -74,7 +74,7 @@ fun DiagnosticReporter.reportOnWithSuppress } } -inline fun withSuppressedDiagnostics( +inline fun withSuppressedDiagnostics( annotationContainer: FirAnnotationContainer, context: C, f: (C) -> Unit diff --git a/compiler/frontend.common/src/org/jetbrains/kotlin/diagnostics/DiagnosticReporter.kt b/compiler/frontend.common/src/org/jetbrains/kotlin/diagnostics/DiagnosticReporter.kt index 0409dcf1100..faf069e6fc9 100644 --- a/compiler/frontend.common/src/org/jetbrains/kotlin/diagnostics/DiagnosticReporter.kt +++ b/compiler/frontend.common/src/org/jetbrains/kotlin/diagnostics/DiagnosticReporter.kt @@ -10,14 +10,16 @@ import org.jetbrains.kotlin.config.LanguageVersionSettings interface DiagnosticContext { fun isDiagnosticSuppressed(diagnostic: KtDiagnostic): Boolean - fun addSuppressedDiagnostics( + val languageVersionSettings: LanguageVersionSettings +} + +abstract class MutableDiagnosticContext : DiagnosticContext { + abstract fun addSuppressedDiagnostics( diagnosticNames: Collection, allInfosSuppressed: Boolean, allWarningsSuppressed: Boolean, allErrorsSuppressed: Boolean ): DiagnosticContext - - val languageVersionSettings: LanguageVersionSettings } abstract class DiagnosticReporter {