diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/referenceUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/referenceUtil.kt index e2ddfd7dd4d..dcbd12b8d24 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/referenceUtil.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/referenceUtil.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.references -import com.intellij.ide.scratch.ScratchUtil import com.intellij.psi.* import org.jetbrains.kotlin.asJava.unwrapped import org.jetbrains.kotlin.builtins.isExtensionFunctionType @@ -264,13 +263,13 @@ fun KtExpression.readWriteAccessWithFullExpression(useResolveForReadWrite: Boole fun KtReference.canBeResolvedViaImport(target: DeclarationDescriptor, bindingContext: BindingContext): Boolean { if (this is KDocReference) return element.getQualifiedName().size == 1 - val referenceExpression = this.element as? KtNameReferenceExpression ?: return false - return referenceExpression.canBeResolvedViaImport(target, bindingContext) + return element.canBeResolvedViaImport(target, bindingContext) } -fun KtSimpleNameExpression.canBeResolvedViaImport(target: DeclarationDescriptor, bindingContext: BindingContext): Boolean { +fun KtElement.canBeResolvedViaImport(target: DeclarationDescriptor, bindingContext: BindingContext): Boolean { if (!target.canBeReferencedViaImport()) return false if (target.isExtension) return true // assume that any type of reference can use imports when resolved to extension + if (this !is KtNameReferenceExpression) return false val callTypeAndReceiver = CallTypeAndReceiver.detect(this) if (callTypeAndReceiver.receiver != null) {