diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/branchedTransformationUtils.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/branchedTransformationUtils.kt index 6f6683c43d8..e3379c63793 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/branchedTransformationUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/branchedTransformationUtils.kt @@ -98,8 +98,8 @@ private fun KtExpression?.getWhenConditionSubjectCandidate(): KtExpression? { } } -fun KtWhenExpression.introduceSubject(): KtWhenExpression { - val subject = getSubjectToIntroduce()!! +fun KtWhenExpression.introduceSubject(): KtWhenExpression? { + val subject = getSubjectToIntroduce() ?: return null val commentSaver = CommentSaver(this, saveLineBreaks = true) diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/IfToWhenIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/IfToWhenIntention.kt index 47963522368..e478d150208 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/IfToWhenIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/branchedTransformations/intentions/IfToWhenIntention.kt @@ -192,7 +192,7 @@ class IfToWhenIntention : SelfTargetingRangeIntention(KtIfExpres if (whenExpression.getSubjectToIntroduce() != null) { - whenExpression = whenExpression.introduceSubject() + whenExpression = whenExpression.introduceSubject() ?: return } val result = ifExpression.replaced(whenExpression) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractorUtil.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractorUtil.kt index 507095e36bf..871628a5bad 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractorUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractorUtil.kt @@ -334,7 +334,7 @@ private fun makeCall( val inlinableCall = controlFlow.outputValues.size <= 1 val unboxingExpressions = if (inlinableCall) { - controlFlow.outputValueBoxer.getUnboxingExpressions(callText!!) + controlFlow.outputValueBoxer.getUnboxingExpressions(callText ?: return) } else { val varNameValidator = NewDeclarationNameValidator(block, anchorInBlock, NewDeclarationNameValidator.Target.VARIABLES)