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
|
package org.jetbrains.kotlin.fir.analysis.checkers.context
|
||||||
|
|
||||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
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.diagnostics.Severity
|
||||||
import org.jetbrains.kotlin.fir.FirAnnotationContainer
|
import org.jetbrains.kotlin.fir.FirAnnotationContainer
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
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.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirGetClassCall
|
import org.jetbrains.kotlin.fir.expressions.FirGetClassCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
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.fir.resolve.transformers.ReturnTypeCalculator
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
abstract class CheckerContext : DiagnosticContext {
|
abstract class CheckerContext : MutableDiagnosticContext() {
|
||||||
// Services
|
// Services
|
||||||
abstract val sessionHolder: SessionHolder
|
abstract val sessionHolder: SessionHolder
|
||||||
abstract val returnTypeCalculator: ReturnTypeCalculator
|
abstract val returnTypeCalculator: ReturnTypeCalculator
|
||||||
|
|||||||
+6
-6
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.analysis.collectors.AbstractDiagnosticCollector
|
|||||||
fun DiagnosticReporter.reportOnWithSuppression(
|
fun DiagnosticReporter.reportOnWithSuppression(
|
||||||
element: FirAnnotationContainer,
|
element: FirAnnotationContainer,
|
||||||
factory: KtDiagnosticFactory0,
|
factory: KtDiagnosticFactory0,
|
||||||
context: DiagnosticContext,
|
context: MutableDiagnosticContext,
|
||||||
positioningStrategy: SourceElementPositioningStrategy? = null
|
positioningStrategy: SourceElementPositioningStrategy? = null
|
||||||
) {
|
) {
|
||||||
withSuppressedDiagnostics(element, context) {
|
withSuppressedDiagnostics(element, context) {
|
||||||
@@ -24,7 +24,7 @@ fun <A : Any> DiagnosticReporter.reportOnWithSuppression(
|
|||||||
element: FirAnnotationContainer,
|
element: FirAnnotationContainer,
|
||||||
factory: KtDiagnosticFactory1<A>,
|
factory: KtDiagnosticFactory1<A>,
|
||||||
a: A,
|
a: A,
|
||||||
context: DiagnosticContext,
|
context: MutableDiagnosticContext,
|
||||||
positioningStrategy: SourceElementPositioningStrategy? = null
|
positioningStrategy: SourceElementPositioningStrategy? = null
|
||||||
) {
|
) {
|
||||||
withSuppressedDiagnostics(element, context) {
|
withSuppressedDiagnostics(element, context) {
|
||||||
@@ -37,7 +37,7 @@ fun <A : Any, B : Any> DiagnosticReporter.reportOnWithSuppression(
|
|||||||
factory: KtDiagnosticFactory2<A, B>,
|
factory: KtDiagnosticFactory2<A, B>,
|
||||||
a: A,
|
a: A,
|
||||||
b: B,
|
b: B,
|
||||||
context: DiagnosticContext,
|
context: MutableDiagnosticContext,
|
||||||
positioningStrategy: SourceElementPositioningStrategy? = null
|
positioningStrategy: SourceElementPositioningStrategy? = null
|
||||||
) {
|
) {
|
||||||
withSuppressedDiagnostics(element, context) {
|
withSuppressedDiagnostics(element, context) {
|
||||||
@@ -51,7 +51,7 @@ fun <A : Any, B : Any, C : Any> DiagnosticReporter.reportOnWithSuppression(
|
|||||||
a: A,
|
a: A,
|
||||||
b: B,
|
b: B,
|
||||||
c: C,
|
c: C,
|
||||||
context: DiagnosticContext,
|
context: MutableDiagnosticContext,
|
||||||
positioningStrategy: SourceElementPositioningStrategy? = null
|
positioningStrategy: SourceElementPositioningStrategy? = null
|
||||||
) {
|
) {
|
||||||
withSuppressedDiagnostics(element, context) {
|
withSuppressedDiagnostics(element, context) {
|
||||||
@@ -66,7 +66,7 @@ fun <A : Any, B : Any, C : Any, D : Any> DiagnosticReporter.reportOnWithSuppress
|
|||||||
b: B,
|
b: B,
|
||||||
c: C,
|
c: C,
|
||||||
d: D,
|
d: D,
|
||||||
context: DiagnosticContext,
|
context: MutableDiagnosticContext,
|
||||||
positioningStrategy: SourceElementPositioningStrategy? = null
|
positioningStrategy: SourceElementPositioningStrategy? = null
|
||||||
) {
|
) {
|
||||||
withSuppressedDiagnostics(element, context) {
|
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,
|
annotationContainer: FirAnnotationContainer,
|
||||||
context: C,
|
context: C,
|
||||||
f: (C) -> Unit
|
f: (C) -> Unit
|
||||||
|
|||||||
@@ -10,14 +10,16 @@ import org.jetbrains.kotlin.config.LanguageVersionSettings
|
|||||||
interface DiagnosticContext {
|
interface DiagnosticContext {
|
||||||
fun isDiagnosticSuppressed(diagnostic: KtDiagnostic): Boolean
|
fun isDiagnosticSuppressed(diagnostic: KtDiagnostic): Boolean
|
||||||
|
|
||||||
fun addSuppressedDiagnostics(
|
val languageVersionSettings: LanguageVersionSettings
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class MutableDiagnosticContext : DiagnosticContext {
|
||||||
|
abstract fun addSuppressedDiagnostics(
|
||||||
diagnosticNames: Collection<String>,
|
diagnosticNames: Collection<String>,
|
||||||
allInfosSuppressed: Boolean,
|
allInfosSuppressed: Boolean,
|
||||||
allWarningsSuppressed: Boolean,
|
allWarningsSuppressed: Boolean,
|
||||||
allErrorsSuppressed: Boolean
|
allErrorsSuppressed: Boolean
|
||||||
): DiagnosticContext
|
): DiagnosticContext
|
||||||
|
|
||||||
val languageVersionSettings: LanguageVersionSettings
|
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class DiagnosticReporter {
|
abstract class DiagnosticReporter {
|
||||||
|
|||||||
Reference in New Issue
Block a user