Renamed JetIntentionAction to KotlinQuickFixAction

This commit is contained in:
Valentin Kipyatkov
2015-10-13 22:50:15 +03:00
parent ab87471177
commit 23025b072e
60 changed files with 92 additions and 93 deletions
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtils
import org.jetbrains.kotlin.idea.configuration.KotlinJavaModuleConfigurator import org.jetbrains.kotlin.idea.configuration.KotlinJavaModuleConfigurator
import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator
import org.jetbrains.kotlin.idea.framework.JavaRuntimePresentationProvider import org.jetbrains.kotlin.idea.framework.JavaRuntimePresentationProvider
import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction
import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory
import org.jetbrains.kotlin.idea.quickfix.quickfixUtil.createIntentionForFirstParentOfType import org.jetbrains.kotlin.idea.quickfix.quickfixUtil.createIntentionForFirstParentOfType
import org.jetbrains.kotlin.idea.versions.KotlinRuntimeLibraryUtil import org.jetbrains.kotlin.idea.versions.KotlinRuntimeLibraryUtil
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.utils.PathUtil
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
import java.io.File import java.io.File
public class AddReflectionQuickFix(element: JetElement) : JetIntentionAction<JetElement>(element) { public class AddReflectionQuickFix(element: JetElement) : KotlinQuickFixAction<JetElement>(element) {
override fun getText() = JetBundle.message("add.reflection.to.classpath") override fun getText() = JetBundle.message("add.reflection.to.classpath")
override fun getFamilyName() = getText() override fun getFamilyName() = getText()
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor
import org.jetbrains.kotlin.idea.core.targetDescriptors import org.jetbrains.kotlin.idea.core.targetDescriptors
import org.jetbrains.kotlin.idea.imports.importableFqName import org.jetbrains.kotlin.idea.imports.importableFqName
import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction
import org.jetbrains.kotlin.idea.references.JetSimpleNameReference import org.jetbrains.kotlin.idea.references.JetSimpleNameReference
import org.jetbrains.kotlin.idea.stubindex.JetSourceFilterScope import org.jetbrains.kotlin.idea.stubindex.JetSourceFilterScope
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
@@ -177,7 +177,7 @@ public class ConflictingExtensionPropertyInspection : AbstractKotlinInspection()
return fixes return fixes
} }
private class DeleteRedundantExtensionAction(property: JetProperty) : JetIntentionAction<JetProperty>(property) { private class DeleteRedundantExtensionAction(property: JetProperty) : KotlinQuickFixAction<JetProperty>(property) {
private val LOG = Logger.getInstance(DeleteRedundantExtensionAction::class.java); private val LOG = Logger.getInstance(DeleteRedundantExtensionAction::class.java);
override fun getFamilyName() = "Delete redundant extension property" override fun getFamilyName() = "Delete redundant extension property"
@@ -222,7 +222,7 @@ public class ConflictingExtensionPropertyInspection : AbstractKotlinInspection()
} }
} }
private class MarkHiddenAndDeprecatedAction(property: JetProperty) : JetIntentionAction<JetProperty>(property) { private class MarkHiddenAndDeprecatedAction(property: JetProperty) : KotlinQuickFixAction<JetProperty>(property) {
override fun getFamilyName() = "Mark as @Deprecated(..., level = DeprecationLevel.HIDDEN)" override fun getFamilyName() = "Mark as @Deprecated(..., level = DeprecationLevel.HIDDEN)"
override fun getText() = familyName override fun getText() = familyName
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult
import org.jetbrains.kotlin.idea.highlighter.JetPsiChecker import org.jetbrains.kotlin.idea.highlighter.JetPsiChecker
import org.jetbrains.kotlin.idea.quickfix.CleanupFix import org.jetbrains.kotlin.idea.quickfix.CleanupFix
import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction
import org.jetbrains.kotlin.idea.quickfix.ReplaceObsoleteLabelSyntaxFix import org.jetbrains.kotlin.idea.quickfix.ReplaceObsoleteLabelSyntaxFix
import org.jetbrains.kotlin.idea.quickfix.replaceWith.DeprecatedSymbolUsageFix import org.jetbrains.kotlin.idea.quickfix.replaceWith.DeprecatedSymbolUsageFix
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
@@ -129,7 +129,7 @@ public class KotlinCleanupInspection(): LocalInspectionTool(), CleanupLocalInspe
ProblemHighlightType.GENERIC_ERROR_OR_WARNING) ProblemHighlightType.GENERIC_ERROR_OR_WARNING)
} }
private class RemoveImportFix(import: JetImportDirective) : JetIntentionAction<JetImportDirective>(import), CleanupFix { private class RemoveImportFix(import: JetImportDirective) : KotlinQuickFixAction<JetImportDirective>(import), CleanupFix {
override fun getFamilyName() = "Remove deprecated symbol import" override fun getFamilyName() = "Remove deprecated symbol import"
override fun getText() = familyName override fun getText() = familyName
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.descriptors.impl.SyntheticFieldDescriptor
import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.caches.resolve.analyze
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction
import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory
import org.jetbrains.kotlin.lexer.JetTokens import org.jetbrains.kotlin.lexer.JetTokens
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
@@ -150,7 +150,7 @@ class IntroduceBackingPropertyIntention(): JetSelfTargetingIntention<JetProperty
} }
} }
class IntroduceBackingPropertyFix(prop: JetProperty): JetIntentionAction<JetProperty>(prop) { class IntroduceBackingPropertyFix(prop: JetProperty): KotlinQuickFixAction<JetProperty>(prop) {
override fun getText(): String = "Introduce backing property" override fun getText(): String = "Introduce backing property"
override fun getFamilyName(): String = getText() override fun getFamilyName(): String = getText()
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.psi.JetFunction;
import org.jetbrains.kotlin.psi.JetPsiFactory; import org.jetbrains.kotlin.psi.JetPsiFactory;
import org.jetbrains.kotlin.psi.JetPsiFactoryKt; import org.jetbrains.kotlin.psi.JetPsiFactoryKt;
public class AddFunctionBodyFix extends JetIntentionAction<JetFunction> { public class AddFunctionBodyFix extends KotlinQuickFixAction<JetFunction> {
public AddFunctionBodyFix(@NotNull JetFunction element) { public AddFunctionBodyFix(@NotNull JetFunction element) {
super(element); super(element);
} }
@@ -71,7 +71,7 @@ public class AddFunctionBodyFix extends JetIntentionAction<JetFunction> {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Nullable @Nullable
@Override @Override
public JetIntentionAction createAction(Diagnostic diagnostic) { public KotlinQuickFixAction createAction(Diagnostic diagnostic) {
PsiElement element = diagnostic.getPsiElement(); PsiElement element = diagnostic.getPsiElement();
JetFunction function = PsiTreeUtil.getParentOfType(element, JetFunction.class, false); JetFunction function = PsiTreeUtil.getParentOfType(element, JetFunction.class, false);
if (function == null) return null; if (function == null) return null;
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.utils.singletonOrEmptyList
public class AddGenericUpperBoundFix( public class AddGenericUpperBoundFix(
typeParameter: JetTypeParameter, typeParameter: JetTypeParameter,
upperBound: JetType upperBound: JetType
) : JetIntentionAction<JetTypeParameter>(typeParameter) { ) : KotlinQuickFixAction<JetTypeParameter>(typeParameter) {
private val renderedUpperBound: String = IdeDescriptorRenderers.SOURCE_CODE.renderType(upperBound) private val renderedUpperBound: String = IdeDescriptorRenderers.SOURCE_CODE.renderType(upperBound)
override fun getText() = "Add '$renderedUpperBound' as upper bound for ${element.name}" override fun getText() = "Add '$renderedUpperBound' as upper bound for ${element.name}"
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
import org.jetbrains.kotlin.psi.psiUtil.parents import org.jetbrains.kotlin.psi.psiUtil.parents
public class AddLoopLabelFix(loop: JetLoopExpression, val jumpExpression: JetElement): JetIntentionAction<JetLoopExpression>(loop) { public class AddLoopLabelFix(loop: JetLoopExpression, val jumpExpression: JetElement): KotlinQuickFixAction<JetLoopExpression>(loop) {
override fun getText() = "Add label to loop" override fun getText() = "Add label to loop"
override fun getFamilyName() = getText() override fun getFamilyName() = getText()
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.psi.JetPropertyAccessor;
import static org.jetbrains.kotlin.lexer.JetTokens.ABSTRACT_KEYWORD; import static org.jetbrains.kotlin.lexer.JetTokens.ABSTRACT_KEYWORD;
public class AddModifierFix extends JetIntentionAction<JetModifierListOwner> { public class AddModifierFix extends KotlinQuickFixAction<JetModifierListOwner> {
@NotNull private final JetModifierKeywordToken modifier; @NotNull private final JetModifierKeywordToken modifier;
public AddModifierFix(@NotNull JetModifierListOwner element, @NotNull JetModifierKeywordToken modifier) { public AddModifierFix(@NotNull JetModifierListOwner element, @NotNull JetModifierKeywordToken modifier) {
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
import org.jetbrains.kotlin.resolve.calls.model.ArgumentMatch import org.jetbrains.kotlin.resolve.calls.model.ArgumentMatch
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
public class AddNameToArgumentFix(argument: JetValueArgument) : JetIntentionAction<JetValueArgument>(argument) { public class AddNameToArgumentFix(argument: JetValueArgument) : KotlinQuickFixAction<JetValueArgument>(argument) {
override fun isAvailable(project: Project, editor: Editor?, file: PsiFile): Boolean { override fun isAvailable(project: Project, editor: Editor?, file: PsiFile): Boolean {
if (!super.isAvailable(project, editor, file)) return false if (!super.isAvailable(project, editor, file)) return false
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.idea.references.ReferenceUtilKt;
import org.jetbrains.kotlin.lexer.JetTokens; import org.jetbrains.kotlin.lexer.JetTokens;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
public class AddOpenModifierToClassDeclarationFix extends JetIntentionAction<JetTypeReference> { public class AddOpenModifierToClassDeclarationFix extends KotlinQuickFixAction<JetTypeReference> {
private JetClass classDeclaration; private JetClass classDeclaration;
public AddOpenModifierToClassDeclarationFix(@NotNull JetTypeReference typeReference) { public AddOpenModifierToClassDeclarationFix(@NotNull JetTypeReference typeReference) {
@@ -36,7 +36,7 @@ import java.util.List;
import static org.jetbrains.kotlin.lexer.JetTokens.OVERRIDE_KEYWORD; import static org.jetbrains.kotlin.lexer.JetTokens.OVERRIDE_KEYWORD;
import static org.jetbrains.kotlin.lexer.JetTokens.PUBLIC_KEYWORD; import static org.jetbrains.kotlin.lexer.JetTokens.PUBLIC_KEYWORD;
public class AddOverrideToEqualsHashCodeToStringFix extends JetIntentionAction<PsiElement> { public class AddOverrideToEqualsHashCodeToStringFix extends KotlinQuickFixAction<PsiElement> {
public AddOverrideToEqualsHashCodeToStringFix(@NotNull PsiElement element) { public AddOverrideToEqualsHashCodeToStringFix(@NotNull PsiElement element) {
super(element); super(element);
} }
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.types.expressions.TypeReconstructionUtil; import org.jetbrains.kotlin.types.expressions.TypeReconstructionUtil;
public abstract class AddStarProjectionsFix extends JetIntentionAction<JetUserType> { public abstract class AddStarProjectionsFix extends KotlinQuickFixAction<JetUserType> {
private final int argumentCount; private final int argumentCount;
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
class AddTypeToLHSOfCallableReferenceFix( class AddTypeToLHSOfCallableReferenceFix(
expression: JetCallableReferenceExpression expression: JetCallableReferenceExpression
) : JetIntentionAction<JetCallableReferenceExpression>(expression), CleanupFix { ) : KotlinQuickFixAction<JetCallableReferenceExpression>(expression), CleanupFix {
override fun getFamilyName() = "Add type to left-hand side" override fun getFamilyName() = "Add type to left-hand side"
override fun getText() = familyName override fun getText() = familyName
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.diagnostics.Diagnostic;
import org.jetbrains.kotlin.idea.JetBundle; import org.jetbrains.kotlin.idea.JetBundle;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
public class AddWhenElseBranchFix extends JetIntentionAction<JetWhenExpression> { public class AddWhenElseBranchFix extends KotlinQuickFixAction<JetWhenExpression> {
private static final String ELSE_ENTRY_TEXT = "else -> {}"; private static final String ELSE_ENTRY_TEXT = "else -> {}";
public AddWhenElseBranchFix(@NotNull JetWhenExpression element) { public AddWhenElseBranchFix(@NotNull JetWhenExpression element) {
@@ -77,7 +77,7 @@ public class AddWhenElseBranchFix extends JetIntentionAction<JetWhenExpression>
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Nullable @Nullable
@Override @Override
public JetIntentionAction createAction(@NotNull Diagnostic diagnostic) { public KotlinQuickFixAction createAction(@NotNull Diagnostic diagnostic) {
PsiElement element = diagnostic.getPsiElement(); PsiElement element = diagnostic.getPsiElement();
JetWhenExpression whenExpression = PsiTreeUtil.getParentOfType(element, JetWhenExpression.class, false); JetWhenExpression whenExpression = PsiTreeUtil.getParentOfType(element, JetWhenExpression.class, false);
if (whenExpression == null) return null; if (whenExpression == null) return null;
@@ -100,7 +100,7 @@ public class AutoImportFix(element: JetSimpleNameExpression) : JetHintAction<Jet
private fun createAction(project: Project, editor: Editor) = KotlinAddImportAction(project, editor, element, suggestions) private fun createAction(project: Project, editor: Editor) = KotlinAddImportAction(project, editor, element, suggestions)
companion object : JetSingleIntentionActionFactory() { companion object : JetSingleIntentionActionFactory() {
override fun createAction(diagnostic: Diagnostic): JetIntentionAction<JetSimpleNameExpression>? { override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<JetSimpleNameExpression>? {
// There could be different psi elements (i.e. JetArrayAccessExpression), but we can fix only JetSimpleNameExpression case // There could be different psi elements (i.e. JetArrayAccessExpression), but we can fix only JetSimpleNameExpression case
val psiElement = diagnostic.getPsiElement() val psiElement = diagnostic.getPsiElement()
if (psiElement is JetSimpleNameExpression) { if (psiElement is JetSimpleNameExpression) {
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.types.FlexibleTypesKt;
import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.JetType;
import org.jetbrains.kotlin.types.checker.JetTypeChecker; import org.jetbrains.kotlin.types.checker.JetTypeChecker;
public class CastExpressionFix extends JetIntentionAction<JetExpression> { public class CastExpressionFix extends KotlinQuickFixAction<JetExpression> {
private final JetType type; private final JetType type;
public CastExpressionFix(@NotNull JetExpression element, @NotNull JetType type) { public CastExpressionFix(@NotNull JetExpression element, @NotNull JetType type) {
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.idea.util.ShortenReferences;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.JetType;
public class ChangeAccessorTypeFix extends JetIntentionAction<JetPropertyAccessor> { public class ChangeAccessorTypeFix extends KotlinQuickFixAction<JetPropertyAccessor> {
private JetType type; private JetType type;
public ChangeAccessorTypeFix(@NotNull JetPropertyAccessor element) { public ChangeAccessorTypeFix(@NotNull JetPropertyAccessor element) {
@@ -87,7 +87,7 @@ public class ChangeAccessorTypeFix extends JetIntentionAction<JetPropertyAccesso
public static JetSingleIntentionActionFactory createFactory() { public static JetSingleIntentionActionFactory createFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<JetPropertyAccessor> createAction(@NotNull Diagnostic diagnostic) { public KotlinQuickFixAction<JetPropertyAccessor> createAction(@NotNull Diagnostic diagnostic) {
JetPropertyAccessor accessor = QuickFixUtil.getParentElementOfType(diagnostic, JetPropertyAccessor.class); JetPropertyAccessor accessor = QuickFixUtil.getParentElementOfType(diagnostic, JetPropertyAccessor.class);
if (accessor == null) return null; if (accessor == null) return null;
return new ChangeAccessorTypeFix(accessor); return new ChangeAccessorTypeFix(accessor);
@@ -48,7 +48,7 @@ import java.util.List;
import static org.jetbrains.kotlin.idea.project.PlatformKt.getPlatform; import static org.jetbrains.kotlin.idea.project.PlatformKt.getPlatform;
public class ChangeFunctionLiteralReturnTypeFix extends JetIntentionAction<JetFunctionLiteralExpression> { public class ChangeFunctionLiteralReturnTypeFix extends KotlinQuickFixAction<JetFunctionLiteralExpression> {
private final JetType type; private final JetType type;
private final JetTypeReference functionLiteralReturnTypeRef; private final JetTypeReference functionLiteralReturnTypeRef;
private IntentionAction appropriateQuickFix = null; private IntentionAction appropriateQuickFix = null;
@@ -54,7 +54,7 @@ import static org.jetbrains.kotlin.diagnostics.Errors.COMPONENT_FUNCTION_RETURN_
import static org.jetbrains.kotlin.idea.project.PlatformKt.getPlatform; import static org.jetbrains.kotlin.idea.project.PlatformKt.getPlatform;
import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt.getBuiltIns; import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt.getBuiltIns;
public class ChangeFunctionReturnTypeFix extends JetIntentionAction<JetFunction> { public class ChangeFunctionReturnTypeFix extends KotlinQuickFixAction<JetFunction> {
private final JetType type; private final JetType type;
private final ChangeFunctionLiteralReturnTypeFix changeFunctionLiteralReturnTypeFix; private final ChangeFunctionLiteralReturnTypeFix changeFunctionLiteralReturnTypeFix;
@@ -24,7 +24,6 @@ import com.intellij.psi.util.PsiTreeUtil;
import kotlin.jvm.functions.Function1; import kotlin.jvm.functions.Function1;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.descriptors.CallableDescriptor; import org.jetbrains.kotlin.descriptors.CallableDescriptor;
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor; import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
import org.jetbrains.kotlin.descriptors.FunctionDescriptor; import org.jetbrains.kotlin.descriptors.FunctionDescriptor;
@@ -55,7 +54,7 @@ import static org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.SYN
import static org.jetbrains.kotlin.diagnostics.Errors.EXPECTED_PARAMETERS_NUMBER_MISMATCH; import static org.jetbrains.kotlin.diagnostics.Errors.EXPECTED_PARAMETERS_NUMBER_MISMATCH;
import static org.jetbrains.kotlin.diagnostics.Errors.UNUSED_PARAMETER; import static org.jetbrains.kotlin.diagnostics.Errors.UNUSED_PARAMETER;
public abstract class ChangeFunctionSignatureFix extends JetIntentionAction<PsiElement> { public abstract class ChangeFunctionSignatureFix extends KotlinQuickFixAction<PsiElement> {
protected final PsiElement context; protected final PsiElement context;
protected final FunctionDescriptor functionDescriptor; protected final FunctionDescriptor functionDescriptor;
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.JetType;
public class ChangeParameterTypeFix extends JetIntentionAction<JetParameter> { public class ChangeParameterTypeFix extends KotlinQuickFixAction<JetParameter> {
private final JetType type; private final JetType type;
private final String containingDeclarationName; private final String containingDeclarationName;
private final boolean isPrimaryConstructorParameter; private final boolean isPrimaryConstructorParameter;
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.psi.JetModifierListOwner
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
public class ChangePrivateTopLevelToInternalFix(element: JetModifierListOwner, private val elementName: String) : JetIntentionAction<JetModifierListOwner>(element), CleanupFix { public class ChangePrivateTopLevelToInternalFix(element: JetModifierListOwner, private val elementName: String) : KotlinQuickFixAction<JetModifierListOwner>(element), CleanupFix {
override fun getText() = "Make $elementName internal" override fun getText() = "Make $elementName internal"
override fun getFamilyName() = "Make top-level declaration internal" override fun getFamilyName() = "Make top-level declaration internal"
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.psi.JetExpression;
import org.jetbrains.kotlin.psi.JetFile; import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.psi.JetPsiFactoryKt; import org.jetbrains.kotlin.psi.JetPsiFactoryKt;
public class ChangeToFunctionInvocationFix extends JetIntentionAction<JetExpression> { public class ChangeToFunctionInvocationFix extends KotlinQuickFixAction<JetExpression> {
public ChangeToFunctionInvocationFix(@NotNull JetExpression element) { public ChangeToFunctionInvocationFix(@NotNull JetExpression element) {
super(element); super(element);
@@ -53,7 +53,7 @@ public class ChangeToFunctionInvocationFix extends JetIntentionAction<JetExpress
public static JetSingleIntentionActionFactory createFactory() { public static JetSingleIntentionActionFactory createFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<JetExpression> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<JetExpression> createAction(Diagnostic diagnostic) {
if (diagnostic.getPsiElement() instanceof JetExpression) { if (diagnostic.getPsiElement() instanceof JetExpression) {
return new ChangeToFunctionInvocationFix((JetExpression) diagnostic.getPsiElement()); return new ChangeToFunctionInvocationFix((JetExpression) diagnostic.getPsiElement());
} }
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.idea.JetBundle;
import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil; import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
public class ChangeToPropertyNameFix extends JetIntentionAction<JetSimpleNameExpression> { public class ChangeToPropertyNameFix extends KotlinQuickFixAction<JetSimpleNameExpression> {
public ChangeToPropertyNameFix(@NotNull JetSimpleNameExpression element) { public ChangeToPropertyNameFix(@NotNull JetSimpleNameExpression element) {
super(element); super(element);
} }
@@ -61,7 +61,7 @@ public class ChangeToPropertyNameFix extends JetIntentionAction<JetSimpleNameExp
public static JetSingleIntentionActionFactory createFactory() { public static JetSingleIntentionActionFactory createFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<JetSimpleNameExpression> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<JetSimpleNameExpression> createAction(Diagnostic diagnostic) {
JetSimpleNameExpression expression = QuickFixUtil.getParentElementOfType(diagnostic, JetSimpleNameExpression.class); JetSimpleNameExpression expression = QuickFixUtil.getParentElementOfType(diagnostic, JetSimpleNameExpression.class);
if (expression == null) { if (expression == null) {
PsiElement element = diagnostic.getPsiElement(); PsiElement element = diagnostic.getPsiElement();
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.types.expressions.TypeReconstructionUtil; import org.jetbrains.kotlin.types.expressions.TypeReconstructionUtil;
public class ChangeToStarProjectionFix extends JetIntentionAction<JetTypeElement> { public class ChangeToStarProjectionFix extends KotlinQuickFixAction<JetTypeElement> {
public ChangeToStarProjectionFix(@NotNull JetTypeElement element) { public ChangeToStarProjectionFix(@NotNull JetTypeElement element) {
super(element); super(element);
} }
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.psi.JetPsiFactoryKt;
import org.jetbrains.kotlin.psi.JetTypeReference; import org.jetbrains.kotlin.psi.JetTypeReference;
import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.JetType;
public class ChangeTypeFix extends JetIntentionAction<JetTypeReference> { public class ChangeTypeFix extends KotlinQuickFixAction<JetTypeReference> {
private final JetType type; private final JetType type;
private final String renderedType; private final String renderedType;
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.psi.JetPropertyAccessor
import org.jetbrains.kotlin.psi.JetPsiFactory import org.jetbrains.kotlin.psi.JetPsiFactory
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
public class ChangeVariableMutabilityFix(element: JetProperty, private val makeVar: Boolean) : JetIntentionAction<JetProperty>(element) { public class ChangeVariableMutabilityFix(element: JetProperty, private val makeVar: Boolean) : KotlinQuickFixAction<JetProperty>(element) {
override fun getText() = if (makeVar) "Make variable mutable" else "Make variable immutable" override fun getText() = if (makeVar) "Make variable mutable" else "Make variable immutable"
@@ -47,7 +47,7 @@ import java.util.ArrayList;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
public class ChangeVariableTypeFix extends JetIntentionAction<JetVariableDeclaration> { public class ChangeVariableTypeFix extends KotlinQuickFixAction<JetVariableDeclaration> {
private final static Logger LOG = Logger.getInstance(ChangeVariableTypeFix.class); private final static Logger LOG = Logger.getInstance(ChangeVariableTypeFix.class);
private final JetType type; private final JetType type;
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.psi.JetParameter; import org.jetbrains.kotlin.psi.JetParameter;
import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingContext;
public class ChangeVisibilityModifierFix extends JetIntentionAction<JetDeclaration> { public class ChangeVisibilityModifierFix extends KotlinQuickFixAction<JetDeclaration> {
public ChangeVisibilityModifierFix(@NotNull JetDeclaration element) { public ChangeVisibilityModifierFix(@NotNull JetDeclaration element) {
super(element); super(element);
} }
@@ -110,7 +110,7 @@ public class ChangeVisibilityModifierFix extends JetIntentionAction<JetDeclarati
public static JetSingleIntentionActionFactory createFactory() { public static JetSingleIntentionActionFactory createFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<JetDeclaration> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<JetDeclaration> createAction(Diagnostic diagnostic) {
PsiElement element = diagnostic.getPsiElement(); PsiElement element = diagnostic.getPsiElement();
if (!(element instanceof JetDeclaration)) return null; if (!(element instanceof JetDeclaration)) return null;
return new ChangeVisibilityModifierFix((JetDeclaration)element); return new ChangeVisibilityModifierFix((JetDeclaration)element);
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
import org.jetbrains.kotlin.resolve.calls.model.isReallySuccess import org.jetbrains.kotlin.resolve.calls.model.isReallySuccess
public class InsertDelegationCallQuickfix(val isThis: Boolean, element: JetSecondaryConstructor) : JetIntentionAction<JetSecondaryConstructor>(element) { public class InsertDelegationCallQuickfix(val isThis: Boolean, element: JetSecondaryConstructor) : KotlinQuickFixAction<JetSecondaryConstructor>(element) {
override fun getText() = JetBundle.message("insert.delegation.call", keywordToUse) override fun getText() = JetBundle.message("insert.delegation.call", keywordToUse)
override fun getFamilyName() = "Insert explicit delegation call" override fun getFamilyName() = "Insert explicit delegation call"
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.NotNull;
/** /**
* A fix with the user information hint. * A fix with the user information hint.
*/ */
public abstract class JetHintAction<T extends PsiElement> extends JetIntentionAction<T> implements HintAction { public abstract class JetHintAction<T extends PsiElement> extends KotlinQuickFixAction<T> implements HintAction {
public JetHintAction(@NotNull T element) { public JetHintAction(@NotNull T element) {
super(element); super(element);
@@ -25,7 +25,7 @@ import com.intellij.psi.PsiFile
import org.jetbrains.kotlin.psi.JetCodeFragment import org.jetbrains.kotlin.psi.JetCodeFragment
import org.jetbrains.kotlin.psi.JetFile import org.jetbrains.kotlin.psi.JetFile
abstract class JetIntentionAction<T : PsiElement>(protected val element: T) : IntentionAction { abstract class KotlinQuickFixAction<T : PsiElement>(protected val element: T) : IntentionAction {
override fun isAvailable(project: Project, editor: Editor?, file: PsiFile): Boolean { override fun isAvailable(project: Project, editor: Editor?, file: PsiFile): Boolean {
return element.isValid && (file.manager.isInProject(file) || file is JetCodeFragment) && (file is JetFile) return element.isValid && (file.manager.isInProject(file) || file is JetCodeFragment) && (file is JetFile)
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil;
import org.jetbrains.kotlin.idea.references.ReferenceUtilKt; import org.jetbrains.kotlin.idea.references.ReferenceUtilKt;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
public class MakeClassAnAnnotationClassFix extends JetIntentionAction<JetAnnotationEntry> { public class MakeClassAnAnnotationClassFix extends KotlinQuickFixAction<JetAnnotationEntry> {
private final JetAnnotationEntry annotationEntry; private final JetAnnotationEntry annotationEntry;
private JetClass annotationClass; private JetClass annotationClass;
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
import java.util.* import java.util.*
public class MakeOverriddenMemberOpenFix(declaration: JetDeclaration) : JetIntentionAction<JetDeclaration>(declaration) { public class MakeOverriddenMemberOpenFix(declaration: JetDeclaration) : KotlinQuickFixAction<JetDeclaration>(declaration) {
private val overriddenNonOverridableMembers = ArrayList<JetCallableDeclaration>() private val overriddenNonOverridableMembers = ArrayList<JetCallableDeclaration>()
private val containingDeclarationsNames = ArrayList<String>() private val containingDeclarationsNames = ArrayList<String>()
@@ -46,7 +46,7 @@ import java.util.Collection;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
public class MapPlatformClassToKotlinFix extends JetIntentionAction<JetReferenceExpression> { public class MapPlatformClassToKotlinFix extends KotlinQuickFixAction<JetReferenceExpression> {
private static final String PRIMARY_USAGE = "PrimaryUsage"; private static final String PRIMARY_USAGE = "PrimaryUsage";
private static final String OTHER_USAGE = "OtherUsage"; private static final String OTHER_USAGE = "OtherUsage";
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.utils.addIfNotNull
public class MigrateAnnotationMethodCallFix( public class MigrateAnnotationMethodCallFix(
expression: JetCallExpression expression: JetCallExpression
) : JetIntentionAction<JetCallExpression>(expression) { ) : KotlinQuickFixAction<JetCallExpression>(expression) {
override fun getText() = "Replace method call with property access" override fun getText() = "Replace method call with property access"
override fun getFamilyName() = getText() override fun getFamilyName() = getText()
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.psi.JetNameReferenceExpression
import org.jetbrains.kotlin.psi.JetPsiFactory import org.jetbrains.kotlin.psi.JetPsiFactory
public class MigrateBackingFieldSyntaxFix(expr: JetNameReferenceExpression) public class MigrateBackingFieldSyntaxFix(expr: JetNameReferenceExpression)
: JetIntentionAction<JetNameReferenceExpression>(expr), CleanupFix { : KotlinQuickFixAction<JetNameReferenceExpression>(expr), CleanupFix {
override fun invoke(project: Project, editor: Editor?, file: JetFile) { override fun invoke(project: Project, editor: Editor?, file: JetFile) {
val replacement = JetPsiFactory(project).createExpression("field") val replacement = JetPsiFactory(project).createExpression("field")
element.replace(replacement) element.replace(replacement)
@@ -43,7 +43,7 @@ public class MigrateBackingFieldSyntaxFix(expr: JetNameReferenceExpression)
} }
public class MigrateBackingFieldUsageFix(expr: JetNameReferenceExpression) public class MigrateBackingFieldUsageFix(expr: JetNameReferenceExpression)
: JetIntentionAction<JetNameReferenceExpression>(expr) { : KotlinQuickFixAction<JetNameReferenceExpression>(expr) {
override fun invoke(project: Project, editor: Editor?, file: JetFile) { override fun invoke(project: Project, editor: Editor?, file: JetFile) {
val replacement = JetPsiFactory(project).createExpression(element.text.substring(1)) val replacement = JetPsiFactory(project).createExpression(element.text.substring(1))
element.replace(replacement) element.replace(replacement)
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.psi.JetPrimaryConstructor import org.jetbrains.kotlin.psi.JetPrimaryConstructor
import org.jetbrains.kotlin.idea.quickfix.quickfixUtil.addConstructorKeyword import org.jetbrains.kotlin.idea.quickfix.quickfixUtil.addConstructorKeyword
public class MissingConstructorKeywordFix(element: JetPrimaryConstructor) : JetIntentionAction<JetPrimaryConstructor>(element), CleanupFix { public class MissingConstructorKeywordFix(element: JetPrimaryConstructor) : KotlinQuickFixAction<JetPrimaryConstructor>(element), CleanupFix {
override fun getFamilyName(): String = getText() override fun getFamilyName(): String = getText()
override fun getText(): String = "Add 'constructor' keyword" override fun getText(): String = "Add 'constructor' keyword"
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.lexer.JetTokens
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
class MoveTypeParameterConstraintFix(element: JetTypeParameter) : JetIntentionAction<JetTypeParameter>(element), CleanupFix { class MoveTypeParameterConstraintFix(element: JetTypeParameter) : KotlinQuickFixAction<JetTypeParameter>(element), CleanupFix {
override fun getText(): String = "Move type parameter constraint to 'where' clause" override fun getText(): String = "Move type parameter constraint to 'where' clause"
override fun getFamilyName(): String = text override fun getFamilyName(): String = text
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.diagnostics.Diagnostic;
import org.jetbrains.kotlin.idea.JetBundle; import org.jetbrains.kotlin.idea.JetBundle;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
public class MoveWhenElseBranchFix extends JetIntentionAction<JetWhenExpression> { public class MoveWhenElseBranchFix extends KotlinQuickFixAction<JetWhenExpression> {
public MoveWhenElseBranchFix(@NotNull JetWhenExpression element) { public MoveWhenElseBranchFix(@NotNull JetWhenExpression element) {
super(element); super(element);
} }
@@ -79,7 +79,7 @@ public class MoveWhenElseBranchFix extends JetIntentionAction<JetWhenExpression>
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Nullable @Nullable
@Override @Override
public JetIntentionAction createAction(Diagnostic diagnostic) { public KotlinQuickFixAction createAction(Diagnostic diagnostic) {
PsiElement element = diagnostic.getPsiElement(); PsiElement element = diagnostic.getPsiElement();
JetWhenExpression whenExpression = PsiTreeUtil.getParentOfType(element, JetWhenExpression.class, false); JetWhenExpression whenExpression = PsiTreeUtil.getParentOfType(element, JetWhenExpression.class, false);
if (whenExpression == null) return null; if (whenExpression == null) return null;
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.psi.JetExpression;
import org.jetbrains.kotlin.psi.JetFile; import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.psi.JetFunction; import org.jetbrains.kotlin.psi.JetFunction;
public class RemoveFunctionBodyFix extends JetIntentionAction<JetFunction> { public class RemoveFunctionBodyFix extends KotlinQuickFixAction<JetFunction> {
public RemoveFunctionBodyFix(@NotNull JetFunction element) { public RemoveFunctionBodyFix(@NotNull JetFunction element) {
super(element); super(element);
@@ -91,7 +91,7 @@ public class RemoveFunctionBodyFix extends JetIntentionAction<JetFunction> {
public static JetSingleIntentionActionFactory createFactory() { public static JetSingleIntentionActionFactory createFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<JetFunction> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<JetFunction> createAction(Diagnostic diagnostic) {
JetFunction function = QuickFixUtil.getParentElementOfType(diagnostic, JetFunction.class); JetFunction function = QuickFixUtil.getParentElementOfType(diagnostic, JetFunction.class);
if (function == null) return null; if (function == null) return null;
return new RemoveFunctionBodyFix(function); return new RemoveFunctionBodyFix(function);
@@ -34,7 +34,7 @@ public class RemoveModifierFix(
element: JetModifierListOwner, element: JetModifierListOwner,
private val modifier: JetModifierKeywordToken, private val modifier: JetModifierKeywordToken,
private val isRedundant: Boolean private val isRedundant: Boolean
) : JetIntentionAction<JetModifierListOwner>(element) { ) : KotlinQuickFixAction<JetModifierListOwner>(element) {
private val text = run { private val text = run {
val modifierText = modifier.value val modifierText = modifier.value
@@ -69,7 +69,7 @@ public class RemoveModifierFix(
companion object { companion object {
public fun createRemoveModifierFromListOwnerFactory(modifier: JetModifierKeywordToken, isRedundant: Boolean = false): JetSingleIntentionActionFactory { public fun createRemoveModifierFromListOwnerFactory(modifier: JetModifierKeywordToken, isRedundant: Boolean = false): JetSingleIntentionActionFactory {
return object : JetSingleIntentionActionFactory() { return object : JetSingleIntentionActionFactory() {
override fun createAction(diagnostic: Diagnostic): JetIntentionAction<JetModifierListOwner>? { override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<JetModifierListOwner>? {
val modifierListOwner = QuickFixUtil.getParentElementOfType(diagnostic, javaClass<JetModifierListOwner>()) ?: return null val modifierListOwner = QuickFixUtil.getParentElementOfType(diagnostic, javaClass<JetModifierListOwner>()) ?: return null
return RemoveModifierFix(modifierListOwner, modifier, isRedundant) return RemoveModifierFix(modifierListOwner, modifier, isRedundant)
} }
@@ -78,7 +78,7 @@ public class RemoveModifierFix(
public fun createRemoveModifierFactory(isRedundant: Boolean = false): JetSingleIntentionActionFactory { public fun createRemoveModifierFactory(isRedundant: Boolean = false): JetSingleIntentionActionFactory {
return object : JetSingleIntentionActionFactory() { return object : JetSingleIntentionActionFactory() {
override fun createAction(diagnostic: Diagnostic): JetIntentionAction<JetModifierListOwner>? { override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<JetModifierListOwner>? {
val psiElement = diagnostic.psiElement val psiElement = diagnostic.psiElement
val elementType = psiElement.node.elementType as? JetModifierKeywordToken ?: return null val elementType = psiElement.node.elementType as? JetModifierKeywordToken ?: return null
val modifierListOwner = psiElement.getStrictParentOfType<JetModifierListOwner>() ?: return null val modifierListOwner = psiElement.getStrictParentOfType<JetModifierListOwner>() ?: return null
@@ -89,7 +89,7 @@ public class RemoveModifierFix(
public fun createRemoveProjectionFactory(isRedundant: Boolean): JetSingleIntentionActionFactory { public fun createRemoveProjectionFactory(isRedundant: Boolean): JetSingleIntentionActionFactory {
return object : JetSingleIntentionActionFactory() { return object : JetSingleIntentionActionFactory() {
override fun createAction(diagnostic: Diagnostic): JetIntentionAction<JetModifierListOwner>? { override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<JetModifierListOwner>? {
val projection = diagnostic.psiElement as JetTypeProjection val projection = diagnostic.psiElement as JetTypeProjection
val elementType = projection.projectionToken?.node?.elementType as? JetModifierKeywordToken ?: return null val elementType = projection.projectionToken?.node?.elementType as? JetModifierKeywordToken ?: return null
return RemoveModifierFix(projection, elementType, isRedundant) return RemoveModifierFix(projection, elementType, isRedundant)
@@ -99,7 +99,7 @@ public class RemoveModifierFix(
public fun createRemoveVarianceFactory(): JetSingleIntentionActionFactory { public fun createRemoveVarianceFactory(): JetSingleIntentionActionFactory {
return object : JetSingleIntentionActionFactory() { return object : JetSingleIntentionActionFactory() {
override fun createAction(diagnostic: Diagnostic): JetIntentionAction<JetModifierListOwner>? { override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<JetModifierListOwner>? {
val psiElement = diagnostic.psiElement as JetTypeParameter val psiElement = diagnostic.psiElement as JetTypeParameter
val modifier = when (psiElement.variance) { val modifier = when (psiElement.variance) {
Variance.IN_VARIANCE -> JetTokens.IN_KEYWORD Variance.IN_VARIANCE -> JetTokens.IN_KEYWORD
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType
import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.BindingContext
public class RemoveNameFromFunctionExpressionFix(element: JetNamedFunction) : JetIntentionAction<JetNamedFunction>(element), CleanupFix { public class RemoveNameFromFunctionExpressionFix(element: JetNamedFunction) : KotlinQuickFixAction<JetNamedFunction>(element), CleanupFix {
override fun getText(): String = "Remove identifier from function expression" override fun getText(): String = "Remove identifier from function expression"
override fun getFamilyName(): String = getText() override fun getFamilyName(): String = getText()
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.psi.JetNullableType; import org.jetbrains.kotlin.psi.JetNullableType;
import org.jetbrains.kotlin.psi.JetTypeElement; import org.jetbrains.kotlin.psi.JetTypeElement;
public class RemoveNullableFix extends JetIntentionAction<JetNullableType> { public class RemoveNullableFix extends KotlinQuickFixAction<JetNullableType> {
public enum NullableKind { public enum NullableKind {
REDUNDANT, SUPERTYPE, USELESS REDUNDANT, SUPERTYPE, USELESS
} }
@@ -67,7 +67,7 @@ public class RemoveNullableFix extends JetIntentionAction<JetNullableType> {
public static JetSingleIntentionActionFactory createFactory(final NullableKind typeOfError) { public static JetSingleIntentionActionFactory createFactory(final NullableKind typeOfError) {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<JetNullableType> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<JetNullableType> createAction(Diagnostic diagnostic) {
JetNullableType nullType = QuickFixUtil.getParentElementOfType(diagnostic, JetNullableType.class); JetNullableType nullType = QuickFixUtil.getParentElementOfType(diagnostic, JetNullableType.class);
if (nullType == null || nullType.getInnerType() == null) return null; if (nullType == null || nullType.getInnerType() == null) return null;
return new RemoveNullableFix(nullType, typeOfError); return new RemoveNullableFix(nullType, typeOfError);
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.idea.intentions.SpecifyTypeExplicitlyIntention;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.JetType;
public class RemovePartsFromPropertyFix extends JetIntentionAction<JetProperty> { public class RemovePartsFromPropertyFix extends KotlinQuickFixAction<JetProperty> {
private final boolean removeInitializer; private final boolean removeInitializer;
private final boolean removeGetter; private final boolean removeGetter;
private final boolean removeSetter; private final boolean removeSetter;
@@ -123,7 +123,7 @@ public class RemovePartsFromPropertyFix extends JetIntentionAction<JetProperty>
public static JetSingleIntentionActionFactory createFactory() { public static JetSingleIntentionActionFactory createFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<JetProperty> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<JetProperty> createAction(Diagnostic diagnostic) {
PsiElement element = diagnostic.getPsiElement(); PsiElement element = diagnostic.getPsiElement();
assert element instanceof JetElement; assert element instanceof JetElement;
JetProperty property = PsiTreeUtil.getParentOfType(element, JetProperty.class); JetProperty property = PsiTreeUtil.getParentOfType(element, JetProperty.class);
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil;
import org.jetbrains.kotlin.lexer.JetTokens; import org.jetbrains.kotlin.lexer.JetTokens;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
public class RemovePsiElementSimpleFix extends JetIntentionAction<PsiElement> { public class RemovePsiElementSimpleFix extends KotlinQuickFixAction<PsiElement> {
private final PsiElement element; private final PsiElement element;
private final String text; private final String text;
@@ -60,7 +60,7 @@ public class RemovePsiElementSimpleFix extends JetIntentionAction<PsiElement> {
public static JetSingleIntentionActionFactory createRemoveImportFactory() { public static JetSingleIntentionActionFactory createRemoveImportFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<PsiElement> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<PsiElement> createAction(Diagnostic diagnostic) {
JetImportDirective directive = QuickFixUtil.getParentElementOfType(diagnostic, JetImportDirective.class); JetImportDirective directive = QuickFixUtil.getParentElementOfType(diagnostic, JetImportDirective.class);
if (directive == null) return null; if (directive == null) return null;
else { else {
@@ -79,7 +79,7 @@ public class RemovePsiElementSimpleFix extends JetIntentionAction<PsiElement> {
public static JetSingleIntentionActionFactory createRemoveSpreadFactory() { public static JetSingleIntentionActionFactory createRemoveSpreadFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<PsiElement> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<PsiElement> createAction(Diagnostic diagnostic) {
PsiElement element = diagnostic.getPsiElement(); PsiElement element = diagnostic.getPsiElement();
if ((element instanceof LeafPsiElement) && ((LeafPsiElement) element).getElementType() == JetTokens.MUL) { if ((element instanceof LeafPsiElement) && ((LeafPsiElement) element).getElementType() == JetTokens.MUL) {
return new RemovePsiElementSimpleFix(element, JetBundle.message("remove.spread.sign")); return new RemovePsiElementSimpleFix(element, JetBundle.message("remove.spread.sign"));
@@ -92,7 +92,7 @@ public class RemovePsiElementSimpleFix extends JetIntentionAction<PsiElement> {
public static JetSingleIntentionActionFactory createRemoveTypeArgumentsFactory() { public static JetSingleIntentionActionFactory createRemoveTypeArgumentsFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<PsiElement> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<PsiElement> createAction(Diagnostic diagnostic) {
JetTypeArgumentList element = QuickFixUtil.getParentElementOfType(diagnostic, JetTypeArgumentList.class); JetTypeArgumentList element = QuickFixUtil.getParentElementOfType(diagnostic, JetTypeArgumentList.class);
if (element == null) return null; if (element == null) return null;
return new RemovePsiElementSimpleFix(element, return new RemovePsiElementSimpleFix(element,
@@ -104,7 +104,7 @@ public class RemovePsiElementSimpleFix extends JetIntentionAction<PsiElement> {
public static JetSingleIntentionActionFactory createRemoveVariableFactory() { public static JetSingleIntentionActionFactory createRemoveVariableFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<PsiElement> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<PsiElement> createAction(Diagnostic diagnostic) {
final JetProperty expression = QuickFixUtil.getParentElementOfType(diagnostic, JetProperty.class); final JetProperty expression = QuickFixUtil.getParentElementOfType(diagnostic, JetProperty.class);
if (expression == null) return null; if (expression == null) return null;
return new RemovePsiElementSimpleFix(expression, return new RemovePsiElementSimpleFix(expression,
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.idea.JetBundle;
import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil; import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
public class RemoveRightPartOfBinaryExpressionFix<T extends JetExpression> extends JetIntentionAction<T> implements CleanupFix { public class RemoveRightPartOfBinaryExpressionFix<T extends JetExpression> extends KotlinQuickFixAction<T> implements CleanupFix {
private final String message; private final String message;
public RemoveRightPartOfBinaryExpressionFix(@NotNull T element, String message) { public RemoveRightPartOfBinaryExpressionFix(@NotNull T element, String message) {
@@ -73,7 +73,7 @@ public class RemoveRightPartOfBinaryExpressionFix<T extends JetExpression> exten
public static JetSingleIntentionActionFactory createRemoveTypeFromBinaryExpressionFactory(final String message) { public static JetSingleIntentionActionFactory createRemoveTypeFromBinaryExpressionFactory(final String message) {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<JetBinaryExpressionWithTypeRHS> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<JetBinaryExpressionWithTypeRHS> createAction(Diagnostic diagnostic) {
JetBinaryExpressionWithTypeRHS expression = QuickFixUtil.getParentElementOfType(diagnostic, JetBinaryExpressionWithTypeRHS.class); JetBinaryExpressionWithTypeRHS expression = QuickFixUtil.getParentElementOfType(diagnostic, JetBinaryExpressionWithTypeRHS.class);
if (expression == null) return null; if (expression == null) return null;
return new RemoveRightPartOfBinaryExpressionFix<JetBinaryExpressionWithTypeRHS>(expression, message); return new RemoveRightPartOfBinaryExpressionFix<JetBinaryExpressionWithTypeRHS>(expression, message);
@@ -84,7 +84,7 @@ public class RemoveRightPartOfBinaryExpressionFix<T extends JetExpression> exten
public static JetSingleIntentionActionFactory createRemoveElvisOperatorFactory() { public static JetSingleIntentionActionFactory createRemoveElvisOperatorFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<JetBinaryExpression> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<JetBinaryExpression> createAction(Diagnostic diagnostic) {
JetBinaryExpression expression = (JetBinaryExpression) diagnostic.getPsiElement(); JetBinaryExpression expression = (JetBinaryExpression) diagnostic.getPsiElement();
return new RemoveRightPartOfBinaryExpressionFix<JetBinaryExpression>(expression, JetBundle.message("remove.elvis.operator")); return new RemoveRightPartOfBinaryExpressionFix<JetBinaryExpression>(expression, JetBundle.message("remove.elvis.operator"));
} }
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.lexer.JetTokens;
import org.jetbrains.kotlin.psi.JetDelegationSpecifier; import org.jetbrains.kotlin.psi.JetDelegationSpecifier;
import org.jetbrains.kotlin.psi.JetFile; import org.jetbrains.kotlin.psi.JetFile;
public class RemoveSupertypeFix extends JetIntentionAction<JetDelegationSpecifier> { public class RemoveSupertypeFix extends KotlinQuickFixAction<JetDelegationSpecifier> {
private final JetDelegationSpecifier superClass; private final JetDelegationSpecifier superClass;
public RemoveSupertypeFix(@NotNull JetDelegationSpecifier superClass) { public RemoveSupertypeFix(@NotNull JetDelegationSpecifier superClass) {
@@ -67,7 +67,7 @@ public class RemoveSupertypeFix extends JetIntentionAction<JetDelegationSpecifie
public static JetSingleIntentionActionFactory createFactory() { public static JetSingleIntentionActionFactory createFactory() {
return new JetSingleIntentionActionFactory() { return new JetSingleIntentionActionFactory() {
@Override @Override
public JetIntentionAction<JetDelegationSpecifier> createAction(Diagnostic diagnostic) { public KotlinQuickFixAction<JetDelegationSpecifier> createAction(Diagnostic diagnostic) {
JetDelegationSpecifier superClass = QuickFixUtil.getParentElementOfType(diagnostic, JetDelegationSpecifier.class); JetDelegationSpecifier superClass = QuickFixUtil.getParentElementOfType(diagnostic, JetDelegationSpecifier.class);
if (superClass == null) return null; if (superClass == null) return null;
return new RemoveSupertypeFix(superClass); return new RemoveSupertypeFix(superClass);
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.psi.JetParameter; import org.jetbrains.kotlin.psi.JetParameter;
import org.jetbrains.kotlin.psi.psiUtil.PsiUtilsKt; import org.jetbrains.kotlin.psi.psiUtil.PsiUtilsKt;
public class RemoveValVarFromParameterFix extends JetIntentionAction<JetParameter> { public class RemoveValVarFromParameterFix extends KotlinQuickFixAction<JetParameter> {
private final String varOrVal; private final String varOrVal;
public RemoveValVarFromParameterFix(@NotNull JetParameter element) { public RemoveValVarFromParameterFix(@NotNull JetParameter element) {
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.psi.JetParameter; import org.jetbrains.kotlin.psi.JetParameter;
import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingContext;
public class RenameParameterToMatchOverriddenMethodFix extends JetIntentionAction<JetParameter>{ public class RenameParameterToMatchOverriddenMethodFix extends KotlinQuickFixAction<JetParameter>{
private final JetParameter parameter; private final JetParameter parameter;
private String parameterFromSuperclassName; private String parameterFromSuperclassName;
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.psi.JetDeclaration
import org.jetbrains.kotlin.psi.JetFile import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
class RenameUnderscoreFix(declaration: JetDeclaration) : JetIntentionAction<JetDeclaration>(declaration) { class RenameUnderscoreFix(declaration: JetDeclaration) : KotlinQuickFixAction<JetDeclaration>(declaration) {
override fun invoke(project: Project, editor: Editor?, file: JetFile) { override fun invoke(project: Project, editor: Editor?, file: JetFile) {
if (editor == null) return if (editor == null) return
val dataContext = DataManager.getInstance().getDataContext(editor.component) val dataContext = DataManager.getInstance().getDataContext(editor.component)
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.psi.JetPsiFactory
import org.jetbrains.kotlin.psi.createExpressionByPattern import org.jetbrains.kotlin.psi.createExpressionByPattern
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
public class ReplaceInfixCallFix(element: JetBinaryExpression) : JetIntentionAction<JetBinaryExpression>(element) { public class ReplaceInfixCallFix(element: JetBinaryExpression) : KotlinQuickFixAction<JetBinaryExpression>(element) {
override fun getText() = "Replace with safe (?.) call" override fun getText() = "Replace with safe (?.) call"
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
import org.jetbrains.kotlin.resolve.calls.model.ExpressionValueArgument import org.jetbrains.kotlin.resolve.calls.model.ExpressionValueArgument
public class ReplaceJavaAnnotationPositionedArgumentsFix(element: JetAnnotationEntry) public class ReplaceJavaAnnotationPositionedArgumentsFix(element: JetAnnotationEntry)
: JetIntentionAction<JetAnnotationEntry>(element), CleanupFix { : KotlinQuickFixAction<JetAnnotationEntry>(element), CleanupFix {
override fun getText(): String = "Replace invalid positioned arguments for annotation" override fun getText(): String = "Replace invalid positioned arguments for annotation"
override fun getFamilyName(): String = getText() override fun getFamilyName(): String = getText()
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.psi.psiUtil.anyDescendantOfType
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.BindingContext
public class ReplaceObsoleteLabelSyntaxFix(element: JetAnnotationEntry) : JetIntentionAction<JetAnnotationEntry>(element), CleanupFix { public class ReplaceObsoleteLabelSyntaxFix(element: JetAnnotationEntry) : KotlinQuickFixAction<JetAnnotationEntry>(element), CleanupFix {
override fun getFamilyName(): String = "Update obsolete label syntax" override fun getFamilyName(): String = "Update obsolete label syntax"
override fun getText(): String = "Replace with label ${element.getCalleeExpression()?.getText() ?: ""}@" override fun getText(): String = "Replace with label ${element.getCalleeExpression()?.getText() ?: ""}@"
@@ -23,7 +23,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.idea.JetBundle; import org.jetbrains.kotlin.idea.JetBundle;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
public abstract class ReplaceOperationInBinaryExpressionFix<T extends JetExpression> extends JetIntentionAction<T> { public abstract class ReplaceOperationInBinaryExpressionFix<T extends JetExpression> extends KotlinQuickFixAction<T> {
private final String operation; private final String operation;
public ReplaceOperationInBinaryExpressionFix(@NotNull T element, String operation) { public ReplaceOperationInBinaryExpressionFix(@NotNull T element, String operation) {
@@ -104,7 +104,7 @@ public object SuperClassNotInitialized : JetIntentionActionsFactory() {
private class AddParenthesisFix( private class AddParenthesisFix(
element: JetDelegatorToSuperClass, element: JetDelegatorToSuperClass,
val putCaretIntoParenthesis: Boolean val putCaretIntoParenthesis: Boolean
) : JetIntentionAction<JetDelegatorToSuperClass>(element), HighPriorityAction { ) : KotlinQuickFixAction<JetDelegatorToSuperClass>(element), HighPriorityAction {
override fun getFamilyName() = "Change to constructor invocation" //TODO? override fun getFamilyName() = "Change to constructor invocation" //TODO?
@@ -130,7 +130,7 @@ public object SuperClassNotInitialized : JetIntentionActionsFactory() {
val classDeclaration: JetClass, val classDeclaration: JetClass,
val superConstructor: ConstructorDescriptor, //TODO: do not hold descriptor! val superConstructor: ConstructorDescriptor, //TODO: do not hold descriptor!
private val text: String private val text: String
) : JetIntentionAction<JetDelegatorToSuperClass>(element) { ) : KotlinQuickFixAction<JetDelegatorToSuperClass>(element) {
override fun getFamilyName() = "Add constructor parameters from superclass" override fun getFamilyName() = "Add constructor parameters from superclass"
@@ -17,9 +17,9 @@
package org.jetbrains.kotlin.idea.quickfix.createFromUsage package org.jetbrains.kotlin.idea.quickfix.createFromUsage
import org.jetbrains.kotlin.idea.JetBundle import org.jetbrains.kotlin.idea.JetBundle
import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction
import org.jetbrains.kotlin.psi.JetElement import org.jetbrains.kotlin.psi.JetElement
public abstract class CreateFromUsageFixBase<T: JetElement>(element: T) : JetIntentionAction<T>(element) { public abstract class CreateFromUsageFixBase<T: JetElement>(element: T) : KotlinQuickFixAction<T>(element) {
override fun getFamilyName(): String = JetBundle.message("create.from.usage.family") override fun getFamilyName(): String = JetBundle.message("create.from.usage.family")
} }
@@ -21,7 +21,7 @@ import com.intellij.openapi.editor.Editor
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.idea.quickfix.CleanupFix import org.jetbrains.kotlin.idea.quickfix.CleanupFix
import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction
import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory
import org.jetbrains.kotlin.psi.JetFile import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.psi.JetNamedFunction import org.jetbrains.kotlin.psi.JetNamedFunction
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.psi.JetTypeParameterList
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
class MigrateTypeParameterListFix(typeParameterList: JetTypeParameterList) class MigrateTypeParameterListFix(typeParameterList: JetTypeParameterList)
: JetIntentionAction<JetTypeParameterList>(typeParameterList), CleanupFix { : KotlinQuickFixAction<JetTypeParameterList>(typeParameterList), CleanupFix {
override fun getFamilyName(): String = "Migrate type parameter list syntax" override fun getFamilyName(): String = "Migrate type parameter list syntax"
override fun getText(): String = familyName override fun getText(): String = familyName
@@ -19,14 +19,14 @@ package org.jetbrains.kotlin.idea.quickfix.quickfixUtil
import com.intellij.codeInsight.intention.IntentionAction import com.intellij.codeInsight.intention.IntentionAction
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction
import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory
import org.jetbrains.kotlin.psi.JetPrimaryConstructor import org.jetbrains.kotlin.psi.JetPrimaryConstructor
import org.jetbrains.kotlin.psi.JetPsiFactory import org.jetbrains.kotlin.psi.JetPsiFactory
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
inline fun <reified T : PsiElement> Diagnostic.createIntentionForFirstParentOfType( inline fun <reified T : PsiElement> Diagnostic.createIntentionForFirstParentOfType(
factory: (T) -> JetIntentionAction<T>? factory: (T) -> KotlinQuickFixAction<T>?
) = getPsiElement().getNonStrictParentOfType<T>()?.let(factory) ) = getPsiElement().getNonStrictParentOfType<T>()?.let(factory)
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.idea.core.OptionalParametersHelper import org.jetbrains.kotlin.idea.core.OptionalParametersHelper
import org.jetbrains.kotlin.idea.quickfix.JetIntentionAction import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction
import org.jetbrains.kotlin.psi.JetConstructorCalleeExpression import org.jetbrains.kotlin.psi.JetConstructorCalleeExpression
import org.jetbrains.kotlin.psi.JetFile import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.psi.JetSimpleNameExpression import org.jetbrains.kotlin.psi.JetSimpleNameExpression
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.hasDefaultValue
public abstract class DeprecatedSymbolUsageFixBase( public abstract class DeprecatedSymbolUsageFixBase(
element: JetSimpleNameExpression, element: JetSimpleNameExpression,
val replaceWith: ReplaceWith val replaceWith: ReplaceWith
) : JetIntentionAction<JetSimpleNameExpression>(element) { ) : KotlinQuickFixAction<JetSimpleNameExpression>(element) {
override fun isAvailable(project: Project, editor: Editor?, file: PsiFile): Boolean { override fun isAvailable(project: Project, editor: Editor?, file: PsiFile): Boolean {
if (!super.isAvailable(project, editor, file)) return false if (!super.isAvailable(project, editor, file)) return false