Fix RemoveUselessIsCheckFixForWhen - don't assert psi state in quick fixes (EA-141206)

This commit is contained in:
Nikolay Krasko
2019-04-09 15:15:55 +03:00
parent 55b2a7d051
commit bc258fa856
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.idea.quickfix
import com.intellij.openapi.editor.Editor
import com.intellij.openapi.project.Project
import com.intellij.psi.util.PsiTreeUtil
import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
@@ -37,7 +36,8 @@ class RemoveUselessIsCheckFixForWhen(element: KtWhenConditionIsPattern) : Kotlin
condition.parent.delete()
} else {
whenExpression.entries.dropWhile { it != whenEntry }.forEach { it.delete() }
val newEntry = KtPsiFactory(project).createWhenEntry("else -> ${whenEntry.expression!!.text}")
val whenEntryExpression = whenEntry.expression ?: return
val newEntry = KtPsiFactory(project).createWhenEntry("else -> ${whenEntryExpression.text}")
whenExpression.addBefore(newEntry, whenExpression.closeBrace)
}
}