mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] New Inspection API: Move and rename base classes
GitOrigin-RevId: 8493e0b8d87d8e376aef2147c14b72499a210b55
This commit is contained in:
committed by
intellij-monorepo-bot
parent
788b236fae
commit
ea36dd85a3
+2
-2
@@ -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<ELEMENT : PsiElement>(target: ELEMENT) : KotlinQuickFixAction<ELEMENT>(target) {
|
||||
abstract class AbstractKotlinApplicableQuickFix<ELEMENT : PsiElement>(target: ELEMENT) : KotlinQuickFixAction<ELEMENT>(target) {
|
||||
open fun getActionName(element: ELEMENT): @IntentionName String = familyName
|
||||
|
||||
abstract fun apply(element: ELEMENT, project: Project, editor: Editor?, file: KtFile)
|
||||
+4
-4
@@ -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<ELEMENT : KtElement, DIAGNOSTIC : KtDiagnosticWithPsi<ELEMENT>>(
|
||||
abstract class AbstractKotlinApplicableDiagnosticInspection<ELEMENT : KtElement, DIAGNOSTIC : KtDiagnosticWithPsi<ELEMENT>>(
|
||||
elementType: KClass<ELEMENT>,
|
||||
) : KotlinApplicableInspection<ELEMENT>(elementType), KotlinApplicableDiagnosticInspectionBase<ELEMENT, DIAGNOSTIC> {
|
||||
) : AbstractKotlinApplicableInspection<ELEMENT>(elementType), KotlinApplicableDiagnosticInspectionBase<ELEMENT, DIAGNOSTIC> {
|
||||
/**
|
||||
* Whether this inspection is applicable to [element] given a [diagnostic].
|
||||
*
|
||||
+4
-3
@@ -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.
|
||||
*/
|
||||
+4
-4
@@ -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<ELEMENT : KtElement, DIAGNOSTIC : KtDiagnosticWithPsi<ELEMENT>, CONTEXT>(
|
||||
abstract class AbstractKotlinApplicableDiagnosticInspectionWithContext<ELEMENT : KtElement, DIAGNOSTIC : KtDiagnosticWithPsi<ELEMENT>, CONTEXT>(
|
||||
elementType: KClass<ELEMENT>,
|
||||
) : KotlinApplicableInspectionWithContext<ELEMENT, CONTEXT>(elementType), KotlinApplicableDiagnosticInspectionBase<ELEMENT, DIAGNOSTIC> {
|
||||
) : AbstractKotlinApplicableInspectionWithContext<ELEMENT, CONTEXT>(elementType), KotlinApplicableDiagnosticInspectionBase<ELEMENT, DIAGNOSTIC> {
|
||||
/**
|
||||
* Provides some context for [apply] given some [element] and [diagnostic].
|
||||
*
|
||||
+4
-2
@@ -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<ELEMENT : KtElement>(
|
||||
abstract class AbstractKotlinApplicableInspection<ELEMENT : KtElement>(
|
||||
elementType: KClass<ELEMENT>,
|
||||
) : KotlinApplicableInspectionBase<ELEMENT>(elementType), KotlinApplicableTool<ELEMENT> {
|
||||
/**
|
||||
+4
-2
@@ -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<ELEMENT : KtElement>(
|
||||
elementType: KClass<ELEMENT>,
|
||||
+4
-2
@@ -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<ELEMENT : KtElement, CONTEXT>(
|
||||
abstract class AbstractKotlinApplicableInspectionWithContext<ELEMENT : KtElement, CONTEXT>(
|
||||
elementType: KClass<ELEMENT>,
|
||||
) : KotlinApplicableInspectionBase<ELEMENT>(elementType), KotlinApplicableToolWithContext<ELEMENT, CONTEXT> {
|
||||
/**
|
||||
+6
-4
@@ -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<ELEMENT : KtElement>(
|
||||
abstract class AbstractKotlinApplicableIntention<ELEMENT : KtElement>(
|
||||
elementType: KClass<ELEMENT>,
|
||||
) : KotlinApplicableIntentionBase<ELEMENT>(elementType), KotlinApplicableTool<ELEMENT> {
|
||||
) : AbstractKotlinApplicableIntentionBase<ELEMENT>(elementType), KotlinApplicableTool<ELEMENT> {
|
||||
final override fun isApplicableTo(element: ELEMENT, caretOffset: Int): Boolean {
|
||||
if (!super.isApplicableTo(element, caretOffset)) return false
|
||||
if (!isApplicableWithAnalyzeAllowEdt(element)) return false
|
||||
+7
-5
@@ -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<ELEMENT : KtElement>(
|
||||
sealed class AbstractKotlinApplicableIntentionBase<ELEMENT : KtElement>(
|
||||
elementType: KClass<ELEMENT>,
|
||||
) : SelfTargetingIntention<ELEMENT>(elementType.java, { "" }), KotlinApplicableToolBase<ELEMENT> {
|
||||
abstract override fun getFamilyName(): @IntentionFamilyName String
|
||||
+5
-3
@@ -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<ELEMENT : KtElement, CONTEXT>(
|
||||
abstract class AbstractKotlinApplicableIntentionWithContext<ELEMENT : KtElement, CONTEXT>(
|
||||
elementType: KClass<ELEMENT>,
|
||||
) : KotlinApplicableIntentionBase<ELEMENT>(elementType), KotlinApplicableToolWithContext<ELEMENT, CONTEXT> {
|
||||
) : AbstractKotlinApplicableIntentionBase<ELEMENT>(elementType), KotlinApplicableToolWithContext<ELEMENT, CONTEXT> {
|
||||
final override fun isApplicableTo(element: ELEMENT, caretOffset: Int): Boolean {
|
||||
if (!super.isApplicableTo(element, caretOffset)) return false
|
||||
val context = prepareContextWithAnalyzeAllowEdt(element, needsReadAction = false) ?: return false
|
||||
+2
-2
@@ -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<DIAGNOSTIC : KtDiagnosticWithPsi<KtModifierListOwner>>(
|
||||
private val modifierSet: TokenSet,
|
||||
) : KotlinApplicableDiagnosticInspectionWithContext<KtModifierListOwner, DIAGNOSTIC, RedundantModifierInspectionBase.ModifierContext>(
|
||||
) : AbstractKotlinApplicableDiagnosticInspectionWithContext<KtModifierListOwner, DIAGNOSTIC, RedundantModifierInspectionBase.ModifierContext>(
|
||||
KtModifierListOwner::class
|
||||
),
|
||||
CleanupLocalInspectionTool {
|
||||
|
||||
+6
-4
@@ -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, ImplicitThisInspection.ImplicitReceiverInfo>(
|
||||
KtExpression::class
|
||||
) {
|
||||
internal class ImplicitThisInspection :
|
||||
AbstractKotlinApplicableInspectionWithContext<KtExpression, ImplicitThisInspection.ImplicitReceiverInfo>(KtExpression::class) {
|
||||
|
||||
data class ImplicitReceiverInfo(
|
||||
val receiverLabel: Name?,
|
||||
val isUnambiguousLabel: Boolean
|
||||
|
||||
+4
-2
@@ -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>(KtBinaryExpression::class) {
|
||||
class NullableBooleanElvisInspection : AbstractKotlinApplicableInspection<KtBinaryExpression>(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")
|
||||
|
||||
+2
-2
@@ -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>(KtBinaryExpression::class) {
|
||||
internal class RedundantElvisReturnNullInspection : AbstractKotlinApplicableInspection<KtBinaryExpression>(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")
|
||||
|
||||
|
||||
+4
-2
@@ -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<KtStringTemplateExpression, RemoveSingleExpressionStringTemplateInspection.Context>(
|
||||
AbstractKotlinApplicableInspectionWithContext<KtStringTemplateExpression, RemoveSingleExpressionStringTemplateInspection.Context>(
|
||||
KtStringTemplateExpression::class
|
||||
) {
|
||||
|
||||
|
||||
+2
-2
@@ -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>(KtDotQualifiedExpression::class),
|
||||
AbstractKotlinApplicableInspection<KtDotQualifiedExpression>(KtDotQualifiedExpression::class),
|
||||
CleanupLocalInspectionTool {
|
||||
|
||||
override fun getFamilyName(): String = KotlinBundle.message("remove.to.string.fix.text")
|
||||
|
||||
+2
-2
@@ -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<KtDotQualifiedExpression, ReplaceGetOrSetInspection.Context>(
|
||||
AbstractKotlinApplicableInspectionWithContext<KtDotQualifiedExpression, ReplaceGetOrSetInspection.Context>(
|
||||
KtDotQualifiedExpression::class
|
||||
) {
|
||||
|
||||
|
||||
+2
-2
@@ -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, TypeInfo>(KtNamedFunction::class),
|
||||
AbstractKotlinApplicableInspectionWithContext<KtNamedFunction, TypeInfo>(KtNamedFunction::class),
|
||||
CleanupLocalInspectionTool {
|
||||
|
||||
override fun getFamilyName(): String = KotlinBundle.message("inspection.redundant.unit.return.type.display.name")
|
||||
|
||||
+2
-2
@@ -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<KtNamedDeclaration, KtFirDiagnostic.UnusedVariable>(
|
||||
AbstractKotlinApplicableDiagnosticInspection<KtNamedDeclaration, KtFirDiagnostic.UnusedVariable>(
|
||||
KtNamedDeclaration::class,
|
||||
) {
|
||||
|
||||
|
||||
+4
-2
@@ -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>(KtPrefixExpression::class) {
|
||||
internal class KotlinDoubleNegationInspection : AbstractKotlinApplicableInspection<KtPrefixExpression>(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")
|
||||
|
||||
+4
-2
@@ -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>(KtCallExpression::class) {
|
||||
internal class ReplaceCollectionCountWithSizeInspection : AbstractKotlinApplicableInspection<KtCallExpression>(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")
|
||||
|
||||
+3
-2
@@ -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>(KtValueArgumentList::class) {
|
||||
class RemoveEmptyParenthesesFromLambdaCallInspection : AbstractKotlinApplicableInspection<KtValueArgumentList>(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")
|
||||
|
||||
+2
-2
@@ -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, AddNameToArgumentIntention.Context>(KtValueArgument::class),
|
||||
AbstractKotlinApplicableIntentionWithContext<KtValueArgument, AddNameToArgumentIntention.Context>(KtValueArgument::class),
|
||||
LowPriorityAction {
|
||||
|
||||
class Context(val argumentName: Name)
|
||||
|
||||
+2
-2
@@ -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, AddNamesToCallArgumentsIntention.Context>(KtCallElement::class) {
|
||||
AbstractKotlinApplicableIntentionWithContext<KtCallElement, AddNamesToCallArgumentsIntention.Context>(KtCallElement::class) {
|
||||
|
||||
class Context(val argumentNames: Map<SmartPsiElementPointer<KtValueArgument>, Name>)
|
||||
|
||||
|
||||
+2
-2
@@ -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, AddNamesToFollowingArgumentsIntention.Context>(KtValueArgument::class),
|
||||
AbstractKotlinApplicableIntentionWithContext<KtValueArgument, AddNamesToFollowingArgumentsIntention.Context>(KtValueArgument::class),
|
||||
LowPriorityAction {
|
||||
|
||||
class Context(val argumentNames: Map<SmartPsiElementPointer<KtValueArgument>, Name>)
|
||||
|
||||
+4
-2
@@ -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>(KtCallableDeclaration::class),
|
||||
AbstractKotlinApplicableIntention<KtCallableDeclaration>(KtCallableDeclaration::class),
|
||||
LowPriorityAction {
|
||||
|
||||
override fun getFamilyName(): String = KotlinBundle.message("make.open")
|
||||
|
||||
+2
-2
@@ -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>(KtProperty::class) {
|
||||
) : AbstractKotlinApplicableIntention<KtProperty>(KtProperty::class) {
|
||||
override fun getFamilyName(): String = AddAccessorUtils.familyAndActionName(addGetter, addSetter)
|
||||
override fun getActionName(element: KtProperty): String = familyName
|
||||
|
||||
|
||||
+4
-2
@@ -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, AddRemainingWhenBranchesUtils.Context>(KtWhenExpression::class) {
|
||||
: AbstractKotlinApplicableIntentionWithContext<KtWhenExpression, AddRemainingWhenBranchesUtils.Context>(KtWhenExpression::class) {
|
||||
|
||||
override fun getFamilyName(): String = AddRemainingWhenBranchesUtils.familyAndActionName(false)
|
||||
override fun getActionName(element: KtWhenExpression, context: AddRemainingWhenBranchesUtils.Context): String = familyName
|
||||
|
||||
+4
-2
@@ -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>(KtBinaryExpression::class) {
|
||||
internal class ConvertConcatenationToBuildStringIntention : AbstractKotlinApplicableIntention<KtBinaryExpression>(KtBinaryExpression::class) {
|
||||
override fun getFamilyName(): String = KotlinBundle.message("convert.concatenation.to.build.string")
|
||||
override fun getActionName(element: KtBinaryExpression): String = familyName
|
||||
|
||||
|
||||
+4
-2
@@ -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<KtStringTemplateExpression>(
|
||||
internal class ConvertStringTemplateToBuildStringIntention : AbstractKotlinApplicableIntention<KtStringTemplateExpression>(
|
||||
KtStringTemplateExpression::class
|
||||
), LowPriorityAction {
|
||||
override fun getFamilyName(): String = KotlinBundle.message("convert.string.template.to.build.string")
|
||||
|
||||
+3
-2
@@ -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, ConvertToBlockBodyIntention.Context>(KtDeclarationWithBody::class) {
|
||||
AbstractKotlinApplicableIntentionWithContext<KtDeclarationWithBody, ConvertToBlockBodyIntention.Context>(KtDeclarationWithBody::class) {
|
||||
|
||||
class Context(
|
||||
val returnTypeIsUnit: Boolean,
|
||||
|
||||
+4
-2
@@ -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, ImportAllMembersIntention.Context>(KtExpression::class),
|
||||
AbstractKotlinApplicableIntentionWithContext<KtExpression, ImportAllMembersIntention.Context>(KtExpression::class),
|
||||
HighPriorityAction {
|
||||
|
||||
class Context(
|
||||
|
||||
+4
-2
@@ -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, ImportMemberIntention.Context>(KtNameReferenceExpression::class),
|
||||
AbstractKotlinApplicableIntentionWithContext<KtNameReferenceExpression, ImportMemberIntention.Context>(KtNameReferenceExpression::class),
|
||||
HighPriorityAction {
|
||||
|
||||
class Context(
|
||||
|
||||
+2
-2
@@ -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, TypeInfo>(KtCallableDeclaration::class) {
|
||||
AbstractKotlinApplicableIntentionWithContext<KtCallableDeclaration, TypeInfo>(KtCallableDeclaration::class) {
|
||||
|
||||
override fun getFamilyName(): String = KotlinBundle.message("specify.type.explicitly")
|
||||
override fun getActionName(element: KtCallableDeclaration, context: TypeInfo): String = when (element) {
|
||||
|
||||
+2
-2
@@ -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>(KtDeclarationWithBody::class) {
|
||||
AbstractKotlinApplicableIntention<KtDeclarationWithBody>(KtDeclarationWithBody::class) {
|
||||
|
||||
override fun getFamilyName(): String = KotlinBundle.message("convert.body.to.expression")
|
||||
override fun getActionName(element: KtDeclarationWithBody): String = familyName
|
||||
|
||||
+2
-2
@@ -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<KtProperty>(target) {
|
||||
) : AbstractKotlinApplicableQuickFix<KtProperty>(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)
|
||||
|
||||
+2
-2
@@ -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<KtWhenExpression>(target) {
|
||||
) : AbstractKotlinApplicableQuickFix<KtWhenExpression>(target) {
|
||||
override fun getFamilyName(): String = AddRemainingWhenBranchesUtils.familyAndActionName(context.enumToStarImport != null)
|
||||
override fun apply(element: KtWhenExpression, project: Project, editor: Editor?, file: KtFile) =
|
||||
addRemainingWhenBranches(element, context)
|
||||
|
||||
+2
-2
@@ -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<E>(target) {
|
||||
) : AbstractKotlinApplicableQuickFix<E>(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) =
|
||||
|
||||
+2
-2
@@ -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<KtCallableDeclaration>(target) {
|
||||
) : AbstractKotlinApplicableQuickFix<KtCallableDeclaration>(target) {
|
||||
override fun getFamilyName(): String = KotlinBundle.message("specify.type.explicitly")
|
||||
|
||||
override fun getActionName(element: KtCallableDeclaration): String = when (element) {
|
||||
|
||||
Reference in New Issue
Block a user