IDEA-337709: Reimplement SuppressionAnnotationInspection to UAST

GitOrigin-RevId: 5384975e4786fbc34114065e117f66d930435621
This commit is contained in:
Karol Lewandowski
2023-11-15 14:34:19 +01:00
committed by intellij-monorepo-bot
parent 7ba6375831
commit ad246cb491
16 changed files with 653 additions and 254 deletions

View File

@@ -0,0 +1,22 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.codeInspection
import com.intellij.lang.LanguageExtension
import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.psi.PsiElement
import org.jetbrains.uast.UAnnotation
import org.jetbrains.uast.UExpression
private val EP_NAME: ExtensionPointName<SuppressionAnnotationUtil> =
ExtensionPointName.create("com.intellij.codeInspection.suppressionAnnotationUtil")
interface SuppressionAnnotationUtil {
companion object {
@JvmField
val extension = LanguageExtension<SuppressionAnnotationUtil>(EP_NAME.name)
}
fun isSuppressionAnnotation(annotation: UAnnotation): Boolean
fun getSuppressionAnnotationAttributeExpressions(annotation: UAnnotation): List<UExpression>
fun getRemoveAnnotationQuickFix(annotation: PsiElement): LocalQuickFix?
}