From 1730069d5ea5d83697571dc41ffb321e28bdcfa5 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Sun, 18 Oct 2015 10:57:46 +0300 Subject: [PATCH] Corrected implementation of DeclarationDescriptor.canBeReferencedViaImport() to include object members --- .../src/org/jetbrains/kotlin/idea/util/ImportsUtils.kt | 2 +- .../copyPaste/imports/ClassObjectFunInsideClass.expected.kt | 5 +++-- .../imports/ClassObjectFunInsideClass.expected.names | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/idea/ide-common/src/org/jetbrains/kotlin/idea/util/ImportsUtils.kt b/idea/ide-common/src/org/jetbrains/kotlin/idea/util/ImportsUtils.kt index 1fcc1fb8175..79637343079 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/idea/util/ImportsUtils.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/idea/util/ImportsUtils.kt @@ -47,7 +47,7 @@ public fun DeclarationDescriptor.canBeReferencedViaImport(): Boolean { return when (this) { is ConstructorDescriptor -> !parentClass.isInner() // inner class constructors can't be referenced via import is ClassDescriptor -> true - else -> false + else -> parentClass.kind == ClassKind.OBJECT } } diff --git a/idea/testData/copyPaste/imports/ClassObjectFunInsideClass.expected.kt b/idea/testData/copyPaste/imports/ClassObjectFunInsideClass.expected.kt index f235960b69c..c0e75c9578e 100644 --- a/idea/testData/copyPaste/imports/ClassObjectFunInsideClass.expected.kt +++ b/idea/testData/copyPaste/imports/ClassObjectFunInsideClass.expected.kt @@ -1,6 +1,7 @@ -// ERROR: Unresolved reference: f package to +import a.A + fun g() { - f() + A.f() } \ No newline at end of file diff --git a/idea/testData/copyPaste/imports/ClassObjectFunInsideClass.expected.names b/idea/testData/copyPaste/imports/ClassObjectFunInsideClass.expected.names index e69de29bb2d..e72b3cd1f8d 100644 --- a/idea/testData/copyPaste/imports/ClassObjectFunInsideClass.expected.names +++ b/idea/testData/copyPaste/imports/ClassObjectFunInsideClass.expected.names @@ -0,0 +1 @@ +a.A.Companion.f \ No newline at end of file