diff --git a/plugins/kotlin/base/fe10/analysis/src/org/jetbrains/kotlin/idea/references/referenceUtil.kt b/plugins/kotlin/base/fe10/analysis/src/org/jetbrains/kotlin/idea/references/referenceUtil.kt index 64a0423a66a9..208c9d4878a6 100644 --- a/plugins/kotlin/base/fe10/analysis/src/org/jetbrains/kotlin/idea/references/referenceUtil.kt +++ b/plugins/kotlin/base/fe10/analysis/src/org/jetbrains/kotlin/idea/references/referenceUtil.kt @@ -85,7 +85,7 @@ fun KtReference.canBeResolvedViaImport(target: DeclarationDescriptor, bindingCon if (this is KDocReference) { val qualifier = element.getQualifier() ?: return true return if (target.isExtension) { - val elementHasFunctionDescriptor = element.resolveMainReferenceToDescriptors().any { it is FunctionDescriptor } + val elementHasFunctionDescriptor = element.resolveMainReferenceToDescriptors().any { it is CallableDescriptor } val qualifierHasClassDescriptor = qualifier.resolveMainReferenceToDescriptors().any { it is ClassDescriptor } elementHasFunctionDescriptor && qualifierHasClassDescriptor } else { diff --git a/plugins/kotlin/code-insight/inspections-shared/tests/testData/inspections/unusedImport/basic/kDocReferences_qualifiedExtensions.Dependency.kt b/plugins/kotlin/code-insight/inspections-shared/tests/testData/inspections/unusedImport/basic/kDocReferences_qualifiedExtensions.Dependency.kt new file mode 100644 index 000000000000..590d23541418 --- /dev/null +++ b/plugins/kotlin/code-insight/inspections-shared/tests/testData/inspections/unusedImport/basic/kDocReferences_qualifiedExtensions.Dependency.kt @@ -0,0 +1,7 @@ +package kDocReferences_qualifiedExtensions.dependency + +class Foo + +fun Foo.extensionFunction() {} + +val Foo.extensionProperty: String get() = "extension property" diff --git a/plugins/kotlin/code-insight/inspections-shared/tests/testData/inspections/unusedImport/basic/kDocReferences_qualifiedExtensions.kt b/plugins/kotlin/code-insight/inspections-shared/tests/testData/inspections/unusedImport/basic/kDocReferences_qualifiedExtensions.kt new file mode 100644 index 000000000000..47ed2a217a26 --- /dev/null +++ b/plugins/kotlin/code-insight/inspections-shared/tests/testData/inspections/unusedImport/basic/kDocReferences_qualifiedExtensions.kt @@ -0,0 +1,11 @@ +package kDocReferences_qualifiedExtensions + +import kDocReferences_qualifiedExtensions.dependency.Foo +import kDocReferences_qualifiedExtensions.dependency.extensionFunction +import kDocReferences_qualifiedExtensions.dependency.extensionProperty + +/** + * Reference to [Foo.extensionFunction] + * Reference to [Foo.extensionProperty] + */ +fun foo() {} diff --git a/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/imports/ReferencedSymbol.kt b/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/imports/ReferencedSymbol.kt index 344b73206707..25975841c618 100644 --- a/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/imports/ReferencedSymbol.kt +++ b/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/imports/ReferencedSymbol.kt @@ -211,7 +211,7 @@ private fun canBeResolvedViaImport(reference: KDocReference, target: KaSymbol): val qualifier = reference.element.getQualifier() ?: return true return if (target is KaCallableSymbol && target.isExtension) { - val elementHasFunctionDescriptor = reference.element.mainReference.resolveToSymbols().any { it is KaFunctionSymbol } + val elementHasFunctionDescriptor = reference.element.mainReference.resolveToSymbols().any { it is KaCallableSymbol } val qualifierHasClassDescriptor = qualifier.mainReference.resolveToSymbols().any { it is KaClassLikeSymbol } elementHasFunctionDescriptor && qualifierHasClassDescriptor } else {