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 {