mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
correct isReferenceTo() for references to files (PY-1514)
This commit is contained in:
@@ -291,6 +291,10 @@ public class PyReferenceImpl implements PsiReferenceEx, PsiPolyVariantReference
|
||||
}
|
||||
|
||||
public boolean isReferenceTo(PsiElement element) {
|
||||
if (element instanceof PsiFileSystemItem) {
|
||||
// may be import via alias, so don't check if names match, do simple resolve check instead
|
||||
return resolve() == element;
|
||||
}
|
||||
if (element instanceof PsiNamedElement) {
|
||||
final String elementName = ((PsiNamedElement)element).getName();
|
||||
if ((Comparing.equal(myElement.getReferencedName(), elementName) || PyNames.INIT.equals(elementName)) && !haveQualifiers(element)) {
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
import r<caret>e
|
||||
|
||||
x = re.compile('')
|
||||
@@ -59,6 +59,11 @@ public class PyFindUsagesTest extends PyLightFixtureTestCase {
|
||||
assertUsages(usages);
|
||||
}
|
||||
|
||||
public void testImports() { // PY-1514
|
||||
final Collection<UsageInfo> usages = myFixture.testFindUsages("findUsages/Imports.py");
|
||||
assertUsages(usages, "import <caret>re", "<caret>re.compile");
|
||||
}
|
||||
|
||||
private void assertUsages(Collection<UsageInfo> usages, String... usageTexts) {
|
||||
assertEquals(usageTexts.length, usages.size());
|
||||
List<UsageInfo> sortedUsages = new ArrayList<UsageInfo>(usages);
|
||||
|
||||
Reference in New Issue
Block a user