From 4d0cbf83d37a8d655e637a663a0acb8291f320d8 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Tue, 8 Sep 2015 18:39:37 +0300 Subject: [PATCH] Quick Fixes: Avoid premature write action when calling Change Signature in interactive mode #KT-8722 Fixed --- .../idea/intentions/ConvertParameterToReceiverIntention.kt | 2 ++ .../idea/intentions/ConvertReceiverToParameterIntention.kt | 2 ++ .../jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt | 2 -- .../createVariable/CreateParameterFromUsageFix.kt | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt index cb680e84dee..add488b49f1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt @@ -45,6 +45,8 @@ public class ConvertParameterToReceiverIntention : JetSelfTargetingIntention() ?: return val parameterIndex = function.getValueParameters().indexOf(element) diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReceiverToParameterIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReceiverToParameterIntention.kt index 359c3f2b13f..9a50a32ec7d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReceiverToParameterIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReceiverToParameterIntention.kt @@ -41,6 +41,8 @@ public class ConvertReceiverToParameterIntention : JetSelfTargetingOffsetIndepen } } + override fun startInWriteAction() = false + override fun applyTo(element: JetTypeReference, editor: Editor) { val function = element.getParent() as? JetNamedFunction ?: return val context = function.analyze() diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt index db3852ea569..c6630bdffd9 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt @@ -75,8 +75,6 @@ public class AddFunctionParametersFix( return newParametersCnt > 0 } - override fun startInWriteAction() = true - override fun invoke(project: Project, editor: Editor?, file: JetFile) { runChangeSignature(project, functionDescriptor, addParameterConfiguration(), callElement.analyzeFully(), callElement, text) } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterFromUsageFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterFromUsageFix.kt index 4bbfef603a8..5a26bb30c2a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterFromUsageFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterFromUsageFix.kt @@ -37,6 +37,8 @@ public class CreateParameterFromUsageFix( return JetBundle.message("create.parameter.from.usage", parameterInfo.name) } + override fun startInWriteAction() = false + override fun invoke(project: Project, editor: Editor?, file: JetFile) { val config = object : JetChangeSignatureConfiguration { override fun configure(originalDescriptor: JetMethodDescriptor, bindingContext: BindingContext): JetMethodDescriptor {