[kotlin] New Inspection API: Fix forgotten renames

GitOrigin-RevId: 145e158aeb19ea65d749f25e9c64bf51519363b1
This commit is contained in:
Marco Pennekamp
2022-11-14 20:43:48 +00:00
committed by intellij-monorepo-bot
parent 15d17b0ae1
commit e9e761caf3
10 changed files with 24 additions and 17 deletions
@@ -11,7 +11,8 @@ import org.jetbrains.kotlin.analysis.api.lifetime.allowAnalysisOnEdt
import org.jetbrains.kotlin.psi.KtElement
/**
* A common base interface for [KotlinApplicableIntention] and [KotlinApplicableInspection].
* A common base interface for [org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntention] and
* [org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspection].
*/
interface KotlinApplicableTool<ELEMENT : KtElement> : KotlinApplicableToolBase<ELEMENT> {
/**
@@ -5,7 +5,8 @@ import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicability
import org.jetbrains.kotlin.psi.KtElement
/**
* A common base interface for [KotlinApplicableIntentionBase] and [KotlinApplicableInspectionBase].
* A common base interface for [org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntentionBase] and
* [org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspectionBase].
*/
interface KotlinApplicableToolBase<ELEMENT : KtElement> {
/**
@@ -12,6 +12,10 @@ import org.jetbrains.kotlin.analysis.api.lifetime.allowAnalysisOnEdt
import org.jetbrains.kotlin.idea.util.application.runReadAction
import org.jetbrains.kotlin.psi.KtElement
/**
* A common base interface for [org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntentionWithContext]
* and [org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspectionWithContext].
*/
interface KotlinApplicableToolWithContext<ELEMENT : KtElement, CONTEXT> : KotlinApplicableToolBase<ELEMENT> {
/**
* The text to be shown in the list of available fixes.
@@ -9,7 +9,8 @@ import org.jetbrains.kotlin.idea.codeinsight.api.classic.quickfixes.KotlinQuickF
import org.jetbrains.kotlin.psi.KtFile
/**
* A [KotlinQuickFixAction] providing a similar API for quick fixes as [KotlinApplicableIntention] provides for intentions.
* A [KotlinQuickFixAction] providing a similar API for quick fixes as
* [org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntention] provides for intentions.
*/
abstract class AbstractKotlinApplicableQuickFix<ELEMENT : PsiElement>(target: ELEMENT) : KotlinQuickFixAction<ELEMENT>(target) {
open fun getActionName(element: ELEMENT): @IntentionName String = familyName
@@ -11,11 +11,11 @@ import kotlin.reflect.KClass
*/
abstract class AbstractKotlinApplicableDiagnosticInspection<ELEMENT : KtElement, DIAGNOSTIC : KtDiagnosticWithPsi<ELEMENT>>(
elementType: KClass<ELEMENT>,
) : AbstractKotlinApplicableInspection<ELEMENT>(elementType), KotlinApplicableDiagnosticInspectionBase<ELEMENT, DIAGNOSTIC> {
) : AbstractKotlinApplicableInspection<ELEMENT>(elementType), AbstractKotlinApplicableDiagnosticInspectionBase<ELEMENT, DIAGNOSTIC> {
/**
* Whether this inspection is applicable to [element] given a [diagnostic].
*
* @see KotlinApplicableTool.isApplicableByAnalyze
* @see org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableTool.isApplicableByAnalyze
*/
context(KtAnalysisSession)
abstract fun isApplicableByDiagnostic(element: ELEMENT, diagnostic: DIAGNOSTIC): Boolean
@@ -9,12 +9,12 @@ import org.jetbrains.kotlin.psi.KtElement
import kotlin.reflect.KClass
/**
* [KotlinApplicableDiagnosticInspectionBase] is a base interface for [AbstractKotlinApplicableDiagnosticInspection] and
* [AbstractKotlinApplicableDiagnosticInspectionBase] is a base interface for [AbstractKotlinApplicableDiagnosticInspection] and
* [AbstractKotlinApplicableDiagnosticInspectionWithContext].
*
* TODO: Consider supporting multiple diagnostics.
*/
interface KotlinApplicableDiagnosticInspectionBase<
interface AbstractKotlinApplicableDiagnosticInspectionBase<
ELEMENT : KtElement,
DIAGNOSTIC : KtDiagnosticWithPsi<ELEMENT>
> : KotlinApplicableToolBase<ELEMENT> {
@@ -30,7 +30,7 @@ context(KtAnalysisSession)
internal fun <
ELEMENT : KtElement,
DIAGNOSTIC : KtDiagnosticWithPsi<ELEMENT>
> KotlinApplicableDiagnosticInspectionBase<ELEMENT, DIAGNOSTIC>.getDiagnostic(element: ELEMENT): DIAGNOSTIC? {
> AbstractKotlinApplicableDiagnosticInspectionBase<ELEMENT, DIAGNOSTIC>.getDiagnostic(element: ELEMENT): DIAGNOSTIC? {
val diagnostics = element.getDiagnostics(KtDiagnosticCheckerFilter.ONLY_EXTENDED_CHECKERS)
val suitableDiagnostics = diagnostics.filterIsInstance(getDiagnosticType().java)
return suitableDiagnostics.firstOrNull()
@@ -11,11 +11,11 @@ import kotlin.reflect.KClass
*/
abstract class AbstractKotlinApplicableDiagnosticInspectionWithContext<ELEMENT : KtElement, DIAGNOSTIC : KtDiagnosticWithPsi<ELEMENT>, CONTEXT>(
elementType: KClass<ELEMENT>,
) : AbstractKotlinApplicableInspectionWithContext<ELEMENT, CONTEXT>(elementType), KotlinApplicableDiagnosticInspectionBase<ELEMENT, DIAGNOSTIC> {
) : AbstractKotlinApplicableInspectionWithContext<ELEMENT, CONTEXT>(elementType), AbstractKotlinApplicableDiagnosticInspectionBase<ELEMENT, DIAGNOSTIC> {
/**
* Provides some context for [apply] given some [element] and [diagnostic].
*
* @see KotlinApplicableToolWithContext.prepareContext
* @see org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableToolWithContext.prepareContext
*/
context(KtAnalysisSession)
abstract fun prepareContextByDiagnostic(element: ELEMENT, diagnostic: DIAGNOSTIC): CONTEXT?
@@ -21,7 +21,7 @@ import kotlin.reflect.KClass
*/
abstract class AbstractKotlinApplicableInspection<ELEMENT : KtElement>(
elementType: KClass<ELEMENT>,
) : KotlinApplicableInspectionBase<ELEMENT>(elementType), KotlinApplicableTool<ELEMENT> {
) : AbstractKotlinApplicableInspectionBase<ELEMENT>(elementType), KotlinApplicableTool<ELEMENT> {
/**
* [getProblemDescription] must be lightweight: it should not perform expensive computations so that it doesn't cause performance
* issues.
@@ -40,7 +40,7 @@ abstract class AbstractKotlinApplicableInspection<ELEMENT : KtElement>(
if (!isApplicable) return null
val elementPointer = element.createSmartPointer()
val quickFix = object : KotlinApplicableInspectionQuickFix<ELEMENT>() {
val quickFix = object : AbstractKotlinApplicableInspectionQuickFix<ELEMENT>() {
override fun applyTo(element: ELEMENT) {
apply(element, element.project, element.findExistingEditor())
}
@@ -15,10 +15,10 @@ import org.jetbrains.kotlin.psi.KtElement
import kotlin.reflect.KClass
/**
* [KotlinApplicableInspectionBase] is a base implementation for [AbstractKotlinApplicableInspection] and
* [AbstractKotlinApplicableInspectionBase] is a base implementation for [AbstractKotlinApplicableInspection] and
* [AbstractKotlinApplicableInspectionWithContext].
*/
sealed class KotlinApplicableInspectionBase<ELEMENT : KtElement>(
sealed class AbstractKotlinApplicableInspectionBase<ELEMENT : KtElement>(
elementType: KClass<ELEMENT>,
) : KotlinSingleElementInspection<ELEMENT>(elementType), KotlinApplicableToolBase<ELEMENT> {
/**
@@ -62,7 +62,7 @@ sealed class KotlinApplicableInspectionBase<ELEMENT : KtElement>(
}
}
internal abstract class KotlinApplicableInspectionQuickFix<ELEMENT : KtElement> : LocalQuickFix {
internal abstract class AbstractKotlinApplicableInspectionQuickFix<ELEMENT : KtElement> : LocalQuickFix {
abstract fun applyTo(element: ELEMENT)
abstract override fun getName(): String
@@ -21,7 +21,7 @@ import kotlin.reflect.KClass
*/
abstract class AbstractKotlinApplicableInspectionWithContext<ELEMENT : KtElement, CONTEXT>(
elementType: KClass<ELEMENT>,
) : KotlinApplicableInspectionBase<ELEMENT>(elementType), KotlinApplicableToolWithContext<ELEMENT, CONTEXT> {
) : AbstractKotlinApplicableInspectionBase<ELEMENT>(elementType), KotlinApplicableToolWithContext<ELEMENT, CONTEXT> {
/**
* [getProblemDescription] must be lightweight: it should not perform expensive computations so that it doesn't cause performance
* issues.
@@ -40,7 +40,7 @@ abstract class AbstractKotlinApplicableInspectionWithContext<ELEMENT : KtElement
val context = prepareContextWithAnalyze(element, needsReadAction = true) ?: return null
val elementPointer = element.createSmartPointer()
val quickFix = object : KotlinApplicableInspectionQuickFix<ELEMENT>() {
val quickFix = object : AbstractKotlinApplicableInspectionQuickFix<ELEMENT>() {
override fun applyTo(element: ELEMENT) {
apply(element, context, element.project, element.findExistingEditor())
}