diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/SurroundWithNullCheckFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/SurroundWithNullCheckFix.kt index 85bf0ec6c6d..4ff690ea40b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/SurroundWithNullCheckFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/SurroundWithNullCheckFix.kt @@ -64,14 +64,16 @@ class SurroundWithNullCheckFix( else -> return null } as? KtReferenceExpression ?: return null - val context = expression.analyze() - val nullableType = nullableExpression.getType(context) ?: return null - val containingDescriptor = nullableExpression.getResolutionScope(context, expression.getResolutionFacade()).ownerDescriptor - val dataFlowValue = DataFlowValueFactory.createDataFlowValue(nullableExpression, nullableType, context, containingDescriptor) - if (!dataFlowValue.isPredictable) return null + if (!nullableExpression.isPredictable()) return null return SurroundWithNullCheckFix(expression, nullableExpression) } } +} -} \ No newline at end of file +private fun KtExpression.isPredictable(): Boolean { + val context = this.analyze() + val nullableType = this.getType(context) ?: return false + val containingDescriptor = this.getResolutionScope(context, this.getResolutionFacade()).ownerDescriptor + return DataFlowValueFactory.createDataFlowValue(this, nullableType, context, containingDescriptor).isPredictable +}