mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] New Inspection API: Minor fixes
- Replace `sealed` with `abstract` in inspection/intention base classes, as it causes sporadic exceptions in IntelliJ. (Likely an issue with binary compatibility of locally compiled classes.) GitOrigin-RevId: 60005049a42b7f19a207f733ef9ce809fce8ed70
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e9e761caf3
commit
a83fe50e9b
+1
-1
@@ -18,7 +18,7 @@ import kotlin.reflect.KClass
|
||||
* [AbstractKotlinApplicableInspectionBase] is a base implementation for [AbstractKotlinApplicableInspection] and
|
||||
* [AbstractKotlinApplicableInspectionWithContext].
|
||||
*/
|
||||
sealed class AbstractKotlinApplicableInspectionBase<ELEMENT : KtElement>(
|
||||
abstract class AbstractKotlinApplicableInspectionBase<ELEMENT : KtElement>(
|
||||
elementType: KClass<ELEMENT>,
|
||||
) : KotlinSingleElementInspection<ELEMENT>(elementType), KotlinApplicableToolBase<ELEMENT> {
|
||||
/**
|
||||
|
||||
+1
-1
@@ -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<ELEMENT : KtElement>(
|
||||
abstract class AbstractKotlinApplicableIntentionBase<ELEMENT : KtElement>(
|
||||
elementType: KClass<ELEMENT>,
|
||||
) : SelfTargetingIntention<ELEMENT>(elementType.java, { "" }), KotlinApplicableToolBase<ELEMENT> {
|
||||
/**
|
||||
|
||||
+2
-2
@@ -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, AddNamesInCommentToJavaCallArgumentsIntention.Context>(KtCallElement::class) {
|
||||
: AbstractKotlinApplicableIntentionWithContext<KtCallElement, AddNamesInCommentToJavaCallArgumentsIntention.Context>(KtCallElement::class) {
|
||||
|
||||
class Context(val nameCommentsByArgument: NameCommentsByArgument)
|
||||
|
||||
|
||||
+6
-2
@@ -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<SmartPsiElementPointer<KtReturnExpression>>
|
||||
|
||||
internal class ConvertForEachToForLoopIntention
|
||||
: KotlinApplicableIntentionWithContext<KtCallExpression, ConvertForEachToForLoopIntention.Context>(
|
||||
: AbstractKotlinApplicableIntentionWithContext<KtCallExpression, ConvertForEachToForLoopIntention.Context>(
|
||||
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<KtCallExpression> = ApplicabilityRanges.SELF
|
||||
|
||||
override fun isApplicableByPsi(element: KtCallExpression): Boolean {
|
||||
if (element.getCallNameExpression()?.getReferencedName() != FOR_EACH_NAME.asString()) return false
|
||||
|
||||
|
||||
Reference in New Issue
Block a user