FIR IDE: AddModifierFix -> AddModifierFixMpp
This commit is contained in:
committed by
Ilya Kirillov
parent
de06a69b12
commit
5793f77ece
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticWithParameters2
|
||||
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
||||
import org.jetbrains.kotlin.idea.quickfix.AddModifierFix
|
||||
import org.jetbrains.kotlin.idea.quickfix.AddModifierFixMpp
|
||||
import org.jetbrains.kotlin.idea.quickfix.CleanupFix
|
||||
import org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactory
|
||||
import org.jetbrains.kotlin.idea.refactoring.canRefactor
|
||||
@@ -34,7 +34,7 @@ class AddModifierFixFactory(val token: KtModifierKeywordToken) : KotlinSingleInt
|
||||
val target = DescriptorToSourceUtilsIde.getAnyDeclaration(diagnostic.psiFile.project, functionDescriptor)
|
||||
as? KtModifierListOwner ?: return null
|
||||
if (target.canRefactor()) {
|
||||
return object : AddModifierFix(target, token), CleanupFix {}
|
||||
return object : AddModifierFixMpp(target, token), CleanupFix {}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.cfg.LeakingThisDescriptor.*
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithContent
|
||||
import org.jetbrains.kotlin.idea.quickfix.AddModifierFix
|
||||
import org.jetbrains.kotlin.idea.quickfix.AddModifierFixMpp
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
|
||||
@@ -100,7 +100,7 @@ class LeakingThisInspection : AbstractKotlinInspection() {
|
||||
val useScope = declaration.useScope
|
||||
if (DefinitionsScopedSearch.search(declaration, useScope).findFirst() != null) return null
|
||||
if ((declaration.containingClassOrObject as? KtClass)?.isInterface() == true) return null
|
||||
return IntentionWrapper(AddModifierFix(declaration, KtTokens.FINAL_KEYWORD), declaration.containingFile)
|
||||
return IntentionWrapper(AddModifierFixMpp(declaration, KtTokens.FINAL_KEYWORD), declaration.containingFile)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.idea.core.canBePrivate
|
||||
import org.jetbrains.kotlin.idea.core.isInheritable
|
||||
import org.jetbrains.kotlin.idea.core.isOverridable
|
||||
import org.jetbrains.kotlin.idea.core.toDescriptor
|
||||
import org.jetbrains.kotlin.idea.quickfix.AddModifierFix
|
||||
import org.jetbrains.kotlin.idea.quickfix.AddModifierFixMpp
|
||||
import org.jetbrains.kotlin.idea.refactoring.isConstructorDeclaredProperty
|
||||
import org.jetbrains.kotlin.idea.search.isCheapEnoughToSearchConsideringOperators
|
||||
import org.jetbrains.kotlin.idea.search.usagesSearch.dataClassComponentFunction
|
||||
@@ -159,7 +159,7 @@ class MemberVisibilityCanBePrivateInspection : AbstractKotlinInspection() {
|
||||
declaration.visibilityModifier() ?: nameElement,
|
||||
KotlinBundle.message("0.1.could.be.private", member, declaration.getName().toString()),
|
||||
ProblemHighlightType.GENERIC_ERROR_OR_WARNING,
|
||||
IntentionWrapper(AddModifierFix(modifierListOwner, KtTokens.PRIVATE_KEYWORD), declaration.containingKtFile)
|
||||
IntentionWrapper(AddModifierFixMpp(modifierListOwner, KtTokens.PRIVATE_KEYWORD), declaration.containingKtFile)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.psi.psiUtil.hasActualModifier
|
||||
import org.jetbrains.kotlin.resolve.checkers.ConstModifierChecker
|
||||
import org.jetbrains.kotlin.resolve.source.PsiSourceElement
|
||||
|
||||
class AddConstModifierFix(property: KtProperty) : AddModifierFix(property, KtTokens.CONST_KEYWORD), CleanupFix {
|
||||
class AddConstModifierFix(property: KtProperty) : AddModifierFixMpp(property, KtTokens.CONST_KEYWORD), CleanupFix {
|
||||
private val pointer = property.createSmartPointer()
|
||||
|
||||
override fun invokeImpl(project: Project, editor: Editor?, file: PsiFile) {
|
||||
|
||||
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
||||
|
||||
class AddDataModifierFix(element: KtClass, private val fqName: String) : AddModifierFix(element, KtTokens.DATA_KEYWORD) {
|
||||
class AddDataModifierFix(element: KtClass, private val fqName: String) : AddModifierFixMpp(element, KtTokens.DATA_KEYWORD) {
|
||||
|
||||
override fun getText() = KotlinBundle.message("fix.make.data.class", fqName)
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||
class AddInlineModifierFix(
|
||||
parameter: KtParameter,
|
||||
modifier: KtModifierKeywordToken
|
||||
) : AddModifierFix(parameter, modifier) {
|
||||
) : AddModifierFixMpp(parameter, modifier) {
|
||||
|
||||
override fun getText(): String {
|
||||
val element = this.element
|
||||
|
||||
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.psi.KtNamedFunction
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||
|
||||
class AddInlineToFunctionWithReifiedFix(function: KtNamedFunction) : AddModifierFix(function, KtTokens.INLINE_KEYWORD) {
|
||||
class AddInlineToFunctionWithReifiedFix(function: KtNamedFunction) : AddModifierFixMpp(function, KtTokens.INLINE_KEYWORD) {
|
||||
companion object Factory : KotlinSingleIntentionActionFactory() {
|
||||
override fun createAction(diagnostic: Diagnostic): IntentionAction? {
|
||||
val element = Errors.REIFIED_TYPE_PARAMETER_NO_INLINE.cast(diagnostic)
|
||||
|
||||
+5
-5
@@ -42,7 +42,7 @@ import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||
import org.jetbrains.kotlin.types.TypeUtils
|
||||
|
||||
open class AddModifierFix(
|
||||
open class AddModifierFixMpp(
|
||||
element: KtModifierListOwner,
|
||||
protected val modifier: KtModifierKeywordToken
|
||||
) : KotlinCrossLanguageQuickFixAction<KtModifierListOwner>(element), KotlinUniversalQuickFix {
|
||||
@@ -105,7 +105,7 @@ open class AddModifierFix(
|
||||
}
|
||||
}
|
||||
|
||||
fun createIfApplicable(modifierListOwner: KtModifierListOwner, modifier: KtModifierKeywordToken): AddModifierFix? {
|
||||
fun createIfApplicable(modifierListOwner: KtModifierListOwner, modifier: KtModifierKeywordToken): AddModifierFixMpp? {
|
||||
when (modifier) {
|
||||
ABSTRACT_KEYWORD, OPEN_KEYWORD -> {
|
||||
if (modifierListOwner is KtObjectDeclaration) return null
|
||||
@@ -132,7 +132,7 @@ open class AddModifierFix(
|
||||
}
|
||||
}
|
||||
}
|
||||
return AddModifierFix(modifierListOwner, modifier)
|
||||
return AddModifierFixMpp(modifierListOwner, modifier)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -142,7 +142,7 @@ open class AddModifierFix(
|
||||
val typeReference = diagnostic.psiElement as KtTypeReference
|
||||
val declaration = typeReference.classForRefactor() ?: return null
|
||||
if (declaration.isEnum() || declaration.isData()) return null
|
||||
return AddModifierFix(declaration, OPEN_KEYWORD)
|
||||
return AddModifierFixMpp(declaration, OPEN_KEYWORD)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ open class AddModifierFix(
|
||||
if (TypeUtils.isNullableType(type)) return null
|
||||
if (KotlinBuiltIns.isPrimitiveType(type)) return null
|
||||
|
||||
return AddModifierFix(property, LATEINIT_KEYWORD)
|
||||
return AddModifierFixMpp(property, LATEINIT_KEYWORD)
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -47,7 +47,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||
class AddReifiedToTypeParameterOfFunctionFix(
|
||||
typeParameter: KtTypeParameter,
|
||||
function: KtNamedFunction
|
||||
) : AddModifierFix(typeParameter, KtTokens.REIFIED_KEYWORD) {
|
||||
) : AddModifierFixMpp(typeParameter, KtTokens.REIFIED_KEYWORD) {
|
||||
|
||||
private val inlineFix = AddInlineToFunctionWithReifiedFix(function)
|
||||
private val elementName = RemoveModifierFix.getElementName(function)
|
||||
|
||||
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||
class AddSuspendModifierFix(
|
||||
element: KtModifierListOwner,
|
||||
private val declarationName: String?
|
||||
) : AddModifierFix(element, KtTokens.SUSPEND_KEYWORD) {
|
||||
) : AddModifierFixMpp(element, KtTokens.SUSPEND_KEYWORD) {
|
||||
|
||||
override fun getText() = when (element) {
|
||||
is KtNamedFunction -> {
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ class MakeTypeParameterReifiedAndFunctionInlineFix(
|
||||
|
||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||
inlineFix.invoke(project, editor, file)
|
||||
AddModifierFix(typeParameter, KtTokens.REIFIED_KEYWORD).invoke(project, editor, file)
|
||||
AddModifierFixMpp(typeParameter, KtTokens.REIFIED_KEYWORD).invoke(project, editor, file)
|
||||
}
|
||||
|
||||
companion object : KotlinSingleIntentionActionFactory() {
|
||||
|
||||
@@ -66,7 +66,7 @@ class QuickFixRegistrar : QuickFixContributor {
|
||||
}
|
||||
|
||||
val removeAbstractModifierFactory = createRemoveModifierFromListOwnerPsiBasedFactory(ABSTRACT_KEYWORD )
|
||||
val addAbstractModifierFactory = AddModifierFix.createFactory(ABSTRACT_KEYWORD)
|
||||
val addAbstractModifierFactory = AddModifierFixMpp.createFactory(ABSTRACT_KEYWORD)
|
||||
|
||||
ABSTRACT_PROPERTY_IN_PRIMARY_CONSTRUCTOR_PARAMETERS.registerFactory(removeAbstractModifierFactory)
|
||||
|
||||
@@ -83,7 +83,7 @@ class QuickFixRegistrar : QuickFixContributor {
|
||||
MUST_BE_INITIALIZED_OR_BE_ABSTRACT.registerFactory(InitializePropertyQuickFixFactory)
|
||||
MUST_BE_INITIALIZED.registerFactory(InitializePropertyQuickFixFactory)
|
||||
|
||||
val addAbstractToClassFactory = AddModifierFix.createFactory(ABSTRACT_KEYWORD, KtClassOrObject::class.java)
|
||||
val addAbstractToClassFactory = AddModifierFixMpp.createFactory(ABSTRACT_KEYWORD, KtClassOrObject::class.java)
|
||||
ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS.registerFactory(removeAbstractModifierFactory, addAbstractToClassFactory)
|
||||
|
||||
ABSTRACT_FUNCTION_IN_NON_ABSTRACT_CLASS.registerFactory(removeAbstractModifierFactory, addAbstractToClassFactory)
|
||||
@@ -104,7 +104,7 @@ class QuickFixRegistrar : QuickFixContributor {
|
||||
AddFunctionToSupertypeFix,
|
||||
AddPropertyToSupertypeFix
|
||||
)
|
||||
VIRTUAL_MEMBER_HIDDEN.registerFactory(AddModifierFix.createFactory(OVERRIDE_KEYWORD))
|
||||
VIRTUAL_MEMBER_HIDDEN.registerFactory(AddModifierFixMpp.createFactory(OVERRIDE_KEYWORD))
|
||||
|
||||
USELESS_CAST.registerFactory(RemoveUselessCastFix)
|
||||
|
||||
@@ -128,7 +128,7 @@ class QuickFixRegistrar : QuickFixContributor {
|
||||
|
||||
val removeOpenModifierFactory = RemoveModifierFix.createRemoveModifierFromListOwnerPsiBasedFactory(OPEN_KEYWORD)
|
||||
NON_FINAL_MEMBER_IN_FINAL_CLASS.registerFactory(
|
||||
AddModifierFix.createFactory(OPEN_KEYWORD, KtClass::class.java),
|
||||
AddModifierFixMpp.createFactory(OPEN_KEYWORD, KtClass::class.java),
|
||||
removeOpenModifierFactory
|
||||
)
|
||||
NON_FINAL_MEMBER_IN_OBJECT.registerFactory(removeOpenModifierFactory)
|
||||
@@ -138,7 +138,7 @@ class QuickFixRegistrar : QuickFixContributor {
|
||||
SETTER_VISIBILITY_INCONSISTENT_WITH_PROPERTY_VISIBILITY.registerFactory(removeModifierFactory)
|
||||
PRIVATE_SETTER_FOR_ABSTRACT_PROPERTY.registerFactory(removeModifierFactory)
|
||||
PRIVATE_SETTER_FOR_OPEN_PROPERTY.registerFactory(
|
||||
AddModifierFix.createFactory(FINAL_KEYWORD, KtProperty::class.java),
|
||||
AddModifierFixMpp.createFactory(FINAL_KEYWORD, KtProperty::class.java),
|
||||
removeModifierFactory
|
||||
)
|
||||
REDUNDANT_MODIFIER_IN_GETTER.registerFactory(removeRedundantModifierFactory)
|
||||
@@ -296,16 +296,16 @@ class QuickFixRegistrar : QuickFixContributor {
|
||||
UNCHECKED_CAST.registerFactory(ChangeToStarProjectionFix)
|
||||
CANNOT_CHECK_FOR_ERASED.registerFactory(ChangeToStarProjectionFix)
|
||||
|
||||
INACCESSIBLE_OUTER_CLASS_EXPRESSION.registerFactory(AddModifierFix.createFactory(INNER_KEYWORD, KtClass::class.java))
|
||||
INACCESSIBLE_OUTER_CLASS_EXPRESSION.registerFactory(AddModifierFixMpp.createFactory(INNER_KEYWORD, KtClass::class.java))
|
||||
|
||||
FINAL_SUPERTYPE.registerFactory(AddModifierFix.MakeClassOpenFactory)
|
||||
FINAL_UPPER_BOUND.registerFactory(AddModifierFix.MakeClassOpenFactory)
|
||||
FINAL_SUPERTYPE.registerFactory(AddModifierFixMpp.MakeClassOpenFactory)
|
||||
FINAL_UPPER_BOUND.registerFactory(AddModifierFixMpp.MakeClassOpenFactory)
|
||||
|
||||
OVERRIDING_FINAL_MEMBER.registerFactory(MakeOverriddenMemberOpenFix)
|
||||
|
||||
PARAMETER_NAME_CHANGED_ON_OVERRIDE.registerFactory(RenameParameterToMatchOverriddenMethodFix)
|
||||
|
||||
NESTED_CLASS_NOT_ALLOWED.registerFactory(AddModifierFix.createFactory(INNER_KEYWORD))
|
||||
NESTED_CLASS_NOT_ALLOWED.registerFactory(AddModifierFixMpp.createFactory(INNER_KEYWORD))
|
||||
|
||||
CONFLICTING_PROJECTION.registerFactory(RemoveModifierFix.createRemoveProjectionFactory(false))
|
||||
PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT.registerFactory(RemoveModifierFix.createRemoveProjectionFactory(false))
|
||||
@@ -546,7 +546,7 @@ class QuickFixRegistrar : QuickFixContributor {
|
||||
NO_ACTUAL_FOR_EXPECT.registerFactory(CreateActualFix)
|
||||
NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS.registerFactory(AddActualFix)
|
||||
|
||||
ACTUAL_MISSING.registerFactory(AddModifierFix.createFactory(ACTUAL_KEYWORD))
|
||||
ACTUAL_MISSING.registerFactory(AddModifierFixMpp.createFactory(ACTUAL_KEYWORD))
|
||||
|
||||
CAST_NEVER_SUCCEEDS.registerFactory(ReplacePrimitiveCastWithNumberConversionFix)
|
||||
|
||||
@@ -569,7 +569,7 @@ class QuickFixRegistrar : QuickFixContributor {
|
||||
|
||||
CONFLICTING_OVERLOADS.registerFactory(ChangeSuspendInHierarchyFix)
|
||||
|
||||
MUST_BE_INITIALIZED_OR_BE_ABSTRACT.registerFactory(AddModifierFix.AddLateinitFactory)
|
||||
MUST_BE_INITIALIZED_OR_BE_ABSTRACT.registerFactory(AddModifierFixMpp.AddLateinitFactory)
|
||||
|
||||
RETURN_NOT_ALLOWED.registerFactory(ChangeToLabeledReturnFix)
|
||||
|
||||
|
||||
+2
-2
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
||||
import org.jetbrains.kotlin.idea.core.appendModifier
|
||||
import org.jetbrains.kotlin.idea.quickfix.AddModifierFix
|
||||
import org.jetbrains.kotlin.idea.quickfix.AddModifierFixMpp
|
||||
import org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix
|
||||
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.*
|
||||
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.createCallable.CreateCallableFromUsageFix
|
||||
@@ -198,7 +198,7 @@ class KotlinElementActionsFactory : JvmElementActionsFactory() {
|
||||
if (kToken == null) return emptyList()
|
||||
|
||||
val action = if (shouldPresentMapped)
|
||||
AddModifierFix.createIfApplicable(kModifierOwner, kToken)
|
||||
AddModifierFixMpp.createIfApplicable(kModifierOwner, kToken)
|
||||
else
|
||||
RemoveModifierFix(kModifierOwner, kToken, false)
|
||||
return listOfNotNull(action)
|
||||
|
||||
@@ -129,7 +129,7 @@ private val errorsFixingDiagnosticBasedPostProcessingGroup =
|
||||
Errors.REDUNDANT_PROJECTION
|
||||
),
|
||||
diagnosticBasedProcessing(
|
||||
AddModifierFix.createFactory(KtTokens.OVERRIDE_KEYWORD),
|
||||
AddModifierFixMpp.createFactory(KtTokens.OVERRIDE_KEYWORD),
|
||||
Errors.VIRTUAL_MEMBER_HIDDEN
|
||||
),
|
||||
diagnosticBasedProcessing(
|
||||
|
||||
Reference in New Issue
Block a user