From 5b9680fe113d59d9e94ea7be7c4ac9eca9851a02 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Fri, 5 Jun 2015 22:15:32 +0300 Subject: [PATCH] Made all inspections making code more verbose low priority --- .../ConvertAssertToIfWithThrowIntention.kt | 5 +++-- .../ConvertReceiverToParameterIntention.kt | 3 ++- .../ConvertToConcatenatedStringIntention.kt | 3 ++- .../InsertCurlyBracesToTemplateIntention.kt | 7 ++++--- .../ReconstructTypeInCastOrIsIntention.kt | 7 +++---- ...eItWithExplicitFunctionLiteralParamIntention.kt | 13 +++---------- .../ReplaceWithOrdinaryAssignmentIntention.kt | 3 ++- .../SpecifyExplicitLambdaSignatureIntention.kt | 14 +++++++------- .../intentions/SpecifyTypeExplicitlyIntention.kt | 12 ++---------- .../intentions/DoubleBangToIfThenIntention.kt | 8 ++++++-- .../intentions/EliminateWhenSubjectIntention.kt | 3 ++- .../intentions/ElvisToIfThenIntention.kt | 3 ++- .../intentions/SafeAccessToIfThenIntention.kt | 3 ++- .../intentions/UnfoldAssignmentToIfIntention.kt | 3 ++- .../intentions/UnfoldAssignmentToWhenIntention.kt | 3 ++- .../intentions/UnfoldPropertyToIfIntention.kt | 3 ++- .../intentions/UnfoldPropertyToWhenIntention.kt | 3 ++- .../intentions/UnfoldReturnToIfIntention.kt | 10 +++++++--- .../intentions/UnfoldReturnToWhenIntention.kt | 8 ++++---- .../intentions/WhenToIfIntention.kt | 3 ++- .../ConvertMemberToExtensionIntention.kt | 3 ++- .../SplitPropertyDeclarationIntention.kt | 3 ++- 22 files changed, 65 insertions(+), 58 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertAssertToIfWithThrowIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertAssertToIfWithThrowIntention.kt index 6e0f83387d6..9a66e53ab6a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertAssertToIfWithThrowIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertAssertToIfWithThrowIntention.kt @@ -16,16 +16,17 @@ package org.jetbrains.kotlin.idea.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.idea.caches.resolve.analyze +import org.jetbrains.kotlin.idea.core.replaced import org.jetbrains.kotlin.idea.util.ShortenReferences import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.idea.core.replaced import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall -public class ConvertAssertToIfWithThrowIntention : JetSelfTargetingIntention(javaClass(), "Replace 'assert' with 'if' statement") { +public class ConvertAssertToIfWithThrowIntention : JetSelfTargetingIntention(javaClass(), "Replace 'assert' with 'if' statement"), LowPriorityAction { override fun isApplicableTo(element: JetCallExpression, caretOffset: Int): Boolean { val callee = element.getCalleeExpression() ?: return false if (!callee.getTextRange().containsOffset(caretOffset)) return false diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReceiverToParameterIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReceiverToParameterIntention.kt index 930217ef961..359c3f2b13f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReceiverToParameterIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReceiverToParameterIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.idea.caches.resolve.analyze @@ -27,7 +28,7 @@ import org.jetbrains.kotlin.psi.JetNamedFunction import org.jetbrains.kotlin.psi.JetTypeReference import org.jetbrains.kotlin.resolve.BindingContext -public class ConvertReceiverToParameterIntention : JetSelfTargetingOffsetIndependentIntention(javaClass(), "Convert receiver to parameter") { +public class ConvertReceiverToParameterIntention : JetSelfTargetingOffsetIndependentIntention(javaClass(), "Convert receiver to parameter"), LowPriorityAction { override fun isApplicableTo(element: JetTypeReference): Boolean { return (element.getParent() as? JetNamedFunction)?.getReceiverTypeReference() == element } diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToConcatenatedStringIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToConcatenatedStringIntention.kt index a6d74c83d30..70bff498d45 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToConcatenatedStringIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToConcatenatedStringIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.idea.caches.resolve.analyze @@ -23,7 +24,7 @@ import org.jetbrains.kotlin.lexer.JetTokens import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.resolve.BindingContextUtils -public class ConvertToConcatenatedStringIntention : JetSelfTargetingOffsetIndependentIntention(javaClass(), "Convert template to concatenated string") { +public class ConvertToConcatenatedStringIntention : JetSelfTargetingOffsetIndependentIntention(javaClass(), "Convert template to concatenated string"), LowPriorityAction { override fun isApplicableTo(element: JetStringTemplateExpression): Boolean { if (element.getLastChild().getNode().getElementType() != JetTokens.CLOSING_QUOTE) return false // not available for unclosed literal return element.getEntries().any { it is JetStringTemplateEntryWithExpression } diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/InsertCurlyBracesToTemplateIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/InsertCurlyBracesToTemplateIntention.kt index 6df0c18c775..607b9219893 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/InsertCurlyBracesToTemplateIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/InsertCurlyBracesToTemplateIntention.kt @@ -16,12 +16,13 @@ package org.jetbrains.kotlin.idea.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor -import org.jetbrains.kotlin.psi.JetSimpleNameStringTemplateEntry import org.jetbrains.kotlin.psi.JetPsiFactory +import org.jetbrains.kotlin.psi.JetSimpleNameStringTemplateEntry -public class InsertCurlyBracesToTemplateIntention : JetSelfTargetingOffsetIndependentIntention( - javaClass(), "Insert curly braces around variable") { +public class InsertCurlyBracesToTemplateIntention : JetSelfTargetingOffsetIndependentIntention ( + javaClass(), "Insert curly braces around variable"), LowPriorityAction { override fun isApplicableTo(element: JetSimpleNameStringTemplateEntry): Boolean = true diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ReconstructTypeInCastOrIsIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ReconstructTypeInCastOrIsIntention.kt index df098ee2239..798b82ceb23 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ReconstructTypeInCastOrIsIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ReconstructTypeInCastOrIsIntention.kt @@ -16,19 +16,18 @@ package org.jetbrains.kotlin.idea.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor -import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.kotlin.idea.caches.resolve.analyze +import org.jetbrains.kotlin.idea.core.replaced import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.idea.util.ShortenReferences import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getParentOfType -import org.jetbrains.kotlin.idea.core.replaced -import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.types.JetType -public class ReconstructTypeInCastOrIsIntention : JetSelfTargetingOffsetIndependentIntention(javaClass(), "Replace by reconstructed type") { +public class ReconstructTypeInCastOrIsIntention : JetSelfTargetingOffsetIndependentIntention(javaClass(), "Replace by reconstructed type"), LowPriorityAction { override fun isApplicableTo(element: JetTypeReference): Boolean { // Only user types (like Foo) are interesting val typeElement = element.getTypeElement() as? JetUserType ?: return false diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt index 7217fd588d3..3c93a461dfb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt @@ -16,28 +16,21 @@ package org.jetbrains.kotlin.idea.intentions -import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor -import com.intellij.openapi.project.Project import com.intellij.psi.PsiDocumentManager -import com.intellij.psi.PsiElement import com.intellij.refactoring.rename.inplace.VariableInplaceRenameHandler -import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor -import org.jetbrains.kotlin.idea.JetBundle import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.references.JetReference import org.jetbrains.kotlin.psi.JetFunctionLiteral import org.jetbrains.kotlin.psi.JetFunctionLiteralExpression import org.jetbrains.kotlin.psi.JetPsiFactory import org.jetbrains.kotlin.psi.JetSimpleNameExpression -import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils -import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode -public class ReplaceItWithExplicitFunctionLiteralParamIntention() : JetSelfTargetingOffsetIndependentIntention( +public class ReplaceItWithExplicitFunctionLiteralParamIntention() : JetSelfTargetingOffsetIndependentIntention ( javaClass(), "Replace 'it' with explicit parameter" -) { +), LowPriorityAction { override fun isApplicableTo(element: JetSimpleNameExpression) = isAutoCreatedItUsage(element) diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceWithOrdinaryAssignmentIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceWithOrdinaryAssignmentIntention.kt index e94205bfd55..d9997d43fed 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceWithOrdinaryAssignmentIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceWithOrdinaryAssignmentIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import org.jetbrains.kotlin.lexer.JetTokens import org.jetbrains.kotlin.psi.JetBinaryExpression @@ -23,7 +24,7 @@ import org.jetbrains.kotlin.psi.JetPsiFactory import org.jetbrains.kotlin.psi.JetSimpleNameExpression import org.jetbrains.kotlin.psi.createExpressionByPattern -public class ReplaceWithOrdinaryAssignmentIntention : JetSelfTargetingIntention(javaClass(), "Replace with ordinary assignment") { +public class ReplaceWithOrdinaryAssignmentIntention : JetSelfTargetingIntention(javaClass(), "Replace with ordinary assignment"), LowPriorityAction { override fun isApplicableTo(element: JetBinaryExpression, caretOffset: Int): Boolean { if (element.getOperationToken() !in JetTokens.AUGMENTED_ASSIGNMENTS) return false if (element.getLeft() !is JetSimpleNameExpression) return false diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyExplicitLambdaSignatureIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyExplicitLambdaSignatureIntention.kt index 16e909b7e40..063c3b4cb5c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyExplicitLambdaSignatureIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyExplicitLambdaSignatureIntention.kt @@ -16,18 +16,18 @@ package org.jetbrains.kotlin.idea.intentions -import org.jetbrains.kotlin.psi.JetFunctionLiteralExpression +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor -import org.jetbrains.kotlin.resolve.BindingContext -import org.jetbrains.kotlin.types.ErrorUtils -import org.jetbrains.kotlin.psi.JetPsiFactory import com.intellij.psi.PsiWhiteSpace -import org.jetbrains.kotlin.idea.util.ShortenReferences -import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.idea.caches.resolve.analyze +import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers +import org.jetbrains.kotlin.idea.util.ShortenReferences +import org.jetbrains.kotlin.psi.JetFunctionLiteralExpression +import org.jetbrains.kotlin.psi.JetPsiFactory import org.jetbrains.kotlin.psi.psiUtil.endOffset +import org.jetbrains.kotlin.resolve.BindingContext -public class SpecifyExplicitLambdaSignatureIntention : JetSelfTargetingIntention(javaClass(), "Specify explicit lambda signature") { +public class SpecifyExplicitLambdaSignatureIntention : JetSelfTargetingIntention(javaClass(), "Specify explicit lambda signature"), LowPriorityAction { override fun isApplicableTo(element: JetFunctionLiteralExpression, caretOffset: Int): Boolean { val arrow = element.getFunctionLiteral().getArrow() diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyTypeExplicitlyIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyTypeExplicitlyIntention.kt index 47d7cf3749a..25c358fb41f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyTypeExplicitlyIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyTypeExplicitlyIntention.kt @@ -16,24 +16,16 @@ package org.jetbrains.kotlin.idea.intentions -import com.google.common.collect.Lists -import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.codeInsight.template.* import com.intellij.openapi.editor.Editor -import com.intellij.openapi.project.Project import com.intellij.psi.PsiDocumentManager -import com.intellij.psi.PsiElement -import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.CallableDescriptor -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.diagnostics.Errors -import org.jetbrains.kotlin.idea.JetBundle import org.jetbrains.kotlin.idea.caches.resolve.analyze -import org.jetbrains.kotlin.idea.caches.resolve.analyzeFully import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.idea.util.ShortenReferences -import org.jetbrains.kotlin.j2k.isConstructor import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getElementTextWithContext import org.jetbrains.kotlin.resolve.BindingContext @@ -43,7 +35,7 @@ import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.types.TypeUtils import java.util.ArrayList -public class SpecifyTypeExplicitlyIntention : JetSelfTargetingIntention(javaClass(), "Specify type explicitly") { +public class SpecifyTypeExplicitlyIntention : JetSelfTargetingIntention(javaClass(), "Specify type explicitly"), LowPriorityAction { override fun isApplicableTo(element: JetCallableDeclaration, caretOffset: Int): Boolean { if (element.getContainingFile() is JetCodeFragment) return false if (element is JetFunctionLiteral) return false // TODO: should JetFunctionLiteral be JetCallableDeclaration at all? diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/DoubleBangToIfThenIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/DoubleBangToIfThenIntention.kt index 44fe3666ee1..c5ef11fde00 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/DoubleBangToIfThenIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/DoubleBangToIfThenIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.codeInsight.template.Template import com.intellij.codeInsight.template.TemplateBuilderImpl import com.intellij.codeInsight.template.TemplateEditingAdapter @@ -27,7 +28,10 @@ import org.apache.commons.lang.StringEscapeUtils.escapeJava import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention import org.jetbrains.kotlin.idea.intentions.JetTypeLookupExpression -import org.jetbrains.kotlin.idea.intentions.branchedTransformations.* +import org.jetbrains.kotlin.idea.intentions.branchedTransformations.convertToIfNotNullExpression +import org.jetbrains.kotlin.idea.intentions.branchedTransformations.convertToIfNullExpression +import org.jetbrains.kotlin.idea.intentions.branchedTransformations.introduceValueForCondition +import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isStableVariable import org.jetbrains.kotlin.lexer.JetTokens import org.jetbrains.kotlin.psi.JetPostfixExpression import org.jetbrains.kotlin.psi.JetPsiFactory @@ -35,7 +39,7 @@ import org.jetbrains.kotlin.psi.JetPsiUtil import org.jetbrains.kotlin.psi.JetThrowExpression import org.jetbrains.kotlin.resolve.bindingContextUtil.isUsedAsStatement -public class DoubleBangToIfThenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace '!!' expression with 'if' expression") { +public class DoubleBangToIfThenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace '!!' expression with 'if' expression"), LowPriorityAction { override fun applicabilityRange(element: JetPostfixExpression): TextRange? { return if (element.getOperationToken() == JetTokens.EXCLEXCL && element.getBaseExpression() != null) element.getOperationReference().getTextRange() diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/EliminateWhenSubjectIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/EliminateWhenSubjectIntention.kt index 2123b3aa3d7..8562bc284bf 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/EliminateWhenSubjectIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/EliminateWhenSubjectIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingIntention import org.jetbrains.kotlin.idea.intentions.branchedTransformations.toExpression @@ -25,7 +26,7 @@ import org.jetbrains.kotlin.psi.JetWhenExpression import org.jetbrains.kotlin.psi.buildExpression import org.jetbrains.kotlin.psi.psiUtil.startOffset -public class EliminateWhenSubjectIntention : JetSelfTargetingIntention(javaClass(), "Eliminate argument of 'when'") { +public class EliminateWhenSubjectIntention : JetSelfTargetingIntention(javaClass(), "Eliminate argument of 'when'"), LowPriorityAction { override fun isApplicableTo(element: JetWhenExpression, caretOffset: Int): Boolean { if (element.getSubjectExpression() !is JetSimpleNameExpression) return false val lBrace = element.getOpenBrace() ?: return false diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/ElvisToIfThenIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/ElvisToIfThenIntention.kt index 90710ed3340..f6b2c09343b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/ElvisToIfThenIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/ElvisToIfThenIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention @@ -26,7 +27,7 @@ import org.jetbrains.kotlin.lexer.JetTokens import org.jetbrains.kotlin.psi.JetBinaryExpression import org.jetbrains.kotlin.psi.JetPsiUtil -public class ElvisToIfThenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace elvis expression with 'if' expression") { +public class ElvisToIfThenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace elvis expression with 'if' expression"), LowPriorityAction { override fun applicabilityRange(element: JetBinaryExpression): TextRange? { return if (element.getOperationToken() == JetTokens.ELVIS && element.getLeft() != null && element.getRight() != null) element.getOperationReference().getTextRange() diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/SafeAccessToIfThenIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/SafeAccessToIfThenIntention.kt index f31158fa659..4ca847f4341 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/SafeAccessToIfThenIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/SafeAccessToIfThenIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.idea.caches.resolve.analyze @@ -26,7 +27,7 @@ import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isStableVari import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.resolve.bindingContextUtil.isUsedAsStatement -public class SafeAccessToIfThenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace safe access expression with 'if' expression") { +public class SafeAccessToIfThenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace safe access expression with 'if' expression"), LowPriorityAction { override fun applicabilityRange(element: JetSafeQualifiedExpression): TextRange? { if (element.getSelectorExpression() == null) return null return element.getOperationTokenNode().getTextRange() diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldAssignmentToIfIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldAssignmentToIfIntention.kt index 85537c02d11..daa77aff46e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldAssignmentToIfIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldAssignmentToIfIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention @@ -26,7 +27,7 @@ import org.jetbrains.kotlin.psi.JetIfExpression import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.startOffset -public class UnfoldAssignmentToIfIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace assignment with 'if' expression") { +public class UnfoldAssignmentToIfIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace assignment with 'if' expression"), LowPriorityAction { override fun applicabilityRange(element: JetBinaryExpression): TextRange? { if (element.getOperationToken() !in JetTokens.ALL_ASSIGNMENTS) return null if (element.getLeft() == null) return null diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldAssignmentToWhenIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldAssignmentToWhenIntention.kt index fa5caadd2e1..6caff2503c5 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldAssignmentToWhenIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldAssignmentToWhenIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention @@ -27,7 +28,7 @@ import org.jetbrains.kotlin.psi.JetWhenExpression import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.startOffset -public class UnfoldAssignmentToWhenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace assignment with 'when' expression" ) { +public class UnfoldAssignmentToWhenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace assignment with 'when' expression" ), LowPriorityAction { override fun applicabilityRange(element: JetBinaryExpression): TextRange? { if (element.getOperationToken() !in JetTokens.ALL_ASSIGNMENTS) return null if (element.getLeft() == null) return null diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldPropertyToIfIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldPropertyToIfIntention.kt index b0d5fc1b7bf..70f57ee6d03 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldPropertyToIfIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldPropertyToIfIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention @@ -26,7 +27,7 @@ import org.jetbrains.kotlin.psi.JetProperty import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.startOffset -public class UnfoldPropertyToIfIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace property initializer with 'if' expression") { +public class UnfoldPropertyToIfIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace property initializer with 'if' expression"), LowPriorityAction { override fun applicabilityRange(element: JetProperty): TextRange? { if (!element.isLocal()) return null val initializer = element.getInitializer() as? JetIfExpression ?: return null diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldPropertyToWhenIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldPropertyToWhenIntention.kt index 06fdec1ba96..a93c5e81ca2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldPropertyToWhenIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldPropertyToWhenIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention @@ -27,7 +28,7 @@ import org.jetbrains.kotlin.psi.JetWhenExpression import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.startOffset -public class UnfoldPropertyToWhenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace property initializer with 'when' expression") { +public class UnfoldPropertyToWhenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace property initializer with 'when' expression"), LowPriorityAction { override fun applicabilityRange(element: JetProperty): TextRange? { if (!element.isLocal()) return null val initializer = element.getInitializer() as? JetWhenExpression ?: return null diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldReturnToIfIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldReturnToIfIntention.kt index f23b866b1f0..64c1c8d3a5b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldReturnToIfIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldReturnToIfIntention.kt @@ -16,16 +16,20 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange -import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention -import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.idea.core.copied +import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention +import org.jetbrains.kotlin.psi.JetIfExpression +import org.jetbrains.kotlin.psi.JetPsiFactory +import org.jetbrains.kotlin.psi.JetReturnExpression +import org.jetbrains.kotlin.psi.createExpressionByPattern import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.lastBlockStatementOrThis import org.jetbrains.kotlin.psi.psiUtil.startOffset -public class UnfoldReturnToIfIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace return with 'if' expression") { +public class UnfoldReturnToIfIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace return with 'if' expression"), LowPriorityAction { override fun applicabilityRange(element: JetReturnExpression): TextRange? { val ifExpression = element.getReturnedExpression() as? JetIfExpression ?: return null return TextRange(element.startOffset, ifExpression.getIfKeyword().endOffset) diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldReturnToWhenIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldReturnToWhenIntention.kt index 162729f77c7..d7d5f50f7dd 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldReturnToWhenIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/UnfoldReturnToWhenIntention.kt @@ -16,17 +16,17 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange -import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention -import org.jetbrains.kotlin.idea.intentions.branchedTransformations.BranchedUnfoldingUtils -import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.idea.core.copied +import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention +import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.lastBlockStatementOrThis import org.jetbrains.kotlin.psi.psiUtil.startOffset -public class UnfoldReturnToWhenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace return with 'when' expression") { +public class UnfoldReturnToWhenIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace return with 'when' expression"), LowPriorityAction { override fun applicabilityRange(element: JetReturnExpression): TextRange? { val whenExpr = element.getReturnedExpression() as? JetWhenExpression ?: return null if (!JetPsiUtil.checkWhenExpressionHasSingleElse(whenExpr)) return null diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/WhenToIfIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/WhenToIfIntention.kt index feb27d812ef..c3ddbd4464a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/WhenToIfIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/WhenToIfIntention.kt @@ -16,13 +16,14 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention import org.jetbrains.kotlin.idea.intentions.branchedTransformations.toExpression import org.jetbrains.kotlin.psi.* -public class WhenToIfIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace 'when' with 'if'") { +public class WhenToIfIntention : JetSelfTargetingRangeIntention(javaClass(), "Replace 'when' with 'if'"), LowPriorityAction { override fun applicabilityRange(element: JetWhenExpression): TextRange? { val entries = element.getEntries() if (entries.isEmpty()) return null diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt index 642d0b25579..83f1f4ab6ef 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions.declarations +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.ScrollType import com.intellij.openapi.util.TextRange @@ -28,7 +29,7 @@ import org.jetbrains.kotlin.idea.quickfix.moveCaret import org.jetbrains.kotlin.lexer.JetTokens import org.jetbrains.kotlin.psi.* -public class ConvertMemberToExtensionIntention : JetSelfTargetingRangeIntention(javaClass(), "Convert member to extension") { +public class ConvertMemberToExtensionIntention : JetSelfTargetingRangeIntention(javaClass(), "Convert member to extension"), LowPriorityAction { override fun applicabilityRange(element: JetCallableDeclaration): TextRange? { val classBody = element.getParent() as? JetClassBody ?: return null if (classBody.getParent() !is JetClass) return null diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/SplitPropertyDeclarationIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/SplitPropertyDeclarationIntention.kt index f0fbc02c384..2645b229584 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/SplitPropertyDeclarationIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/SplitPropertyDeclarationIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions.declarations +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention @@ -23,7 +24,7 @@ import org.jetbrains.kotlin.idea.intentions.splitPropertyDeclaration import org.jetbrains.kotlin.psi.JetProperty import org.jetbrains.kotlin.psi.psiUtil.startOffset -public class SplitPropertyDeclarationIntention : JetSelfTargetingRangeIntention(javaClass(), "Split property declaration") { +public class SplitPropertyDeclarationIntention : JetSelfTargetingRangeIntention(javaClass(), "Split property declaration"), LowPriorityAction { override fun applicabilityRange(element: JetProperty): TextRange? { if (!element.isLocal()) return null val initializer = element.getInitializer() ?: return null