Extract mutable diagnostic context to separate interface
This commit is contained in:
+3
-3
@@ -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
|
||||
|
||||
+6
-6
@@ -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 <A : Any> DiagnosticReporter.reportOnWithSuppression(
|
||||
element: FirAnnotationContainer,
|
||||
factory: KtDiagnosticFactory1<A>,
|
||||
a: A,
|
||||
context: DiagnosticContext,
|
||||
context: MutableDiagnosticContext,
|
||||
positioningStrategy: SourceElementPositioningStrategy? = null
|
||||
) {
|
||||
withSuppressedDiagnostics(element, context) {
|
||||
@@ -37,7 +37,7 @@ fun <A : Any, B : Any> DiagnosticReporter.reportOnWithSuppression(
|
||||
factory: KtDiagnosticFactory2<A, B>,
|
||||
a: A,
|
||||
b: B,
|
||||
context: DiagnosticContext,
|
||||
context: MutableDiagnosticContext,
|
||||
positioningStrategy: SourceElementPositioningStrategy? = null
|
||||
) {
|
||||
withSuppressedDiagnostics(element, context) {
|
||||
@@ -51,7 +51,7 @@ fun <A : Any, B : Any, C : Any> DiagnosticReporter.reportOnWithSuppression(
|
||||
a: A,
|
||||
b: B,
|
||||
c: C,
|
||||
context: DiagnosticContext,
|
||||
context: MutableDiagnosticContext,
|
||||
positioningStrategy: SourceElementPositioningStrategy? = null
|
||||
) {
|
||||
withSuppressedDiagnostics(element, context) {
|
||||
@@ -66,7 +66,7 @@ fun <A : Any, B : Any, C : Any, D : Any> DiagnosticReporter.reportOnWithSuppress
|
||||
b: B,
|
||||
c: C,
|
||||
d: D,
|
||||
context: DiagnosticContext,
|
||||
context: MutableDiagnosticContext,
|
||||
positioningStrategy: SourceElementPositioningStrategy? = null
|
||||
) {
|
||||
withSuppressedDiagnostics(element, context) {
|
||||
@@ -74,7 +74,7 @@ fun <A : Any, B : Any, C : Any, D : Any> DiagnosticReporter.reportOnWithSuppress
|
||||
}
|
||||
}
|
||||
|
||||
inline fun <reified C : DiagnosticContext> withSuppressedDiagnostics(
|
||||
inline fun <reified C : MutableDiagnosticContext> withSuppressedDiagnostics(
|
||||
annotationContainer: FirAnnotationContainer,
|
||||
context: C,
|
||||
f: (C) -> Unit
|
||||
|
||||
@@ -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<String>,
|
||||
allInfosSuppressed: Boolean,
|
||||
allWarningsSuppressed: Boolean,
|
||||
allErrorsSuppressed: Boolean
|
||||
): DiagnosticContext
|
||||
|
||||
val languageVersionSettings: LanguageVersionSettings
|
||||
}
|
||||
|
||||
abstract class DiagnosticReporter {
|
||||
|
||||
Reference in New Issue
Block a user