Minor refactoring: IfThenToSelectData.clausesReplaceableByElvis

This commit is contained in:
Mikhail Glukhikh
2017-05-04 17:47:18 +03:00
parent f3ee5ea45f
commit 781a45c747
@@ -40,12 +40,12 @@ class IfThenToElvisIntention : SelfTargetingOffsetIndependentIntention<KtIfExpre
"Replace 'if' expression with elvis expression"
) {
private fun IfThenToSelectData.clausesReplaceableByElvis() =
baseClause != null && negatedClause != null &&
!negatedClause.isNullOrBlockExpression() &&
(baseClause.evaluatesTo(receiverExpression) ||
baseClause.hasFirstReceiverOf(receiverExpression) && !baseClause.hasNullableType(context)) &&
!(negatedClause is KtThrowExpression && negatedClause.throwsNullPointerExceptionWithNoArguments())
private fun IfThenToSelectData.clausesReplaceableByElvis(): Boolean {
if (baseClause == null || negatedClause == null || negatedClause.isNullOrBlockExpression()) return false
if (negatedClause is KtThrowExpression && negatedClause.throwsNullPointerExceptionWithNoArguments()) return false
return baseClause.evaluatesTo(receiverExpression) ||
baseClause.hasFirstReceiverOf(receiverExpression) && !baseClause.hasNullableType(context)
}
override fun isApplicableTo(element: KtIfExpression): Boolean {
val ifThenToSelectData = element.buildSelectTransformationData() ?: return false