From e7685735bb14c60184bde0ec126c9de542515b92 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Mon, 25 Jan 2016 20:25:21 +0300 Subject: [PATCH] KtUnaryExpression.baseExpression may be null (EA-78379) --- .../src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt | 3 ++- .../kotlin/idea/intentions/OperatorToFunctionIntention.kt | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt index 544067407ae..7e73702490e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt @@ -116,7 +116,7 @@ fun KtSimpleNameExpression.getReceiverExpression(): KtExpression? { return if (parent.getOperationToken() in OperatorConventions.IN_OPERATIONS) parent.right else parent.left } parent is KtUnaryExpression && parent.operationReference == this -> { - return parent.baseExpression!! + return parent.baseExpression } parent is KtUserType -> { val qualifier = parent.getQualifier() @@ -125,6 +125,7 @@ fun KtSimpleNameExpression.getReceiverExpression(): KtExpression? { } } } + return null } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/intentions/OperatorToFunctionIntention.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/intentions/OperatorToFunctionIntention.kt index 1c1c2921d37..dee3edb5131 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/intentions/OperatorToFunctionIntention.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/intentions/OperatorToFunctionIntention.kt @@ -245,7 +245,9 @@ class OperatorToFunctionIntention : SelfTargetingIntention(KtExpre findCallName(result.left!!) } - is KtUnaryExpression -> findCallName(result.baseExpression!!) + is KtUnaryExpression -> { + result.baseExpression?.let { findCallName(it) } + } else -> result.getQualifiedElementSelector() as KtSimpleNameExpression? }