From ddcbe140aa7ee46732938d4b693a39a088c8c649 Mon Sep 17 00:00:00 2001 From: Dennis Ushakov Date: Tue, 26 Jan 2010 18:10:57 +0300 Subject: [PATCH] PY-255 parse __init__.py for * imports --- .../python/psi/impl/PyFromImportStatementImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python/src/com/jetbrains/python/psi/impl/PyFromImportStatementImpl.java b/python/src/com/jetbrains/python/psi/impl/PyFromImportStatementImpl.java index b3b7a65ede87..eb2b9f7c6e9c 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyFromImportStatementImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/PyFromImportStatementImpl.java @@ -17,7 +17,9 @@ package com.jetbrains.python.psi.impl; import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiFile; import com.intellij.psi.ResolveState; import com.intellij.psi.scope.PsiScopeProcessor; import com.intellij.psi.tree.TokenSet; @@ -104,7 +106,10 @@ public class PyFromImportStatementImpl extends PyElementImpl implements PyFromIm PyReferenceExpression expr = getImportSource(); if (expr != null) { final PsiElement importedFile = ResolveImportUtil.resolveImportReference(expr); - if (importedFile != null) { + if (importedFile instanceof PsiDirectory) { + PsiFile file = ((PsiDirectory)importedFile).findFile(PyNames.INIT_DOT_PY); + if (file != null) return file.processDeclarations(processor, state, null, place); + } else if (importedFile != null) { return importedFile.processDeclarations(processor, state, null, place); } }