diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableToolWithContext.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableToolWithContext.kt index f2f3ddbe05a8..fadffa1f3534 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableToolWithContext.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/KotlinApplicableToolWithContext.kt @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.analysis.api.lifetime.allowAnalysisOnEdt import org.jetbrains.kotlin.psi.KtElement /** - * A common base interface for [org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinApplicableIntentionWithContext] + * A common base interface for [org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinModCommandWithContext] * and [org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableInspectionWithContext]. */ interface KotlinApplicableToolWithContext : KotlinApplicableToolBase { diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntention.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntention.kt index 30154cab44e1..57b908164ea6 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntention.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntention.kt @@ -11,7 +11,7 @@ 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 [AbstractKotlinApplicableIntentionWithContext] instead. + * If [apply] needs to use the Analysis API, inherit from [AbstractKotlinModCommandWithContext] instead. */ @Deprecated("Use AbstractKotlinApplicableModCommandIntention") abstract class AbstractKotlinApplicableIntention( diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionBase.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionBase.kt index 8c7de45213cb..94dabf67c960 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionBase.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionBase.kt @@ -5,14 +5,13 @@ 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.applicable.isApplicableToElement -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 import kotlin.reflect.KClass /** * [AbstractKotlinApplicableIntentionBase] is a base implementation for [AbstractKotlinApplicableIntention] and - * [AbstractKotlinApplicableIntentionWithContext]. + * [AbstractKotlinModCommandWithContext]. * * Note: A [familyNameGetter] for [SelfTargetingIntention] does not have to be set because inheritors of * [AbstractKotlinApplicableIntentionBase] must override [getFamilyName]. diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionWithContext.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionWithContext.kt deleted file mode 100644 index 9969248fb577..000000000000 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/intentions/AbstractKotlinApplicableIntentionWithContext.kt +++ /dev/null @@ -1,40 +0,0 @@ -// 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.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.runWriteActionIfNeeded -import org.jetbrains.kotlin.psi.KtElement -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]. - */ -@Deprecated("use org.jetbrains.kotlin.idea.codeinsight.api.applicable.intentions.AbstractKotlinModCommandWithContext") -abstract class AbstractKotlinApplicableIntentionWithContext( - elementType: KClass, -) : AbstractKotlinApplicableIntentionBase(elementType), KotlinApplicableToolWithContext { - final override fun isApplicableTo(element: ELEMENT, caretOffset: Int): Boolean { - if (!super.isApplicableTo(element, caretOffset)) return false - val context = prepareContextWithAnalyzeAllowEdt(element) ?: return false - - val actionText = getActionName(element, context) - setTextGetter { actionText } - return true - } - - final override fun applyTo(element: ELEMENT, project: Project, editor: Editor?) { - val context = prepareContextWithAnalyzeAllowEdt(element) ?: return - runWriteActionIfNeeded(shouldApplyInWriteAction() && element.isPhysical) { - apply(element, context, project, editor) - } - } - - final override fun startInWriteAction(): Boolean = - // `applyTo` should start without a write action because it first uses `analyse` to get the context. Also, - // `getContext` when called from `applyTo` should not have access to a write action for `element` to discourage mutating `element`. - false -} \ No newline at end of file