@NotNull private static List<RatedResolveResult> resolveInDirectory( @NotNull final String referencedName, @Nullable final PsiFile containingFile, final PsiDirectory dir, boolean isFileOnly, boolean checkForPackage) { final PsiDirectory subdir = dir.findSubdirectory(referencedName); if (subdir != null && (!checkForPackage || PyUtil.isPackage(subdir, containingFile))) { return ResolveResultList.to(subdir); } final PsiFile module = findPyFileInDir(dir, referencedName); if (module != null) { return ResolveResultList.to(module); } if (!isFileOnly) { // not a subdir, not a file; could be a name in parent/__init__.py final PsiFile initPy = dir.findFile(PyNames.INIT_DOT_PY); if (initPy == containingFile) { return Collections.emptyList(); // don't dive into the file we're in } if (initPy instanceof PyFile) { return ((PyFile) initPy).multiResolveName(referencedName); } } return Collections.emptyList(); }