diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReference.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReference.kt index 9974c559bb4..8070756a809 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReference.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReference.kt @@ -18,7 +18,8 @@ package org.jetbrains.kotlin.idea.references import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.descriptors.DeclarationDescriptor -import org.jetbrains.kotlin.descriptors.PropertyDescriptor +import org.jetbrains.kotlin.descriptors.VariableDescriptorWithAccessors +import org.jetbrains.kotlin.descriptors.accessors import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtProperty import org.jetbrains.kotlin.psi.KtPropertyDelegate @@ -36,7 +37,7 @@ class KtPropertyDelegationMethodsReference(element: KtPropertyDelegate) : KtMult override fun getTargetDescriptors(context: BindingContext): Collection { val property = expression.getStrictParentOfType() ?: return emptyList() - val descriptor = context[BindingContext.DECLARATION_TO_DESCRIPTOR, property] as? PropertyDescriptor ?: return emptyList() + val descriptor = context[BindingContext.DECLARATION_TO_DESCRIPTOR, property] as? VariableDescriptorWithAccessors ?: return emptyList() return (descriptor.accessors.mapNotNull { accessor -> context.get(BindingContext.DELEGATED_PROPERTY_RESOLVED_CALL, accessor)?.candidateDescriptor diff --git a/idea/testData/inspections/unusedImport/noUnusedImportForLocalVarDelegate.Dependency.kt b/idea/testData/inspections/unusedImport/noUnusedImportForLocalVarDelegate.Dependency.kt new file mode 100644 index 00000000000..e1e8b2f6530 --- /dev/null +++ b/idea/testData/inspections/unusedImport/noUnusedImportForLocalVarDelegate.Dependency.kt @@ -0,0 +1,5 @@ +package foo + +import kotlin.reflect.KProperty + +operator fun String.getValue(nothing: Nothing?, property: KProperty<*>) = "" \ No newline at end of file diff --git a/idea/testData/inspections/unusedImport/noUnusedImportForLocalVarDelegate.kt b/idea/testData/inspections/unusedImport/noUnusedImportForLocalVarDelegate.kt new file mode 100644 index 00000000000..91fbc8d9473 --- /dev/null +++ b/idea/testData/inspections/unusedImport/noUnusedImportForLocalVarDelegate.kt @@ -0,0 +1,7 @@ +package bar + +import foo.getValue + +fun foo() { + val x : String by "" +} \ No newline at end of file