diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableQuickFix.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/fixes/AbstractKotlinApplicableQuickFix.kt similarity index 84% rename from plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableQuickFix.kt rename to plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/fixes/AbstractKotlinApplicableQuickFix.kt index a19e331fa7e8..7d663518eb5c 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableQuickFix.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/fixes/AbstractKotlinApplicableQuickFix.kt @@ -1,5 +1,5 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.codeinsight.api.applicable +package org.jetbrains.kotlin.idea.codeinsight.api.applicable.fixes import com.intellij.codeInspection.util.IntentionName import com.intellij.openapi.editor.Editor @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.psi.KtFile /** * A [KotlinQuickFixAction] providing a similar API for quick fixes as [KotlinApplicableIntention] provides for intentions. */ -abstract class KotlinApplicableQuickFix(target: ELEMENT) : KotlinQuickFixAction(target) { +abstract class AbstractKotlinApplicableQuickFix(target: ELEMENT) : KotlinQuickFixAction(target) { open fun getActionName(element: ELEMENT): @IntentionName String = familyName abstract fun apply(element: ELEMENT, project: Project, editor: Editor?, file: KtFile) diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableDiagnosticInspection.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableDiagnosticInspection.kt similarity index 67% rename from plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableDiagnosticInspection.kt rename to plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableDiagnosticInspection.kt index 9337b283fb18..8b1148dd58fc 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableDiagnosticInspection.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableDiagnosticInspection.kt @@ -1,5 +1,5 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.codeinsight.api.applicable +package org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.diagnostics.KtDiagnosticWithPsi @@ -7,11 +7,11 @@ import org.jetbrains.kotlin.psi.KtElement import kotlin.reflect.KClass /** - * A [KotlinApplicableInspection] that applies to an element if it has a specific [DIAGNOSTIC]. + * A [AbstractKotlinApplicableInspection] that applies to an element if it has a specific [DIAGNOSTIC]. */ -abstract class KotlinApplicableDiagnosticInspection>( +abstract class AbstractKotlinApplicableDiagnosticInspection>( elementType: KClass, -) : KotlinApplicableInspection(elementType), KotlinApplicableDiagnosticInspectionBase { +) : AbstractKotlinApplicableInspection(elementType), KotlinApplicableDiagnosticInspectionBase { /** * Whether this inspection is applicable to [element] given a [diagnostic]. * diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableDiagnosticInspectionBase.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableDiagnosticInspectionBase.kt similarity index 83% rename from plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableDiagnosticInspectionBase.kt rename to plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableDiagnosticInspectionBase.kt index 212e9c0bd374..d83400cba8d5 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableDiagnosticInspectionBase.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableDiagnosticInspectionBase.kt @@ -1,15 +1,16 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.codeinsight.api.applicable +package org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.components.KtDiagnosticCheckerFilter import org.jetbrains.kotlin.analysis.api.diagnostics.KtDiagnosticWithPsi +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableToolBase import org.jetbrains.kotlin.psi.KtElement import kotlin.reflect.KClass /** - * [KotlinApplicableDiagnosticInspectionBase] is a base interface for [KotlinApplicableDiagnosticInspection] and - * [KotlinApplicableDiagnosticInspectionWithContext]. + * [KotlinApplicableDiagnosticInspectionBase] is a base interface for [AbstractKotlinApplicableDiagnosticInspection] and + * [AbstractKotlinApplicableDiagnosticInspectionWithContext]. * * TODO: Consider supporting multiple diagnostics. */ diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableDiagnosticInspectionWithContext.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableDiagnosticInspectionWithContext.kt similarity index 65% rename from plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableDiagnosticInspectionWithContext.kt rename to plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableDiagnosticInspectionWithContext.kt index 64db2b1b8607..13b5ba4a78fe 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableDiagnosticInspectionWithContext.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableDiagnosticInspectionWithContext.kt @@ -1,5 +1,5 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.codeinsight.api.applicable +package org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.diagnostics.KtDiagnosticWithPsi @@ -7,11 +7,11 @@ import org.jetbrains.kotlin.psi.KtElement import kotlin.reflect.KClass /** - * A [KotlinApplicableInspectionWithContext] that applies to an element if it has a specific [DIAGNOSTIC]. + * A [AbstractKotlinApplicableInspectionWithContext] that applies to an element if it has a specific [DIAGNOSTIC]. */ -abstract class KotlinApplicableDiagnosticInspectionWithContext, CONTEXT>( +abstract class AbstractKotlinApplicableDiagnosticInspectionWithContext, CONTEXT>( elementType: KClass, -) : KotlinApplicableInspectionWithContext(elementType), KotlinApplicableDiagnosticInspectionBase { +) : AbstractKotlinApplicableInspectionWithContext(elementType), KotlinApplicableDiagnosticInspectionBase { /** * Provides some context for [apply] given some [element] and [diagnostic]. * diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableInspection.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspection.kt similarity index 89% rename from plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableInspection.kt rename to plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspection.kt index bbdce1a360c0..15f1c5aca1d4 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableInspection.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspection.kt @@ -1,10 +1,12 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.codeinsight.api.applicable +package org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections import com.intellij.codeInspection.LocalInspectionTool import com.intellij.codeInspection.ProblemHighlightType import com.intellij.codeInspection.util.InspectionMessage import com.intellij.refactoring.suggested.createSmartPointer +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableTool +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.isApplicableWithAnalyze import org.jetbrains.kotlin.idea.codeinsight.utils.findExistingEditor import org.jetbrains.kotlin.idea.util.application.runReadAction import org.jetbrains.kotlin.psi.KtElement @@ -17,7 +19,7 @@ import kotlin.reflect.KClass * For more complex inspections that should either visit multiple kinds of elements or register multiple (or zero) problems, simply use * [LocalInspectionTool]. */ -abstract class KotlinApplicableInspection( +abstract class AbstractKotlinApplicableInspection( elementType: KClass, ) : KotlinApplicableInspectionBase(elementType), KotlinApplicableTool { /** diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableInspectionBase.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspectionBase.kt similarity index 91% rename from plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableInspectionBase.kt rename to plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspectionBase.kt index 4855d01d5648..023d35a06f01 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableInspectionBase.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspectionBase.kt @@ -1,10 +1,11 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.codeinsight.api.applicable +package org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections import com.intellij.codeInspection.* import com.intellij.codeInspection.util.InspectionMessage import com.intellij.openapi.project.Project import com.intellij.psi.PsiFile +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableToolBase import org.jetbrains.kotlin.idea.codeinsight.api.applicators.* import org.jetbrains.kotlin.idea.codeinsight.api.inspections.KotlinSingleElementInspection import org.jetbrains.kotlin.idea.util.application.runWriteActionIfPhysical @@ -12,7 +13,8 @@ import org.jetbrains.kotlin.psi.KtElement import kotlin.reflect.KClass /** - * [KotlinApplicableInspectionBase] is a base implementation for [KotlinApplicableInspection] and [KotlinApplicableInspectionWithContext]. + * [KotlinApplicableInspectionBase] is a base implementation for [AbstractKotlinApplicableInspection] and + * [AbstractKotlinApplicableInspectionWithContext]. */ sealed class KotlinApplicableInspectionBase( elementType: KClass, diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableInspectionWithContext.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspectionWithContext.kt similarity index 88% rename from plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableInspectionWithContext.kt rename to plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspectionWithContext.kt index a749aff4d763..b5e044ae6d72 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableInspectionWithContext.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspectionWithContext.kt @@ -1,10 +1,12 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.codeinsight.api.applicable +package org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections import com.intellij.codeInspection.LocalInspectionTool import com.intellij.codeInspection.ProblemHighlightType import com.intellij.codeInspection.util.InspectionMessage import com.intellij.refactoring.suggested.createSmartPointer +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableToolWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.prepareContextWithAnalyze import org.jetbrains.kotlin.idea.codeinsight.utils.findExistingEditor import org.jetbrains.kotlin.psi.KtElement import kotlin.reflect.KClass @@ -17,7 +19,7 @@ import kotlin.reflect.KClass * For more complex inspections that should either visit multiple kinds of elements or register multiple (or zero) problems, simply use * [LocalInspectionTool]. */ -abstract class KotlinApplicableInspectionWithContext( +abstract class AbstractKotlinApplicableInspectionWithContext( elementType: KClass, ) : KotlinApplicableInspectionBase(elementType), KotlinApplicableToolWithContext { /** diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableIntention.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntention.kt similarity index 63% rename from plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableIntention.kt rename to plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntention.kt index 95f9ed9ff43c..c4a82f55f7a5 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableIntention.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntention.kt @@ -1,19 +1,21 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.codeinsight.api.applicable +package org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableTool +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.isApplicableWithAnalyzeAllowEdt import org.jetbrains.kotlin.psi.KtElement import kotlin.reflect.KClass /** * Applies a fix to the PSI with [apply] if the intention is applicable via [isApplicableByPsi] and [isApplicableByAnalyze]. * - * If [apply] needs to use the Analysis API, inherit from [KotlinApplicableIntentionWithContext] instead. + * If [apply] needs to use the Analysis API, inherit from [AbstractKotlinApplicableIntentionWithContext] instead. */ -abstract class KotlinApplicableIntention( +abstract class AbstractKotlinApplicableIntention( elementType: KClass, -) : KotlinApplicableIntentionBase(elementType), KotlinApplicableTool { +) : AbstractKotlinApplicableIntentionBase(elementType), KotlinApplicableTool { final override fun isApplicableTo(element: ELEMENT, caretOffset: Int): Boolean { if (!super.isApplicableTo(element, caretOffset)) return false if (!isApplicableWithAnalyzeAllowEdt(element)) return false diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableIntentionBase.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionBase.kt similarity index 76% rename from plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableIntentionBase.kt rename to plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionBase.kt index f912fba7fc22..4edcbf5fa572 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableIntentionBase.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionBase.kt @@ -1,8 +1,9 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.codeinsight.api.applicable +package org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions import com.intellij.codeInspection.util.IntentionFamilyName import com.intellij.openapi.editor.Editor +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableToolBase import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange import org.jetbrains.kotlin.idea.codeinsight.api.classic.intentions.SelfTargetingIntention import org.jetbrains.kotlin.psi.KtElement @@ -10,12 +11,13 @@ import org.jetbrains.kotlin.psi.psiUtil.startOffset import kotlin.reflect.KClass /** - * [KotlinApplicableIntentionBase] is a base implementation for [KotlinApplicableIntention] and [KotlinApplicableIntentionWithContext]. + * [AbstractKotlinApplicableIntentionBase] is a base implementation for [AbstractKotlinApplicableIntention] and + * [AbstractKotlinApplicableIntentionWithContext]. * - * Note: A [familyNameGetter] for [SelfTargetingIntention] does not have to be set because inheritors of [KotlinApplicableIntentionBase] - * must override [getFamilyName]. + * Note: A [familyNameGetter] for [SelfTargetingIntention] does not have to be set because inheritors of + * [AbstractKotlinApplicableIntentionBase] must override [getFamilyName]. */ -sealed class KotlinApplicableIntentionBase( +sealed class AbstractKotlinApplicableIntentionBase( elementType: KClass, ) : SelfTargetingIntention(elementType.java, { "" }), KotlinApplicableToolBase { abstract override fun getFamilyName(): @IntentionFamilyName String diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableIntentionWithContext.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionWithContext.kt similarity index 77% rename from plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableIntentionWithContext.kt rename to plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionWithContext.kt index 3534bd165a22..343353385e98 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableIntentionWithContext.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionWithContext.kt @@ -1,8 +1,10 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.codeinsight.api.applicable +package org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableToolWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.prepareContextWithAnalyzeAllowEdt import org.jetbrains.kotlin.idea.util.application.runWriteActionIfPhysical import org.jetbrains.kotlin.psi.KtElement import kotlin.reflect.KClass @@ -11,9 +13,9 @@ import kotlin.reflect.KClass * Applies a fix to the PSI with [apply] given some [CONTEXT] from [prepareContext] if the intention is applicable via [isApplicableByPsi] and * [prepareContext]. */ -abstract class KotlinApplicableIntentionWithContext( +abstract class AbstractKotlinApplicableIntentionWithContext( elementType: KClass, -) : KotlinApplicableIntentionBase(elementType), KotlinApplicableToolWithContext { +) : AbstractKotlinApplicableIntentionBase(elementType), KotlinApplicableToolWithContext { final override fun isApplicableTo(element: ELEMENT, caretOffset: Int): Boolean { if (!super.isApplicableTo(element, caretOffset)) return false val context = prepareContextWithAnalyzeAllowEdt(element, needsReadAction = false) ?: return false diff --git a/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/inspections/RedundantModifierInspectionBase.kt b/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/inspections/RedundantModifierInspectionBase.kt index a01a7c377482..7805cfcb9406 100644 --- a/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/inspections/RedundantModifierInspectionBase.kt +++ b/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/inspections/RedundantModifierInspectionBase.kt @@ -7,13 +7,13 @@ import com.intellij.openapi.project.Project import com.intellij.psi.tree.TokenSet import org.jetbrains.kotlin.analysis.api.diagnostics.KtDiagnosticWithPsi import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableDiagnosticInspectionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableDiagnosticInspectionWithContext import org.jetbrains.kotlin.lexer.KtModifierKeywordToken import org.jetbrains.kotlin.psi.KtModifierListOwner abstract class RedundantModifierInspectionBase>( private val modifierSet: TokenSet, -) : KotlinApplicableDiagnosticInspectionWithContext( +) : AbstractKotlinApplicableDiagnosticInspectionWithContext( KtModifierListOwner::class ), CleanupLocalInspectionTool { diff --git a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/ImplicitThisInspection.kt b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/ImplicitThisInspection.kt index 4b8168ba1796..9667a288034a 100644 --- a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/ImplicitThisInspection.kt +++ b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/ImplicitThisInspection.kt @@ -8,15 +8,17 @@ import org.jetbrains.kotlin.analysis.api.components.KtImplicitReceiver import org.jetbrains.kotlin.analysis.api.symbols.* import org.jetbrains.kotlin.analysis.api.types.KtFunctionalType import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableInspectionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspectionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.idea.references.mainReference import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.renderer.render -internal class ImplicitThisInspection : KotlinApplicableInspectionWithContext( - KtExpression::class -) { +internal class ImplicitThisInspection : + AbstractKotlinApplicableInspectionWithContext(KtExpression::class) { + data class ImplicitReceiverInfo( val receiverLabel: Name?, val isUnambiguousLabel: Boolean diff --git a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/NullableBooleanElvisInspection.kt b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/NullableBooleanElvisInspection.kt index 7d6dda0f4203..9bac0d007f35 100644 --- a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/NullableBooleanElvisInspection.kt +++ b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/NullableBooleanElvisInspection.kt @@ -6,7 +6,9 @@ import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.idea.base.psi.replaced import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableInspection +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspection +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* @@ -18,7 +20,7 @@ import org.jetbrains.kotlin.psi.* * - `!(nb ?: false)` => `nb != true` * See plugins/kotlin/code-insight/descriptions/resources-en/inspectionDescriptions/NullableBooleanElvis.html for details. */ -class NullableBooleanElvisInspection : KotlinApplicableInspection(KtBinaryExpression::class) { +class NullableBooleanElvisInspection : AbstractKotlinApplicableInspection(KtBinaryExpression::class) { override fun getFamilyName(): String = KotlinBundle.message("inspection.nullable.boolean.elvis.display.name") override fun getActionName(element: KtBinaryExpression): String = KotlinBundle.message("inspection.nullable.boolean.elvis.action.name") diff --git a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RedundantElvisReturnNullInspection.kt b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RedundantElvisReturnNullInspection.kt index 07fb137c7469..328e57f1083a 100644 --- a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RedundantElvisReturnNullInspection.kt +++ b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RedundantElvisReturnNullInspection.kt @@ -8,7 +8,7 @@ import com.intellij.psi.util.elementType import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.idea.base.psi.safeDeparenthesize import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableInspection +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspection import org.jetbrains.kotlin.idea.codeinsight.api.applicators.* import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtBinaryExpression @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.startOffset import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes -internal class RedundantElvisReturnNullInspection : KotlinApplicableInspection(KtBinaryExpression::class) { +internal class RedundantElvisReturnNullInspection : AbstractKotlinApplicableInspection(KtBinaryExpression::class) { override fun getFamilyName(): String = KotlinBundle.message("inspection.redundant.elvis.return.null.descriptor") override fun getActionName(element: KtBinaryExpression): String = KotlinBundle.message("remove.redundant.elvis.return.null.text") diff --git a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RemoveSingleExpressionStringTemplateInspection.kt b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RemoveSingleExpressionStringTemplateInspection.kt index 60e536029db2..5c83a4e1d6de 100644 --- a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RemoveSingleExpressionStringTemplateInspection.kt +++ b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RemoveSingleExpressionStringTemplateInspection.kt @@ -5,14 +5,16 @@ import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableInspectionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspectionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.psi.KtPsiFactory import org.jetbrains.kotlin.psi.KtStringTemplateExpression import org.jetbrains.kotlin.psi.createExpressionByPattern internal class RemoveSingleExpressionStringTemplateInspection : - KotlinApplicableInspectionWithContext( + AbstractKotlinApplicableInspectionWithContext( KtStringTemplateExpression::class ) { diff --git a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RemoveToStringInStringTemplateInspection.kt b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RemoveToStringInStringTemplateInspection.kt index e130acb1ca5b..2a3aa97b4ecc 100644 --- a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RemoveToStringInStringTemplateInspection.kt +++ b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RemoveToStringInStringTemplateInspection.kt @@ -9,7 +9,7 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.calls.successfulFunctionCallOrNull import org.jetbrains.kotlin.analysis.api.calls.symbol import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableInspection +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspection import org.jetbrains.kotlin.idea.codeinsight.api.applicators.* import org.jetbrains.kotlin.name.* import org.jetbrains.kotlin.psi.* @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.util.OperatorNameConventions private val TO_STRING_CALLABLE_ID = CallableId(StandardClassIds.Any, OperatorNameConventions.TO_STRING) internal class RemoveToStringInStringTemplateInspection : - KotlinApplicableInspection(KtDotQualifiedExpression::class), + AbstractKotlinApplicableInspection(KtDotQualifiedExpression::class), CleanupLocalInspectionTool { override fun getFamilyName(): String = KotlinBundle.message("remove.to.string.fix.text") diff --git a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/ReplaceGetOrSetInspection.kt b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/ReplaceGetOrSetInspection.kt index 6c0c850295c3..bcb212e1b9b7 100644 --- a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/ReplaceGetOrSetInspection.kt +++ b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/ReplaceGetOrSetInspection.kt @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtVariableLikeSymbol import org.jetbrains.kotlin.idea.base.psi.textRangeIn import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableInspectionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspectionWithContext import org.jetbrains.kotlin.idea.codeinsight.api.applicators.applicabilityRange import org.jetbrains.kotlin.idea.codeinsights.impl.base.inspections.ReplaceGetOrSetInspectionUtils import org.jetbrains.kotlin.name.Name @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getPossiblyQualifiedCallExpression import org.jetbrains.kotlin.util.OperatorNameConventions internal class ReplaceGetOrSetInspection : - KotlinApplicableInspectionWithContext( + AbstractKotlinApplicableInspectionWithContext( KtDotQualifiedExpression::class ) { diff --git a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/declarations/RedundantUnitReturnTypeInspection.kt b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/declarations/RedundantUnitReturnTypeInspection.kt index 529555097a7d..40710ff5f4cf 100644 --- a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/declarations/RedundantUnitReturnTypeInspection.kt +++ b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/declarations/RedundantUnitReturnTypeInspection.kt @@ -7,14 +7,14 @@ import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableInspectionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspectionWithContext import org.jetbrains.kotlin.idea.codeinsights.impl.base.CallableReturnTypeUpdaterUtils.TypeInfo import org.jetbrains.kotlin.idea.codeinsights.impl.base.CallableReturnTypeUpdaterUtils.updateType import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.psi.KtNamedFunction internal class RedundantUnitReturnTypeInspection : - KotlinApplicableInspectionWithContext(KtNamedFunction::class), + AbstractKotlinApplicableInspectionWithContext(KtNamedFunction::class), CleanupLocalInspectionTool { override fun getFamilyName(): String = KotlinBundle.message("inspection.redundant.unit.return.type.display.name") diff --git a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/diagnosticBased/UnusedVariableInspection.kt b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/diagnosticBased/UnusedVariableInspection.kt index f68d9aa8d290..4b11959c2ff5 100644 --- a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/diagnosticBased/UnusedVariableInspection.kt +++ b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/diagnosticBased/UnusedVariableInspection.kt @@ -7,7 +7,7 @@ import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.fir.diagnostics.KtFirDiagnostic import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableDiagnosticInspection +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableDiagnosticInspection import org.jetbrains.kotlin.idea.codeinsight.utils.isExplicitTypeReferenceNeededForTypeInference import org.jetbrains.kotlin.idea.codeinsight.utils.removeProperty import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges @@ -15,7 +15,7 @@ import org.jetbrains.kotlin.psi.KtNamedDeclaration import org.jetbrains.kotlin.psi.KtProperty internal class UnusedVariableInspection : - KotlinApplicableDiagnosticInspection( + AbstractKotlinApplicableDiagnosticInspection( KtNamedDeclaration::class, ) { diff --git a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/KotlinDoubleNegationInspection.kt b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/KotlinDoubleNegationInspection.kt index d5299fa49497..c3327870e9f9 100644 --- a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/KotlinDoubleNegationInspection.kt +++ b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/KotlinDoubleNegationInspection.kt @@ -6,12 +6,14 @@ import com.intellij.openapi.project.Project import com.intellij.psi.PsiElement import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableInspection +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspection +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtParenthesizedExpression import org.jetbrains.kotlin.psi.KtPrefixExpression -internal class KotlinDoubleNegationInspection : KotlinApplicableInspection(KtPrefixExpression::class) { +internal class KotlinDoubleNegationInspection : AbstractKotlinApplicableInspection(KtPrefixExpression::class) { override fun getFamilyName(): String = KotlinBundle.message("inspection.kotlin.double.negation.display.name") override fun getActionName(element: KtPrefixExpression): String = KotlinBundle.message("inspection.kotlin.double.negation.action.name") diff --git a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/ReplaceCollectionCountWithSizeInspection.kt b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/ReplaceCollectionCountWithSizeInspection.kt index cd857de7a62b..62f027d7a1c7 100644 --- a/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/ReplaceCollectionCountWithSizeInspection.kt +++ b/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/ReplaceCollectionCountWithSizeInspection.kt @@ -8,7 +8,9 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol import org.jetbrains.kotlin.analysis.api.types.KtNonErrorClassType import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableInspection +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspection +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.idea.references.mainReference import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name @@ -20,7 +22,7 @@ private val COLLECTION_COUNT_CALLABLE_ID = CallableId(StandardNames.COLLECTIONS_ private val COLLECTION_CLASS_IDS = setOf(StandardClassIds.Collection, StandardClassIds.Array, StandardClassIds.Map) + StandardClassIds.elementTypeByPrimitiveArrayType.keys + StandardClassIds.unsignedArrayTypeByElementType.keys -internal class ReplaceCollectionCountWithSizeInspection : KotlinApplicableInspection(KtCallExpression::class) { +internal class ReplaceCollectionCountWithSizeInspection : AbstractKotlinApplicableInspection(KtCallExpression::class) { override fun getFamilyName(): String = KotlinBundle.message("inspection.replace.collection.count.with.size.display.name") override fun getActionName(element: KtCallExpression): String = KotlinBundle.message("replace.collection.count.with.size.quick.fix.text") diff --git a/plugins/kotlin/code-insight/inspections-shared/src/org/jetbrains/kotlin/idea/codeInsight/inspections/shared/RemoveEmptyParenthesesFromLambdaCallInspection.kt b/plugins/kotlin/code-insight/inspections-shared/src/org/jetbrains/kotlin/idea/codeInsight/inspections/shared/RemoveEmptyParenthesesFromLambdaCallInspection.kt index 997dd1ce341f..d230ad3ed0cb 100644 --- a/plugins/kotlin/code-insight/inspections-shared/src/org/jetbrains/kotlin/idea/codeInsight/inspections/shared/RemoveEmptyParenthesesFromLambdaCallInspection.kt +++ b/plugins/kotlin/code-insight/inspections-shared/src/org/jetbrains/kotlin/idea/codeInsight/inspections/shared/RemoveEmptyParenthesesFromLambdaCallInspection.kt @@ -4,12 +4,13 @@ package org.jetbrains.kotlin.idea.codeInsight.inspections.shared import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableInspection +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspection +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange import org.jetbrains.kotlin.idea.codeinsights.impl.base.RemoveEmptyParenthesesFromLambdaCallUtils.canRemoveByPsi import org.jetbrains.kotlin.idea.codeinsights.impl.base.RemoveEmptyParenthesesFromLambdaCallUtils.removeArgumentList import org.jetbrains.kotlin.psi.KtValueArgumentList -class RemoveEmptyParenthesesFromLambdaCallInspection : KotlinApplicableInspection(KtValueArgumentList::class) { +class RemoveEmptyParenthesesFromLambdaCallInspection : AbstractKotlinApplicableInspection(KtValueArgumentList::class) { override fun getFamilyName(): String = KotlinBundle.message("inspection.remove.empty.parentheses.from.lambda.call.display.name") override fun getActionName(element: KtValueArgumentList): String = KotlinBundle.message("inspection.remove.empty.parentheses.from.lambda.call.action.name") diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNameToArgumentIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNameToArgumentIntention.kt index bad867606ff8..6116c83b9b6e 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNameToArgumentIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNameToArgumentIntention.kt @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.analysis.api.calls.symbol import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.idea.base.projectStructure.languageVersionSettings import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntentionWithContext import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddArgumentNamesUtils.addArgumentName import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddArgumentNamesUtils.getArgumentNameIfCanBeUsedForCalls @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* internal class AddNameToArgumentIntention : - KotlinApplicableIntentionWithContext(KtValueArgument::class), + AbstractKotlinApplicableIntentionWithContext(KtValueArgument::class), LowPriorityAction { class Context(val argumentName: Name) diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesToCallArgumentsIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesToCallArgumentsIntention.kt index 4e9f91f11442..3bc6b71ffb95 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesToCallArgumentsIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesToCallArgumentsIntention.kt @@ -8,7 +8,7 @@ import com.intellij.psi.SmartPsiElementPointer import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.idea.base.psi.textRangeIn import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntentionWithContext import org.jetbrains.kotlin.idea.codeinsight.api.applicators.applicabilityRanges import org.jetbrains.kotlin.idea.codeinsight.utils.dereferenceValidKeys import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddArgumentNamesUtils.addArgumentNames @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.psi.KtCallElement import org.jetbrains.kotlin.psi.KtValueArgument internal class AddNamesToCallArgumentsIntention : - KotlinApplicableIntentionWithContext(KtCallElement::class) { + AbstractKotlinApplicableIntentionWithContext(KtCallElement::class) { class Context(val argumentNames: Map, Name>) diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesToFollowingArgumentsIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesToFollowingArgumentsIntention.kt index cd23c333a620..6108461bb555 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesToFollowingArgumentsIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesToFollowingArgumentsIntention.kt @@ -7,7 +7,7 @@ import com.intellij.openapi.project.Project import com.intellij.psi.SmartPsiElementPointer import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntentionWithContext import org.jetbrains.kotlin.idea.codeinsight.utils.dereferenceValidKeys import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddArgumentNamesUtils.addArgumentNames @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.psi.KtValueArgument import org.jetbrains.kotlin.psi.KtValueArgumentList internal class AddNamesToFollowingArgumentsIntention : - KotlinApplicableIntentionWithContext(KtValueArgument::class), + AbstractKotlinApplicableIntentionWithContext(KtValueArgument::class), LowPriorityAction { class Context(val argumentNames: Map, Name>) diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddOpenModifierIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddOpenModifierIntention.kt index 9b7419bf3e41..b8296279fe62 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddOpenModifierIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddOpenModifierIntention.kt @@ -8,7 +8,9 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithModality import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntention +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntention +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtCallableDeclaration import org.jetbrains.kotlin.psi.KtNamedFunction @@ -16,7 +18,7 @@ import org.jetbrains.kotlin.psi.KtProperty import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject internal class AddOpenModifierIntention : - KotlinApplicableIntention(KtCallableDeclaration::class), + AbstractKotlinApplicableIntention(KtCallableDeclaration::class), LowPriorityAction { override fun getFamilyName(): String = KotlinBundle.message("make.open") diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddPropertyAccessorsIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddPropertyAccessorsIntention.kt index 1a6ff026eb48..65043c46f463 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddPropertyAccessorsIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddPropertyAccessorsIntention.kt @@ -8,7 +8,7 @@ import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.annotations.hasAnnotation import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntention +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntention import org.jetbrains.kotlin.idea.codeinsight.api.applicators.applicabilityTarget import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddAccessorUtils import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddAccessorUtils.addAccessors @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier internal abstract class AbstractAddAccessorIntention( private val addGetter: Boolean, private val addSetter: Boolean, -) : KotlinApplicableIntention(KtProperty::class) { +) : AbstractKotlinApplicableIntention(KtProperty::class) { override fun getFamilyName(): String = AddAccessorUtils.familyAndActionName(addGetter, addSetter) override fun getActionName(element: KtProperty): String = familyName diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddWhenRemainingBranchesIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddWhenRemainingBranchesIntention.kt index b44205196506..81810e17c87b 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddWhenRemainingBranchesIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddWhenRemainingBranchesIntention.kt @@ -6,13 +6,15 @@ import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.diagnostics.WhenMissingCase -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddRemainingWhenBranchesUtils import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddRemainingWhenBranchesUtils.addRemainingWhenBranches import org.jetbrains.kotlin.psi.KtWhenExpression internal class AddWhenRemainingBranchesIntention - : KotlinApplicableIntentionWithContext(KtWhenExpression::class) { + : AbstractKotlinApplicableIntentionWithContext(KtWhenExpression::class) { override fun getFamilyName(): String = AddRemainingWhenBranchesUtils.familyAndActionName(false) override fun getActionName(element: KtWhenExpression, context: AddRemainingWhenBranchesUtils.Context): String = familyName diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertConcatenationToBuildStringIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertConcatenationToBuildStringIntention.kt index 8a4523a16b3a..8daa3d88d345 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertConcatenationToBuildStringIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertConcatenationToBuildStringIntention.kt @@ -7,12 +7,14 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.idea.base.analysis.api.utils.shortenReferences import org.jetbrains.kotlin.idea.base.psi.isAnnotationArgument import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntention +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntention +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.convertConcatenationToBuildStringCall import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtBinaryExpression -internal class ConvertConcatenationToBuildStringIntention : KotlinApplicableIntention(KtBinaryExpression::class) { +internal class ConvertConcatenationToBuildStringIntention : AbstractKotlinApplicableIntention(KtBinaryExpression::class) { override fun getFamilyName(): String = KotlinBundle.message("convert.concatenation.to.build.string") override fun getActionName(element: KtBinaryExpression): String = familyName diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertStringTemplateToBuildStringIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertStringTemplateToBuildStringIntention.kt index 6f8eee1e2e35..cdaad3e57040 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertStringTemplateToBuildStringIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertStringTemplateToBuildStringIntention.kt @@ -7,11 +7,13 @@ import com.intellij.openapi.project.Project import org.jetbrains.kotlin.idea.base.analysis.api.utils.shortenReferences import org.jetbrains.kotlin.idea.base.psi.isAnnotationArgument import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntention +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntention +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.convertStringTemplateToBuildStringCall import org.jetbrains.kotlin.psi.KtStringTemplateExpression -internal class ConvertStringTemplateToBuildStringIntention : KotlinApplicableIntention( +internal class ConvertStringTemplateToBuildStringIntention : AbstractKotlinApplicableIntention( KtStringTemplateExpression::class ), LowPriorityAction { override fun getFamilyName(): String = KotlinBundle.message("convert.string.template.to.build.string") diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertToBlockBodyIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertToBlockBodyIntention.kt index 82c9637fb9bc..f2fb256be3d8 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertToBlockBodyIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertToBlockBodyIntention.kt @@ -9,7 +9,8 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.types.KtClassErrorType import org.jetbrains.kotlin.idea.base.analysis.api.utils.shortenReferences import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange import org.jetbrains.kotlin.idea.codeinsight.utils.adjustLineIndent import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.psi.* @@ -17,7 +18,7 @@ import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.startOffset internal class ConvertToBlockBodyIntention : - KotlinApplicableIntentionWithContext(KtDeclarationWithBody::class) { + AbstractKotlinApplicableIntentionWithContext(KtDeclarationWithBody::class) { class Context( val returnTypeIsUnit: Boolean, diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ImportAllMembersIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ImportAllMembersIntention.kt index 1f1d7a2ff10f..c21233069697 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ImportAllMembersIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ImportAllMembersIntention.kt @@ -14,7 +14,9 @@ import org.jetbrains.kotlin.analysis.api.components.ShortenOption import org.jetbrains.kotlin.analysis.api.symbols.* import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithKind import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.idea.references.KtReference import org.jetbrains.kotlin.idea.references.mainReference import org.jetbrains.kotlin.name.ClassId @@ -24,7 +26,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getQualifiedExpressionForReceiver import org.jetbrains.kotlin.psi.psiUtil.isInImportDirective internal class ImportAllMembersIntention : - KotlinApplicableIntentionWithContext(KtExpression::class), + AbstractKotlinApplicableIntentionWithContext(KtExpression::class), HighPriorityAction { class Context( diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ImportMemberIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ImportMemberIntention.kt index 0536b9dc2e1a..df9034f1a707 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ImportMemberIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ImportMemberIntention.kt @@ -12,7 +12,9 @@ import org.jetbrains.kotlin.analysis.api.symbols.* import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithKind import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.KotlinApplicabilityRange +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.idea.references.mainReference import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtNameReferenceExpression @@ -20,7 +22,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getQualifiedElement import org.jetbrains.kotlin.psi.psiUtil.isInImportDirective internal class ImportMemberIntention : - KotlinApplicableIntentionWithContext(KtNameReferenceExpression::class), + AbstractKotlinApplicableIntentionWithContext(KtNameReferenceExpression::class), HighPriorityAction { class Context( diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/SpecifyTypeExplicitlyIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/SpecifyTypeExplicitlyIntention.kt index d526979e122d..f064ae643a7f 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/SpecifyTypeExplicitlyIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/SpecifyTypeExplicitlyIntention.kt @@ -8,7 +8,7 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.components.KtDiagnosticCheckerFilter import org.jetbrains.kotlin.analysis.api.fir.diagnostics.KtFirDiagnostic import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntentionWithContext +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntentionWithContext import org.jetbrains.kotlin.idea.codeinsights.impl.base.CallableReturnTypeUpdaterUtils.TypeInfo import org.jetbrains.kotlin.idea.codeinsights.impl.base.CallableReturnTypeUpdaterUtils.getTypeInfo import org.jetbrains.kotlin.idea.codeinsights.impl.base.CallableReturnTypeUpdaterUtils.updateType @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.Applicabilit import org.jetbrains.kotlin.psi.* internal class SpecifyTypeExplicitlyIntention : - KotlinApplicableIntentionWithContext(KtCallableDeclaration::class) { + AbstractKotlinApplicableIntentionWithContext(KtCallableDeclaration::class) { override fun getFamilyName(): String = KotlinBundle.message("specify.type.explicitly") override fun getActionName(element: KtCallableDeclaration, context: TypeInfo): String = when (element) { diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/UseExpressionBodyIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/UseExpressionBodyIntention.kt index 018e33824321..d3cf4d07a317 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/UseExpressionBodyIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/UseExpressionBodyIntention.kt @@ -8,7 +8,7 @@ import com.intellij.openapi.util.TextRange import com.intellij.psi.PsiElement import org.jetbrains.kotlin.idea.base.psi.replaced import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableIntention +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntention import org.jetbrains.kotlin.idea.codeinsight.api.applicators.* import org.jetbrains.kotlin.idea.util.CommentSaver import org.jetbrains.kotlin.psi.* @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.startOffset internal class UseExpressionBodyIntention : - KotlinApplicableIntention(KtDeclarationWithBody::class) { + AbstractKotlinApplicableIntention(KtDeclarationWithBody::class) { override fun getFamilyName(): String = KotlinBundle.message("convert.body.to.expression") override fun getActionName(element: KtDeclarationWithBody): String = familyName diff --git a/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/AddAccessorsFactories.kt b/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/AddAccessorsFactories.kt index af226d8168b9..4088a5c4be0b 100644 --- a/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/AddAccessorsFactories.kt +++ b/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/AddAccessorsFactories.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.idea.quickfix.fixes import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analysis.api.fir.diagnostics.KtFirDiagnostic -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableQuickFix +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.fixes.AbstractKotlinApplicableQuickFix import org.jetbrains.kotlin.idea.codeinsight.api.applicators.fixes.diagnosticFixFactories import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddAccessorUtils import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddAccessorUtils.addAccessors @@ -31,7 +31,7 @@ object AddAccessorsFactories { target: KtProperty, private val addGetter: Boolean, private val addSetter: Boolean, - ) : KotlinApplicableQuickFix(target) { + ) : AbstractKotlinApplicableQuickFix(target) { override fun getFamilyName(): String = AddAccessorUtils.familyAndActionName(addGetter, addSetter) override fun apply(element: KtProperty, project: Project, editor: Editor?, file: KtFile) = addAccessors(element, addGetter, addSetter, editor) diff --git a/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/AddWhenRemainingBranchFixFactories.kt b/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/AddWhenRemainingBranchFixFactories.kt index b967a4ac41cc..8827c88c4320 100644 --- a/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/AddWhenRemainingBranchFixFactories.kt +++ b/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/AddWhenRemainingBranchFixFactories.kt @@ -7,7 +7,7 @@ import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analysis.api.fir.diagnostics.KtFirDiagnostic import org.jetbrains.kotlin.analysis.api.symbols.KtClassKind import org.jetbrains.kotlin.diagnostics.WhenMissingCase -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableQuickFix +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.fixes.AbstractKotlinApplicableQuickFix import org.jetbrains.kotlin.idea.codeinsight.api.applicators.fixes.diagnosticFixFactory import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddRemainingWhenBranchesUtils import org.jetbrains.kotlin.idea.codeinsights.impl.base.intentions.AddRemainingWhenBranchesUtils.addRemainingWhenBranches @@ -47,7 +47,7 @@ object AddWhenRemainingBranchFixFactories { private class AddRemainingWhenBranchesQuickFix( target: KtWhenExpression, private val context: AddRemainingWhenBranchesUtils.Context, - ) : KotlinApplicableQuickFix(target) { + ) : AbstractKotlinApplicableQuickFix(target) { override fun getFamilyName(): String = AddRemainingWhenBranchesUtils.familyAndActionName(context.enumToStarImport != null) override fun apply(element: KtWhenExpression, project: Project, editor: Editor?, file: KtFile) = addRemainingWhenBranches(element, context) diff --git a/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/ChangeTypeQuickFixFactories.kt b/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/ChangeTypeQuickFixFactories.kt index b4de1d0cbed3..36207ca8c0fd 100644 --- a/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/ChangeTypeQuickFixFactories.kt +++ b/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/ChangeTypeQuickFixFactories.kt @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.psiSafe import org.jetbrains.kotlin.analysis.api.types.KtNonErrorClassType import org.jetbrains.kotlin.analysis.api.types.KtType import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableQuickFix +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.fixes.AbstractKotlinApplicableQuickFix import org.jetbrains.kotlin.idea.codeinsight.api.applicators.fixes.diagnosticFixFactory import org.jetbrains.kotlin.idea.codeinsights.impl.base.CallableReturnTypeUpdaterUtils import org.jetbrains.kotlin.idea.codeinsights.impl.base.CallableReturnTypeUpdaterUtils.updateType @@ -39,7 +39,7 @@ object ChangeTypeQuickFixFactories { target: E, private val targetType: TargetType, private val typeInfo: CallableReturnTypeUpdaterUtils.TypeInfo, - ) : KotlinApplicableQuickFix(target) { + ) : AbstractKotlinApplicableQuickFix(target) { override fun getFamilyName(): String = KotlinBundle.message("fix.change.return.type.family") override fun getActionName(element: E): String = getActionName(element, targetType, typeInfo) override fun apply(element: E, project: Project, editor: Editor?, file: KtFile) = diff --git a/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/SpecifyExplicitTypeFixFactories.kt b/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/SpecifyExplicitTypeFixFactories.kt index 638657e2c5d1..30528e5ee2e6 100644 --- a/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/SpecifyExplicitTypeFixFactories.kt +++ b/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/quickfix/fixes/SpecifyExplicitTypeFixFactories.kt @@ -9,7 +9,7 @@ import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.fir.diagnostics.KtFirDiagnostic import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.applicable.KotlinApplicableQuickFix +import org.jetbrains.kotlin.idea.codeinsight.api.applicable.fixes.AbstractKotlinApplicableQuickFix import org.jetbrains.kotlin.idea.codeinsight.api.applicators.fixes.diagnosticFixFactory import org.jetbrains.kotlin.idea.codeinsights.impl.base.CallableReturnTypeUpdaterUtils.TypeInfo import org.jetbrains.kotlin.idea.codeinsights.impl.base.CallableReturnTypeUpdaterUtils.getTypeInfo @@ -37,7 +37,7 @@ object SpecifyExplicitTypeFixFactories { private class SpecifyExplicitTypeQuickFix( target: KtCallableDeclaration, private val typeInfo: TypeInfo, - ) : KotlinApplicableQuickFix(target) { + ) : AbstractKotlinApplicableQuickFix(target) { override fun getFamilyName(): String = KotlinBundle.message("specify.type.explicitly") override fun getActionName(element: KtCallableDeclaration): String = when (element) {