import things declared in __init__.py

This commit is contained in:
Dmitry Jemerov
2008-03-12 20:50:31 +03:00
parent 82678cf115
commit 3c4dd8905f
4 changed files with 15 additions and 4 deletions
@@ -90,10 +90,13 @@ public class ResolveImportUtil {
final PsiDirectory dir = (PsiDirectory)parent;
final PsiFile file = dir.findFile(referencedName + ".py");
if (file != null) return file;
return dir.findSubdirectory(referencedName);
}
else {
return null;
final PsiDirectory subdir = dir.findSubdirectory(referencedName);
if (subdir != null) return subdir;
final PsiFile initPy = dir.findFile("__init__.py");
if (initPy != null) {
return PyResolveUtil.treeWalkUp(new PyResolveUtil.ResolveProcessor(referencedName), initPy, null, importRef);
}
}
return null;
}
}
@@ -0,0 +1,2 @@
from mypackage import func
# <ref>
@@ -0,0 +1 @@
def func(): pass
@@ -68,6 +68,11 @@ public class PyMultiFileResolveTest extends CodeInsightTestCase {
assertEquals("testfile.py", ((PsiFile) element).getName());
}
public void testFromInitPyImportFunction() throws Exception {
PsiElement element = doResolve();
assertTrue(element instanceof PyFunction);
}
private PsiElement doResolve() throws Exception {
String testName = getTestName(true);
String fileName = getTestName(false) + ".py";