diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ChopParameterListIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ChopParameterListIntention.kt index 0ed9025cd7a..05e3a3451bc 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ChopParameterListIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ChopParameterListIntention.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.intentions -import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiWhiteSpace @@ -32,7 +31,7 @@ abstract class AbstractChopListIntention, private val elementClass: Class, text: String -) : SelfTargetingOffsetIndependentIntention(listClass, text), LowPriorityAction { +) : SelfTargetingOffsetIndependentIntention(listClass, text) { override fun isApplicableTo(element: TList): Boolean { val elements = element.elements() diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToBlockBodyIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToBlockBodyIntention.kt index 23f1cfe2bca..3f5e3663fc9 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToBlockBodyIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToBlockBodyIntention.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.intentions -import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.psi.PsiElement import org.jetbrains.kotlin.descriptors.CallableDescriptor @@ -28,11 +27,10 @@ import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.isError import org.jetbrains.kotlin.types.typeUtil.isNothing import org.jetbrains.kotlin.types.typeUtil.isUnit -import java.lang.RuntimeException class ConvertToBlockBodyIntention : SelfTargetingIntention( - KtDeclarationWithBody::class.java, "Convert to block body" -), LowPriorityAction { + KtDeclarationWithBody::class.java, "Convert to block body" +) { override fun isApplicableTo(element: KtDeclarationWithBody, caretOffset: Int): Boolean { if (element is KtFunctionLiteral || element.hasBlockBody() || !element.hasBody()) return false @@ -66,7 +64,7 @@ class ConvertToBlockBodyIntention : SelfTargetingIntention(KtElement::class.java, "Import members with '*'"){ +class ImportAllMembersIntention : SelfTargetingIntention(KtElement::class.java, "Import members with '*'"), HighPriorityAction { override fun isApplicableTo(element: KtElement, caretOffset: Int): Boolean { val receiverExpression = element.receiverExpression() ?: return false if (!receiverExpression.range.containsOffset(caretOffset)) return false diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ImportMemberIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ImportMemberIntention.kt index 456b1f83fa0..cd9d3852bb3 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ImportMemberIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ImportMemberIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions +import com.intellij.codeInsight.intention.HighPriorityAction import com.intellij.openapi.editor.Editor import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.core.ShortenReferences @@ -34,7 +35,7 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode class ImportMemberIntention : SelfTargetingOffsetIndependentIntention( KtNameReferenceExpression::class.java, "Add import for member" -) { +), HighPriorityAction { private fun getFullQualifier(element: KtNameReferenceExpression): KtQualifiedExpression? = element.getTopmostParentOfType() diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/IntroduceVariableIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/IntroduceVariableIntention.kt index 2612bcf73b1..bc05b703627 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/IntroduceVariableIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/IntroduceVariableIntention.kt @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.idea.intentions import com.intellij.codeInsight.CodeInsightBundle +import com.intellij.codeInsight.intention.HighPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange import com.intellij.psi.PsiElement @@ -34,7 +35,7 @@ import org.jetbrains.kotlin.types.typeUtil.isUnit class IntroduceVariableIntention : SelfTargetingRangeIntention( PsiElement::class.java, CodeInsightBundle.message("intention.introduce.variable.text") -) { +), HighPriorityAction { private fun getExpressionToProcess(element: PsiElement): KtExpression? { if (element is PsiFileSystemItem) return null val startElement = PsiTreeUtil.skipSiblingsBackward(element, PsiWhiteSpace::class.java) ?: element diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/RemoveExplicitTypeIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/RemoveExplicitTypeIntention.kt index f24f3247591..421741116dd 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/RemoveExplicitTypeIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/RemoveExplicitTypeIntention.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.intentions +import com.intellij.codeInsight.intention.HighPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.descriptors.FunctionDescriptor @@ -30,7 +31,7 @@ import org.jetbrains.kotlin.types.typeUtil.isUnit class RemoveExplicitTypeIntention : SelfTargetingRangeIntention( KtCallableDeclaration::class.java, "Remove explicit type specification" -) { +), HighPriorityAction { override fun applicabilityRange(element: KtCallableDeclaration): TextRange? { return getRange(element) diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt index ec2bb92cb1c..7e3aba2c351 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.intentions -import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.psi.PsiDocumentManager import org.jetbrains.kotlin.idea.caches.resolve.analyze @@ -30,7 +29,7 @@ import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils class ReplaceItWithExplicitFunctionLiteralParamIntention : SelfTargetingOffsetIndependentIntention( KtNameReferenceExpression::class.java, "Replace 'it' with explicit parameter" -), LowPriorityAction { +) { override fun isApplicableTo(element: KtNameReferenceExpression) = isAutoCreatedItUsage(element) override fun applyTo(element: KtNameReferenceExpression, editor: Editor?) { diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyTypeExplicitlyIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyTypeExplicitlyIntention.kt index 1d2b22894d8..47bb7e49ac0 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyTypeExplicitlyIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/SpecifyTypeExplicitlyIntention.kt @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.idea.intentions import com.intellij.codeInsight.hint.HintManager +import com.intellij.codeInsight.intention.HighPriorityAction import com.intellij.codeInsight.template.* import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.editor.Editor @@ -46,7 +47,7 @@ import org.jetbrains.kotlin.utils.ifEmpty class SpecifyTypeExplicitlyIntention : SelfTargetingRangeIntention( KtCallableDeclaration::class.java, "Specify type explicitly" -) { +), HighPriorityAction { override fun applicabilityRange(element: KtCallableDeclaration): TextRange? { if (element.containingFile is KtCodeFragment) return null diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ExclExclCallFixes.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/ExclExclCallFixes.kt index 7cb65e10112..18c08596878 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ExclExclCallFixes.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ExclExclCallFixes.kt @@ -17,7 +17,9 @@ package org.jetbrains.kotlin.idea.quickfix import com.intellij.codeInsight.FileModificationService +import com.intellij.codeInsight.intention.HighPriorityAction import com.intellij.codeInsight.intention.IntentionAction +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import com.intellij.psi.PsiElement @@ -54,7 +56,7 @@ abstract class ExclExclCallFix(psiElement: PsiElement) : KotlinQuickFixAction(expression) { +) : KotlinQuickFixAction(expression), HighPriorityAction { private val nullableExpressionPointer = nullableExpression.createSmartPointer() override fun getFamilyName() = text