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" "Replace 'if' expression with elvis expression"
) { ) {
private fun IfThenToSelectData.clausesReplaceableByElvis() = private fun IfThenToSelectData.clausesReplaceableByElvis(): Boolean {
baseClause != null && negatedClause != null && if (baseClause == null || negatedClause == null || negatedClause.isNullOrBlockExpression()) return false
!negatedClause.isNullOrBlockExpression() && if (negatedClause is KtThrowExpression && negatedClause.throwsNullPointerExceptionWithNoArguments()) return false
(baseClause.evaluatesTo(receiverExpression) || return baseClause.evaluatesTo(receiverExpression) ||
baseClause.hasFirstReceiverOf(receiverExpression) && !baseClause.hasNullableType(context)) && baseClause.hasFirstReceiverOf(receiverExpression) && !baseClause.hasNullableType(context)
!(negatedClause is KtThrowExpression && negatedClause.throwsNullPointerExceptionWithNoArguments()) }
override fun isApplicableTo(element: KtIfExpression): Boolean { override fun isApplicableTo(element: KtIfExpression): Boolean {
val ifThenToSelectData = element.buildSelectTransformationData() ?: return false val ifThenToSelectData = element.buildSelectTransformationData() ?: return false