MoveVariableDeclarationIntoWhenInspection should move caret to subject expression
#KT-31954 Fixed
This commit is contained in:
+6
-1
@@ -15,6 +15,7 @@ import com.intellij.psi.PsiComment
|
||||
import com.intellij.psi.PsiElementVisitor
|
||||
import com.intellij.psi.PsiWhiteSpace
|
||||
import com.intellij.psi.SmartPsiElementPointer
|
||||
import org.jetbrains.kotlin.idea.core.moveCaret
|
||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isOneLiner
|
||||
import org.jetbrains.kotlin.idea.intentions.loopToCallChain.countUsages
|
||||
import org.jetbrains.kotlin.idea.intentions.loopToCallChain.previousStatement
|
||||
@@ -22,6 +23,7 @@ import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.createSmartPointer
|
||||
import org.jetbrains.kotlin.psi.psiUtil.siblings
|
||||
import org.jetbrains.kotlin.psi.psiUtil.startOffset
|
||||
|
||||
class MoveVariableDeclarationIntoWhenInspection : AbstractKotlinInspection(), CleanupLocalInspectionTool {
|
||||
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor =
|
||||
@@ -115,7 +117,10 @@ private class VariableDeclarationIntoWhenFix(
|
||||
lastChild.delete()
|
||||
}
|
||||
|
||||
subjectExpression.replace(newElement)
|
||||
val resultElement = subjectExpression.replace(newElement)
|
||||
property.delete()
|
||||
|
||||
val editor = resultElement.findExistingEditor() ?: return
|
||||
editor.moveCaret((resultElement as? KtProperty)?.nameIdentifier?.startOffset ?: resultElement.startOffset)
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
fun test() = true
|
||||
|
||||
fun foo(): Int {
|
||||
return when (test()) {
|
||||
return when (<caret>test()) {
|
||||
true -> 42
|
||||
else -> null
|
||||
} ?: 55
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
fun test() = 42
|
||||
|
||||
fun foo() {
|
||||
val b = when (val a = test()) {
|
||||
val b = when (val <caret>a = test()) {
|
||||
1 -> a
|
||||
else -> 24
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
fun test() = true
|
||||
|
||||
fun foo() {
|
||||
val b = !when (test()) {
|
||||
val b = !when (<caret>test()) {
|
||||
true -> true
|
||||
else -> false
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
fun test() = 42
|
||||
|
||||
fun foo() {
|
||||
when (val a = test()) {
|
||||
when (val <caret>a = test()) {
|
||||
1 -> a
|
||||
else -> 24
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
fun foo() {
|
||||
|
||||
// comment
|
||||
when (1) {
|
||||
when (<caret>1) {
|
||||
1 -> {
|
||||
}
|
||||
else -> {
|
||||
|
||||
Reference in New Issue
Block a user