From 454a8474f1b57dd1dc5d57bd516f7ddfef79670d Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 15 Apr 2016 19:18:44 +0300 Subject: [PATCH] Write Action: Add write action for template finish processor (KT-11418) --- .../KotlinVariableInplaceIntroducer.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/KotlinVariableInplaceIntroducer.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/KotlinVariableInplaceIntroducer.kt index 3597bd48192..05c3f845578 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/KotlinVariableInplaceIntroducer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/KotlinVariableInplaceIntroducer.kt @@ -32,6 +32,7 @@ import org.jetbrains.kotlin.idea.intentions.SpecifyTypeExplicitlyIntention import org.jetbrains.kotlin.idea.refactoring.introduce.AbstractKotlinInplaceIntroducer import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.idea.util.application.executeWriteCommand +import org.jetbrains.kotlin.idea.util.application.runWriteAction import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.psi.KtProperty @@ -146,11 +147,14 @@ class KotlinVariableInplaceIntroducer( override fun performIntroduce() { val newName = inputName ?: return - addedVariable.setName(newName) val replacement = KtPsiFactory(myProject).createExpression(newName) - occurrences.forEach { - if (it.isValid) { - it.replace(replacement) + + runWriteAction { + addedVariable.setName(newName) + occurrences.forEach { + if (it.isValid) { + it.replace(replacement) + } } } }