[Frontend] Provide ProjectExtensionDescriptor for DiagnosticSuppressor
`DiagnosticSuppressor` didn't contain `ProjectExtensionDescriptor`, which prevented usages of this extension point with API provided by `CompilerPluginRegistrar` See discussion in KT-60952
This commit is contained in:
committed by
Space Cloud
parent
7f12af9452
commit
6740a596c7
+11
-4
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
|
|||||||
import org.jetbrains.kotlin.diagnostics.AbstractKotlinSuppressCache
|
import org.jetbrains.kotlin.diagnostics.AbstractKotlinSuppressCache
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Severity
|
import org.jetbrains.kotlin.diagnostics.Severity
|
||||||
|
import org.jetbrains.kotlin.extensions.ProjectExtensionDescriptor
|
||||||
import org.jetbrains.kotlin.psi.KtAnnotated
|
import org.jetbrains.kotlin.psi.KtAnnotated
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
@@ -35,15 +36,21 @@ interface DiagnosticSuppressor {
|
|||||||
fun isSuppressed(diagnostic: Diagnostic): Boolean
|
fun isSuppressed(diagnostic: Diagnostic): Boolean
|
||||||
fun isSuppressed(diagnostic: Diagnostic, bindingContext: BindingContext?): Boolean = isSuppressed(diagnostic)
|
fun isSuppressed(diagnostic: Diagnostic, bindingContext: BindingContext?): Boolean = isSuppressed(diagnostic)
|
||||||
|
|
||||||
companion object {
|
companion object : ProjectExtensionDescriptor<DiagnosticSuppressor>(
|
||||||
val EP_NAME: ExtensionPointName<DiagnosticSuppressor> =
|
"org.jetbrains.kotlin.diagnosticSuppressor", DiagnosticSuppressor::class.java
|
||||||
ExtensionPointName.create("org.jetbrains.kotlin.diagnosticSuppressor")
|
) {
|
||||||
|
@Deprecated(
|
||||||
|
message = "This field is deprecated for compatibility reasons. Use ProjectExtensionDescriptor API instead",
|
||||||
|
replaceWith = ReplaceWith("DiagnosticSuppressor.extensionPointName"),
|
||||||
|
level = DeprecationLevel.WARNING
|
||||||
|
)
|
||||||
|
val EP_NAME: ExtensionPointName<DiagnosticSuppressor> = extensionPointName
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class KotlinSuppressCache : AbstractKotlinSuppressCache<PsiElement>() {
|
abstract class KotlinSuppressCache : AbstractKotlinSuppressCache<PsiElement>() {
|
||||||
|
|
||||||
private val diagnosticSuppressors = ExtensionProvider.create(DiagnosticSuppressor.EP_NAME)
|
private val diagnosticSuppressors = ExtensionProvider.create(DiagnosticSuppressor.extensionPointName)
|
||||||
|
|
||||||
val filter: (Diagnostic) -> Boolean = { diagnostic: Diagnostic ->
|
val filter: (Diagnostic) -> Boolean = { diagnostic: Diagnostic ->
|
||||||
!isSuppressed(DiagnosticSuppressRequest(diagnostic))
|
!isSuppressed(DiagnosticSuppressRequest(diagnostic))
|
||||||
|
|||||||
Reference in New Issue
Block a user