From ab874711775b66a0a41c47a8180233e5f79847d9 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Tue, 13 Oct 2015 22:48:24 +0300 Subject: [PATCH] Converted JetIntentionAction to Kotlin --- .../idea/quickfix/AddFunctionBodyFix.java | 6 +- .../idea/quickfix/AddFunctionParametersFix.kt | 2 +- .../kotlin/idea/quickfix/AddLoopLabelFix.kt | 3 +- .../kotlin/idea/quickfix/AddModifierFix.java | 4 +- .../AddOpenModifierToClassDeclarationFix.java | 2 +- ...ddOverrideToEqualsHashCodeToStringFix.java | 2 +- .../idea/quickfix/AddStarProjectionsFix.java | 10 ++-- .../idea/quickfix/AddWhenElseBranchFix.java | 8 +-- .../kotlin/idea/quickfix/AutoImportFix.kt | 2 +- .../idea/quickfix/CastExpressionFix.java | 10 ++-- .../idea/quickfix/ChangeAccessorTypeFix.java | 10 ++-- .../quickfix/ChangeFunctionReturnTypeFix.java | 15 +++-- .../ChangeMemberFunctionSignatureFix.java | 2 +- .../idea/quickfix/ChangeParameterTypeFix.java | 6 +- .../ChangeToFunctionInvocationFix.java | 4 +- .../quickfix/ChangeToPropertyNameFix.java | 7 +-- .../quickfix/ChangeToStarProjectionFix.java | 4 +- .../kotlin/idea/quickfix/ChangeTypeFix.java | 4 +- .../idea/quickfix/ChangeVariableTypeFix.java | 14 ++--- .../quickfix/ChangeVisibilityModifierFix.java | 10 ++-- .../kotlin/idea/quickfix/JetHintAction.java | 2 +- .../idea/quickfix/JetIntentionAction.java | 60 ------------------- .../idea/quickfix/JetIntentionAction.kt | 43 +++++++++++++ .../quickfix/MakeOverriddenMemberOpenFix.kt | 2 +- .../idea/quickfix/MoveWhenElseBranchFix.java | 10 ++-- .../idea/quickfix/RemoveFunctionBodyFix.java | 6 +- .../idea/quickfix/RemoveNullableFix.java | 6 +- .../quickfix/RemovePartsFromPropertyFix.java | 10 ++-- .../RemoveRightPartOfBinaryExpressionFix.java | 9 ++- .../RemoveValVarFromParameterFix.java | 2 +- ...ReplaceOperationInBinaryExpressionFix.java | 8 +-- 31 files changed, 131 insertions(+), 152 deletions(-) delete mode 100644 idea/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionAction.java create mode 100644 idea/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionAction.kt diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionBodyFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionBodyFix.java index 646b0702532..4417a709604 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionBodyFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionBodyFix.java @@ -51,12 +51,12 @@ public class AddFunctionBodyFix extends JetIntentionAction { @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) { - return super.isAvailable(project, editor, file) && !element.hasBody(); + return super.isAvailable(project, editor, file) && !getElement().hasBody(); } @Override public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { - JetFunction newElement = (JetFunction) element.copy(); + JetFunction newElement = (JetFunction) getElement().copy(); JetPsiFactory psiFactory = JetPsiFactoryKt.JetPsiFactory(file); if (!(newElement.getLastChild() instanceof PsiWhiteSpace)) { newElement.add(psiFactory.createWhiteSpace()); @@ -64,7 +64,7 @@ public class AddFunctionBodyFix extends JetIntentionAction { if (!newElement.hasBody()) { newElement.add(psiFactory.createEmptyBody()); } - element.replace(newElement); + getElement().replace(newElement); } public static JetSingleIntentionActionFactory createFactory() { diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt index c6630bdffd9..be3b4e654c8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt @@ -67,7 +67,7 @@ public class AddFunctionParametersFix( "Add parameter$subjectSuffix to $callableDescription" } - 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 // newParametersCnt <= 0: psi for this quickfix is no longer valid diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddLoopLabelFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddLoopLabelFix.kt index 3c3f57f7b7f..c0ec932f601 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddLoopLabelFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddLoopLabelFix.kt @@ -24,13 +24,12 @@ import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.parents -import java.util.* public class AddLoopLabelFix(loop: JetLoopExpression, val jumpExpression: JetElement): JetIntentionAction(loop) { override fun getText() = "Add label to loop" override fun getFamilyName() = getText() - override fun isAvailable(project: Project, editor: Editor, file: PsiFile): Boolean { + override fun isAvailable(project: Project, editor: Editor?, file: PsiFile): Boolean { return super.isAvailable(project, editor, file) } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddModifierFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddModifierFix.java index 1c4f904ebe4..05d610dd165 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddModifierFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddModifierFix.java @@ -65,7 +65,7 @@ public class AddModifierFix extends JetIntentionAction { @Override public String getText() { if (modifier == ABSTRACT_KEYWORD || modifier == JetTokens.OPEN_KEYWORD) { - return JetBundle.message("make.element.modifier", getElementName(element), modifier.getValue()); + return JetBundle.message("make.element.modifier", getElementName(getElement()), modifier.getValue()); } return JetBundle.message("add.modifier", modifier.getValue()); } @@ -78,7 +78,7 @@ public class AddModifierFix extends JetIntentionAction { @Override public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { - element.addModifier(modifier); + getElement().addModifier(modifier); } @Override diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java index 798e18776d8..e033a945fe0 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java @@ -46,7 +46,7 @@ public class AddOpenModifierToClassDeclarationFix extends JetIntentionAction @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) { - return super.isAvailable(project, editor, file) && element.getCloseBrace() != null; + return super.isAvailable(project, editor, file) && getElement().getCloseBrace() != null; } @Override public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { - PsiElement whenCloseBrace = element.getCloseBrace(); + PsiElement whenCloseBrace = getElement().getCloseBrace(); assert (whenCloseBrace != null) : "isAvailable should check if close brace exist"; JetPsiFactory psiFactory = JetPsiFactoryKt.JetPsiFactory(file); JetWhenEntry entry = psiFactory.createWhenEntry(ELSE_ENTRY_TEXT); - PsiElement insertedBranch = element.addBefore(entry, whenCloseBrace); - element.addAfter(psiFactory.createNewLine(), insertedBranch); + PsiElement insertedBranch = getElement().addBefore(entry, whenCloseBrace); + getElement().addAfter(psiFactory.createNewLine(), insertedBranch); JetWhenEntry insertedWhenEntry = (JetWhenEntry) CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(insertedBranch); TextRange textRange = insertedWhenEntry.getTextRange(); diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AutoImportFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/AutoImportFix.kt index 56fcee0f0d4..a25aa0af16e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AutoImportFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AutoImportFix.kt @@ -84,7 +84,7 @@ public class AutoImportFix(element: JetSimpleNameExpression) : JetHintAction { public String getText() { return JetBundle.message( "cast.expression.to.type", - element.getText(), + getElement().getText(), IdeDescriptorRenderers.SOURCE_CODE_SHORT_NAMES_IN_TYPES.renderType(type) ); } @@ -63,7 +63,7 @@ public class CastExpressionFix extends JetIntentionAction { @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) { if (!super.isAvailable(project, editor, file)) return false; - JetType expressionType = ResolutionUtils.analyze(element).getType(element); + JetType expressionType = ResolutionUtils.analyze(getElement()).getType(getElement()); return expressionType != null && ( JetTypeChecker.DEFAULT.isSubtypeOf(type, expressionType) // downcast @@ -77,13 +77,13 @@ public class CastExpressionFix extends JetIntentionAction { JetPsiFactory psiFactory = JetPsiFactoryKt.JetPsiFactory(file); JetBinaryExpressionWithTypeRHS castExpression = - (JetBinaryExpressionWithTypeRHS) psiFactory.createExpression("(" + element.getText() + ") as " + renderedType); + (JetBinaryExpressionWithTypeRHS) psiFactory.createExpression("(" + getElement().getText() + ") as " + renderedType); if (JetPsiUtil.areParenthesesUseless((JetParenthesizedExpression) castExpression.getLeft())) { - castExpression = (JetBinaryExpressionWithTypeRHS) psiFactory.createExpression(element.getText() + " as " + renderedType); + castExpression = (JetBinaryExpressionWithTypeRHS) psiFactory.createExpression(getElement().getText() + " as " + renderedType); } JetParenthesizedExpression castExpressionInParentheses = - (JetParenthesizedExpression) element.replace(psiFactory.createExpression("(" + castExpression.getText() + ")")); + (JetParenthesizedExpression) getElement().replace(psiFactory.createExpression("(" + castExpression.getText() + ")")); if (JetPsiUtil.areParenthesesUseless(castExpressionInParentheses)) { castExpression = (JetBinaryExpressionWithTypeRHS) castExpressionInParentheses.replace(castExpression); diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeAccessorTypeFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeAccessorTypeFix.java index ec9c95add46..c5e4cb4f780 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeAccessorTypeFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeAccessorTypeFix.java @@ -39,7 +39,7 @@ public class ChangeAccessorTypeFix extends JetIntentionAction return changeFunctionLiteralReturnTypeFix.getText(); } - String functionName = element.getName(); - FqName fqName = element.getFqName(); + String functionName = getElement().getName(); + FqName fqName = getElement().getFqName(); if (fqName != null) functionName = fqName.asString(); - if (KotlinBuiltIns.isUnit(type) && element.hasBlockBody()) { + if (KotlinBuiltIns.isUnit(type) && getElement().hasBlockBody()) { return functionName == null ? JetBundle.message("remove.no.name.function.return.type") : JetBundle.message("remove.function.return.type", functionName); @@ -111,15 +111,14 @@ public class ChangeFunctionReturnTypeFix extends JetIntentionAction changeFunctionLiteralReturnTypeFix.invoke(project, editor, file); } else { - if (!(KotlinBuiltIns.isUnit(type) && element.hasBlockBody())) { - JetTypeReference newTypeRef = JetPsiFactoryKt - .JetPsiFactory(project).createType(IdeDescriptorRenderers.SOURCE_CODE.renderType(type)); - newTypeRef = element.setTypeReference(newTypeRef); + if (!(KotlinBuiltIns.isUnit(type) && getElement().hasBlockBody())) { + JetTypeReference newTypeRef = JetPsiFactoryKt.JetPsiFactory(project).createType(IdeDescriptorRenderers.SOURCE_CODE.renderType(type)); + newTypeRef = getElement().setTypeReference(newTypeRef); assert newTypeRef != null; ShortenReferences.DEFAULT.process(newTypeRef); } else { - element.setTypeReference(null); + getElement().setTypeReference(null); } } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.java index 7ce74ec06cb..150c4aae2fc 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.java @@ -125,7 +125,7 @@ public class ChangeMemberFunctionSignatureFix extends JetHintAction { public String getText() { String renderedType = IdeDescriptorRenderers.SOURCE_CODE_SHORT_NAMES_IN_TYPES.renderType(type); return isPrimaryConstructorParameter ? - JetBundle.message("change.primary.constructor.parameter.type", element.getName(), containingDeclarationName, renderedType) : - JetBundle.message("change.function.parameter.type", element.getName(), containingDeclarationName, renderedType); + JetBundle.message("change.primary.constructor.parameter.type", getElement().getName(), containingDeclarationName, renderedType) : + JetBundle.message("change.function.parameter.type", getElement().getName(), containingDeclarationName, renderedType); } @NotNull @@ -66,7 +66,7 @@ public class ChangeParameterTypeFix extends JetIntentionAction { @Override public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { JetTypeReference newTypeRef = JetPsiFactoryKt.JetPsiFactory(file).createType(IdeDescriptorRenderers.SOURCE_CODE.renderType(type)); - newTypeRef = element.setTypeReference(newTypeRef); + newTypeRef = getElement().setTypeReference(newTypeRef); assert newTypeRef != null; ShortenReferences.DEFAULT.process(newTypeRef); } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeToFunctionInvocationFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeToFunctionInvocationFix.java index f15272166e2..fc74b7e5ad2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeToFunctionInvocationFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeToFunctionInvocationFix.java @@ -46,8 +46,8 @@ public class ChangeToFunctionInvocationFix extends JetIntentionAction { @NotNull @Override public String getText() { - String currentTypeText = element.getText(); + String currentTypeText = getElement().getText(); return JetBundle.message("change.type", currentTypeText, QuickFixUtil.renderTypeWithFqNameOnClash(type, currentTypeText)); } @@ -60,7 +60,7 @@ public class ChangeTypeFix extends JetIntentionAction { @Override public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { - JetTypeReference newTypeRef = (JetTypeReference) element.replace(JetPsiFactoryKt.JetPsiFactory(file).createType(renderedType)); + JetTypeReference newTypeRef = (JetTypeReference) getElement().replace(JetPsiFactoryKt.JetPsiFactory(file).createType(renderedType)); ShortenReferences.DEFAULT.process(newTypeRef); } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVariableTypeFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVariableTypeFix.java index 8046fcca4c2..b6dd836aa58 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVariableTypeFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVariableTypeFix.java @@ -60,8 +60,8 @@ public class ChangeVariableTypeFix extends JetIntentionAction toShorten = new ArrayList(); - toShorten.add(element.setTypeReference(replacingTypeReference)); + toShorten.add(getElement().setTypeReference(replacingTypeReference)); - if (element instanceof JetProperty) { - JetPropertyAccessor getter = ((JetProperty) element).getGetter(); + if (getElement() instanceof JetProperty) { + JetPropertyAccessor getter = ((JetProperty) getElement()).getGetter(); JetTypeReference getterReturnTypeRef = getter == null ? null : getter.getReturnTypeReference(); if (getterReturnTypeRef != null) { toShorten.add((JetTypeReference) getterReturnTypeRef.replace(replacingTypeReference)); } - JetPropertyAccessor setter = ((JetProperty) element).getSetter(); + JetPropertyAccessor setter = ((JetProperty) getElement()).getSetter(); JetParameter setterParameter = setter == null ? null : setter.getParameter(); JetTypeReference setterParameterTypeRef = setterParameter == null ? null : setterParameter.getTypeReference(); if (setterParameterTypeRef != null) { diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVisibilityModifierFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVisibilityModifierFix.java index c6223d76042..357ef8ae7fc 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVisibilityModifierFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVisibilityModifierFix.java @@ -65,18 +65,18 @@ public class ChangeVisibilityModifierFix extends JetIntentionAction extends JetIntentionAc } protected boolean isCaretNearRef(Editor editor, T ref) { - TextRange range = element.getTextRange(); + TextRange range = getElement().getTextRange(); int offset = editor.getCaretModel().getOffset(); return offset == range.getEndOffset(); diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionAction.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionAction.java deleted file mode 100644 index e67bba527b4..00000000000 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionAction.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.idea.quickfix; - -import com.intellij.codeInsight.FileModificationService; -import com.intellij.codeInsight.intention.IntentionAction; -import com.intellij.openapi.editor.Editor; -import com.intellij.openapi.project.Project; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiFile; -import com.intellij.util.IncorrectOperationException; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.kotlin.psi.JetCodeFragment; -import org.jetbrains.kotlin.psi.JetFile; - -public abstract class JetIntentionAction implements IntentionAction { - protected @NotNull T element; - - public JetIntentionAction(@NotNull T element) { - this.element = element; - } - - @Override - public boolean isAvailable(@NotNull Project project, Editor editor, @NotNull PsiFile file) { - return element.isValid() && (file.getManager().isInProject(file) || file instanceof JetCodeFragment) && (file instanceof JetFile); - } - - //Don't override this method. Use the method with JetFile instead. - @Deprecated - @Override - public void invoke(@NotNull Project project, @Nullable Editor editor, @NotNull PsiFile file) throws IncorrectOperationException { - if (file instanceof JetFile) { - if (FileModificationService.getInstance().prepareFileForWrite(element.getContainingFile())) { - invoke(project, editor, (JetFile) file); - } - } - } - - protected abstract void invoke(@NotNull Project project, @Nullable Editor editor, @NotNull JetFile file) throws IncorrectOperationException; - - @Override - public boolean startInWriteAction() { - return true; - } -} diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionAction.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionAction.kt new file mode 100644 index 00000000000..17b538a2e49 --- /dev/null +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionAction.kt @@ -0,0 +1,43 @@ +/* + * Copyright 2010-2015 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.kotlin.idea.quickfix + +import com.intellij.codeInsight.FileModificationService +import com.intellij.codeInsight.intention.IntentionAction +import com.intellij.openapi.editor.Editor +import com.intellij.openapi.project.Project +import com.intellij.psi.PsiElement +import com.intellij.psi.PsiFile +import org.jetbrains.kotlin.psi.JetCodeFragment +import org.jetbrains.kotlin.psi.JetFile + +abstract class JetIntentionAction(protected val element: T) : IntentionAction { + + override fun isAvailable(project: Project, editor: Editor?, file: PsiFile): Boolean { + return element.isValid && (file.manager.isInProject(file) || file is JetCodeFragment) && (file is JetFile) + } + + override final fun invoke(project: Project, editor: Editor?, file: PsiFile) { + if (file is JetFile && FileModificationService.getInstance().prepareFileForWrite(element.containingFile)) { + invoke(project, editor, file) + } + } + + protected abstract fun invoke(project: Project, editor: Editor?, file: JetFile) + + override fun startInWriteAction() = true +} diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeOverriddenMemberOpenFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeOverriddenMemberOpenFix.kt index d74962a5c79..744f265d0b8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeOverriddenMemberOpenFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeOverriddenMemberOpenFix.kt @@ -40,7 +40,7 @@ public class MakeOverriddenMemberOpenFix(declaration: JetDeclaration) : JetInten private val overriddenNonOverridableMembers = ArrayList() private val containingDeclarationsNames = ArrayList() - 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) || file !is JetFile) { return false } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/MoveWhenElseBranchFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/MoveWhenElseBranchFix.java index c0be796c5fb..fa41e44aca5 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/MoveWhenElseBranchFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/MoveWhenElseBranchFix.java @@ -51,14 +51,14 @@ public class MoveWhenElseBranchFix extends JetIntentionAction if (!super.isAvailable(project, editor, file)) { return false; } - return JetPsiUtil.checkWhenExpressionHasSingleElse(element); + return JetPsiUtil.checkWhenExpressionHasSingleElse(getElement()); } @Override public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { JetWhenEntry elseEntry = null; JetWhenEntry lastEntry = null; - for (JetWhenEntry entry : element.getEntries()) { + for (JetWhenEntry entry : getElement().getEntries()) { if (entry.isElse()) { elseEntry = entry; } @@ -67,9 +67,9 @@ public class MoveWhenElseBranchFix extends JetIntentionAction assert (elseEntry != null) : "isAvailable should check whether there is only one else branch"; int cursorOffset = editor.getCaretModel().getOffset() - elseEntry.getTextOffset(); - PsiElement insertedBranch = element.addAfter(elseEntry, lastEntry); - element.addAfter(JetPsiFactoryKt.JetPsiFactory(file).createNewLine(), lastEntry); - element.deleteChildRange(elseEntry, elseEntry); + PsiElement insertedBranch = getElement().addAfter(elseEntry, lastEntry); + getElement().addAfter(JetPsiFactoryKt.JetPsiFactory(file).createNewLine(), lastEntry); + getElement().deleteChildRange(elseEntry, elseEntry); JetWhenEntry insertedWhenEntry = (JetWhenEntry) CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(insertedBranch); editor.getCaretModel().moveToOffset(insertedWhenEntry.getTextOffset() + cursorOffset); diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveFunctionBodyFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveFunctionBodyFix.java index 2e748d088a6..b95afbb6076 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveFunctionBodyFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveFunctionBodyFix.java @@ -53,12 +53,12 @@ public class RemoveFunctionBodyFix extends JetIntentionAction { @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) { - return super.isAvailable(project, editor, file) && element.hasBody(); + return super.isAvailable(project, editor, file) && getElement().hasBody(); } @Override public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { - JetFunction function = (JetFunction) element.copy(); + JetFunction function = (JetFunction) getElement().copy(); assert function instanceof ASTDelegatePsiElement; ASTDelegatePsiElement functionElementWithAst = (ASTDelegatePsiElement) function; JetExpression bodyExpression = function.getBodyExpression(); @@ -76,7 +76,7 @@ public class RemoveFunctionBodyFix extends JetIntentionAction { removePossiblyEquationSign(functionElementWithAst, prevPrevElement); functionElementWithAst.deleteChildInternal(bodyExpression.getNode()); } - element.replace(function); + getElement().replace(function); } private static boolean removePossiblyEquationSign(@NotNull ASTDelegatePsiElement element, @Nullable PsiElement possiblyEq) { diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveNullableFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveNullableFix.java index cd9c001022e..84d9f37e3dd 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveNullableFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveNullableFix.java @@ -59,9 +59,9 @@ public class RemoveNullableFix extends JetIntentionAction { @Override public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { - JetTypeElement type = super.element.getInnerType(); - assert type != null : "No inner type " + element.getText() + ", should have been rejected in createFactory()"; - super.element.replace(type); + JetTypeElement type = super.getElement().getInnerType(); + assert type != null : "No inner type " + getElement().getText() + ", should have been rejected in createFactory()"; + super.getElement().replace(type); } public static JetSingleIntentionActionFactory createFactory(final NullableKind typeOfError) { diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/RemovePartsFromPropertyFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/RemovePartsFromPropertyFix.java index 5cfb27c2e4e..d2a4c359210 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/RemovePartsFromPropertyFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/RemovePartsFromPropertyFix.java @@ -85,14 +85,14 @@ public class RemovePartsFromPropertyFix extends JetIntentionAction @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) { - JetType type = QuickFixUtil.getDeclarationReturnType(element); + JetType type = QuickFixUtil.getDeclarationReturnType(getElement()); return super.isAvailable(project, editor, file) && type != null && !type.isError(); } @Override public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { - JetType type = QuickFixUtil.getDeclarationReturnType(element); - JetProperty newElement = (JetProperty) element.copy(); + JetType type = QuickFixUtil.getDeclarationReturnType(getElement()); + JetProperty newElement = (JetProperty) getElement().copy(); JetPropertyAccessor getter = newElement.getGetter(); if (removeGetter && getter != null) { newElement.deleteChildInternal(getter.getNode()); @@ -114,9 +114,9 @@ public class RemovePartsFromPropertyFix extends JetIntentionAction typeToAdd = type; } } - element = (JetProperty) element.replace(newElement); + newElement = (JetProperty) getElement().replace(newElement); if (typeToAdd != null) { - SpecifyTypeExplicitlyIntention.Companion.addTypeAnnotation(editor, element, typeToAdd); + SpecifyTypeExplicitlyIntention.Companion.addTypeAnnotation(editor, newElement, typeToAdd); } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveRightPartOfBinaryExpressionFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveRightPartOfBinaryExpressionFix.java index a883c12922b..50bdf233ed6 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveRightPartOfBinaryExpressionFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveRightPartOfBinaryExpressionFix.java @@ -21,7 +21,6 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.diagnostics.Diagnostic; import org.jetbrains.kotlin.idea.JetBundle; import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil; @@ -55,12 +54,12 @@ public class RemoveRightPartOfBinaryExpressionFix exten public JetExpression invoke() throws IncorrectOperationException { JetExpression newExpression = null; - if (element instanceof JetBinaryExpression) { + if (getElement() instanceof JetBinaryExpression) { //noinspection ConstantConditions - newExpression = (JetExpression) element.replace(((JetBinaryExpression) element.copy()).getLeft()); + newExpression = (JetExpression) getElement().replace(((JetBinaryExpression) getElement().copy()).getLeft()); } - else if (element instanceof JetBinaryExpressionWithTypeRHS) { - newExpression = (JetExpression) element.replace(((JetBinaryExpressionWithTypeRHS) element.copy()).getLeft()); + else if (getElement() instanceof JetBinaryExpressionWithTypeRHS) { + newExpression = (JetExpression) getElement().replace(((JetBinaryExpressionWithTypeRHS) getElement().copy()).getLeft()); } PsiElement parent = newExpression != null ? newExpression.getParent() : null; diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveValVarFromParameterFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveValVarFromParameterFix.java index ede2126b891..4425917c7da 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveValVarFromParameterFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/RemoveValVarFromParameterFix.java @@ -53,7 +53,7 @@ public class RemoveValVarFromParameterFix extends JetIntentionAction