From f069e74065e28bafbb51af5df668990e61cca9af Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 4 May 2010 16:49:58 +0400 Subject: [PATCH] a qualified reference is not a reference to an unqualified element with the same name (PY-939) --- .../jetbrains/python/psi/impl/PyQualifiedReferenceImpl.java | 2 +- python/testData/findUsages/QualifiedVsUnqualifiedUsages.py | 3 +++ python/testSrc/com/jetbrains/python/PyFindUsagesTest.java | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 python/testData/findUsages/QualifiedVsUnqualifiedUsages.py diff --git a/python/src/com/jetbrains/python/psi/impl/PyQualifiedReferenceImpl.java b/python/src/com/jetbrains/python/psi/impl/PyQualifiedReferenceImpl.java index 1fb2476efbe6..3d760883c3cb 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyQualifiedReferenceImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/PyQualifiedReferenceImpl.java @@ -134,7 +134,7 @@ public class PyQualifiedReferenceImpl extends PyReferenceImpl { @Override public boolean isReferenceTo(PsiElement element) { - if (super.isReferenceTo(element)) { + if (resolve() == element) { return true; } final String referencedName = myElement.getReferencedName(); diff --git a/python/testData/findUsages/QualifiedVsUnqualifiedUsages.py b/python/testData/findUsages/QualifiedVsUnqualifiedUsages.py new file mode 100644 index 000000000000..9d096014131a --- /dev/null +++ b/python/testData/findUsages/QualifiedVsUnqualifiedUsages.py @@ -0,0 +1,3 @@ +class Spam(object): + def eggs(self, parrot): + self.parrot = parrot diff --git a/python/testSrc/com/jetbrains/python/PyFindUsagesTest.java b/python/testSrc/com/jetbrains/python/PyFindUsagesTest.java index 418627f79868..67cdcf73d77e 100644 --- a/python/testSrc/com/jetbrains/python/PyFindUsagesTest.java +++ b/python/testSrc/com/jetbrains/python/PyFindUsagesTest.java @@ -28,4 +28,9 @@ public class PyFindUsagesTest extends PyLightFixtureTestCase { final Collection usages = myFixture.testFindUsages("findUsages/ImplicitlyResolvedUsages.py"); assertEquals(1, usages.size()); } + + public void testQualifiedVsUnqualifiedUsages() { // PY-939 + final Collection usages = myFixture.testFindUsages("findUsages/QualifiedVsUnqualifiedUsages.py"); + assertEquals(1, usages.size()); + } }