diff --git a/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackages.kt b/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackages.kt index 66441d32766e..4e3bf9cb5648 100644 --- a/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackages.kt +++ b/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackages.kt @@ -54,7 +54,7 @@ fun findStubPackage(dir: PsiDirectory, // see comment about case sensitivity in com.jetbrains.python.psi.resolve.ResolveImportUtil.resolveInDirectory if (stubPackage?.name == stubPackageName && (!checkForPackage || PyUtil.isPackage(stubPackage, dir))) { - stubPackage.putUserData(STUB_PACKAGE_KEY, true) + doTransferStubPackageMarker(stubPackage) return stubPackage } } @@ -74,10 +74,15 @@ fun transferStubPackageMarker(dir: PsiDirectory, resolvedSubmodule: PsiFile): Ps * Puts special mark to dir resolved in stub package. */ fun transferStubPackageMarker(dir: PsiDirectory, resolvedSubdir: PsiDirectory): PsiDirectory { - if (dir.getUserData(STUB_PACKAGE_KEY) == true) resolvedSubdir.putUserData(STUB_PACKAGE_KEY, true) + if (dir.getUserData(STUB_PACKAGE_KEY) == true) doTransferStubPackageMarker(resolvedSubdir) return resolvedSubdir } +private fun doTransferStubPackageMarker(resolvedSubdir: PsiDirectory) { + resolvedSubdir.putUserData(STUB_PACKAGE_KEY, true) + PyUtil.turnDirIntoInit(resolvedSubdir)?.putUserData(STUB_PACKAGE_KEY, true) +} + /** * Filters resolved elements according to their import priority in sys.path and * [PEP 561](https://www.python.org/dev/peps/pep-0561/#type-checker-module-resolution-order) rules.