diff --git a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspectionBase.kt b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspectionBase.kt index e9a01cde06de..a57b573f0753 100644 --- a/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspectionBase.kt +++ b/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/inspections/AbstractKotlinApplicableInspectionBase.kt @@ -18,7 +18,7 @@ import kotlin.reflect.KClass * [AbstractKotlinApplicableInspectionBase] is a base implementation for [AbstractKotlinApplicableInspection] and * [AbstractKotlinApplicableInspectionWithContext]. */ -sealed class AbstractKotlinApplicableInspectionBase( +abstract class AbstractKotlinApplicableInspectionBase( elementType: KClass, ) : KotlinSingleElementInspection(elementType), KotlinApplicableToolBase { /** 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 7ee4ad83cfb0..d53224fd916b 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 @@ -17,7 +17,7 @@ import kotlin.reflect.KClass * Note: A [familyNameGetter] for [SelfTargetingIntention] does not have to be set because inheritors of * [AbstractKotlinApplicableIntentionBase] must override [getFamilyName]. */ -sealed class AbstractKotlinApplicableIntentionBase( +abstract class AbstractKotlinApplicableIntentionBase( elementType: KClass, ) : SelfTargetingIntention(elementType.java, { "" }), KotlinApplicableToolBase { /** diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesInCommentToJavaCallArgumentsIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesInCommentToJavaCallArgumentsIntention.kt index b7c28af5ebc4..98b344c79c39 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesInCommentToJavaCallArgumentsIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddNamesInCommentToJavaCallArgumentsIntention.kt @@ -5,7 +5,7 @@ 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.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.dereferenceValidKeys import org.jetbrains.kotlin.idea.codeinsights.impl.base.NameCommentsByArgument @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.psi.KtPsiFactory import org.jetbrains.kotlin.psi.KtValueArgument internal class AddNamesInCommentToJavaCallArgumentsIntention - : KotlinApplicableIntentionWithContext(KtCallElement::class) { + : AbstractKotlinApplicableIntentionWithContext(KtCallElement::class) { class Context(val nameCommentsByArgument: NameCommentsByArgument) diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertForEachToForLoopIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertForEachToForLoopIntention.kt index 0ee844acc6c6..e2737d2c9c4b 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertForEachToForLoopIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertForEachToForLoopIntention.kt @@ -7,8 +7,10 @@ import com.intellij.psi.SmartPsiElementPointer import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol 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.dereferenceValidPointers +import org.jetbrains.kotlin.idea.codeinsights.impl.base.applicators.ApplicabilityRanges import org.jetbrains.kotlin.idea.references.mainReference import org.jetbrains.kotlin.idea.util.CommentSaver import org.jetbrains.kotlin.name.CallableId @@ -28,7 +30,7 @@ private val FOR_EACH_CALLABLE_IDS = setOf( private typealias ReturnsToReplace = List> internal class ConvertForEachToForLoopIntention - : KotlinApplicableIntentionWithContext( + : AbstractKotlinApplicableIntentionWithContext( KtCallExpression::class ) { @@ -40,6 +42,8 @@ internal class ConvertForEachToForLoopIntention override fun getFamilyName(): String = KotlinBundle.message("replace.with.a.for.loop") override fun getActionName(element: KtCallExpression, context: Context): String = familyName + override fun getApplicabilityRange(): KotlinApplicabilityRange = ApplicabilityRanges.SELF + override fun isApplicableByPsi(element: KtCallExpression): Boolean { if (element.getCallNameExpression()?.getReferencedName() != FOR_EACH_NAME.asString()) return false