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 48a5fd4a47a..4cd7dd1cd7a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/SplitPropertyDeclarationIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/SplitPropertyDeclarationIntention.kt @@ -17,12 +17,17 @@ package org.jetbrains.kotlin.idea.intentions.declarations import com.intellij.openapi.editor.Editor -import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingOffsetIndependentIntention +import com.intellij.openapi.util.TextRange +import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention import org.jetbrains.kotlin.idea.intentions.splitPropertyDeclaration import org.jetbrains.kotlin.psi.JetProperty -public class SplitPropertyDeclarationIntention : JetSelfTargetingOffsetIndependentIntention(javaClass(), "Split property declaration") { - override fun isApplicableTo(element: JetProperty): Boolean = element.hasInitializer() && element.isLocal() +public class SplitPropertyDeclarationIntention : JetSelfTargetingRangeIntention(javaClass(), "Split property declaration") { + override fun applicabilityRange(element: JetProperty): TextRange? { + if (!element.isLocal()) return null + val initializer = element.getInitializer() ?: return null + return TextRange(element.getTextRange().getStartOffset(), initializer.getTextRange().getStartOffset()) + } override fun applyTo(element: JetProperty, editor: Editor) { splitPropertyDeclaration(element)