'Lists modules in the directory of this module (if this module is a
package).'

@memoize_default()
def _sub_modules_dict(self):

    path = self._path
    names = {}
    if ((path is not None) and path.endswith((os.path.sep + '__init__.py'))):
        mods = pkgutil.iter_modules([os.path.dirname(path)])
        for (module_loader, name, is_pkg) in mods:
            names[name] = imports.SubModuleName(self, name)
    return names
