diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ImportMemberIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ImportMemberIntention.kt index 465ea86d5ec..a6c4d2e09c2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ImportMemberIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ImportMemberIntention.kt @@ -57,11 +57,7 @@ class ImportMemberIntention : SelfTargetingOffsetIndependentIntention { qualifiedExpression -> val selector = qualifiedExpression.getQualifiedElementSelector() as? KtNameReferenceExpression ?: return@collectDescendantsOfType false - val qualifierName = qualifiedExpression.receiverExpression.getQualifiedElementSelector() as? KtNameReferenceExpression - ?: return@collectDescendantsOfType false - selector.getReferencedNameAsName() == fqName.shortName() - && qualifierName.getReferencedNameAsName() == fqName.parent().shortName() - && targetFqName(qualifiedExpression) == fqName + selector.getReferencedNameAsName() == fqName.shortName() && targetFqName(qualifiedExpression) == fqName } //TODO: not deep diff --git a/idea/testData/intentions/importMember/FromCompanionObject.kt b/idea/testData/intentions/importMember/FromCompanionObject.kt new file mode 100644 index 00000000000..f049ebcfffb --- /dev/null +++ b/idea/testData/intentions/importMember/FromCompanionObject.kt @@ -0,0 +1,9 @@ +// INTENTION_TEXT: "Add import for 'kotlin.text.Regex.Companion.escape'" +// WITH_RUNTIME + +import kotlin.text.Regex + +fun foo() { + Regex.escape("") + Regex.Companion.escape("") +} \ No newline at end of file diff --git a/idea/testData/intentions/importMember/FromCompanionObject.kt.after b/idea/testData/intentions/importMember/FromCompanionObject.kt.after new file mode 100644 index 00000000000..8d4e3ce01fd --- /dev/null +++ b/idea/testData/intentions/importMember/FromCompanionObject.kt.after @@ -0,0 +1,10 @@ +// INTENTION_TEXT: "Add import for 'kotlin.text.Regex.Companion.escape'" +// WITH_RUNTIME + +import kotlin.text.Regex +import kotlin.text.Regex.Companion.escape + +fun foo() { + escape("") + escape("") +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index 9b6d1909121..6167d831e90 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -5112,6 +5112,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest { doTest(fileName); } + @TestMetadata("FromCompanionObject.kt") + public void testFromCompanionObject() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/importMember/FromCompanionObject.kt"); + doTest(fileName); + } + @TestMetadata("NoTarget.kt") public void testNoTarget() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/importMember/NoTarget.kt");