diff --git a/jedi/evaluate/compiled/access.py b/jedi/evaluate/compiled/access.py index ff4e7d08..ae94b0a7 100644 --- a/jedi/evaluate/compiled/access.py +++ b/jedi/evaluate/compiled/access.py @@ -442,7 +442,6 @@ def _is_class_instance(obj): class _SPECIAL_OBJECTS(object): BOUND_METHOD_CLASS = type(DirectObjectAccess(None, None).py__bool__) - MODULE_CLASS = types.ModuleType def get_special_object(evaluator, identifier): diff --git a/jedi/evaluate/context/module.py b/jedi/evaluate/context/module.py index a5439992..6a472e6d 100644 --- a/jedi/evaluate/context/module.py +++ b/jedi/evaluate/context/module.py @@ -8,6 +8,7 @@ from jedi.evaluate.filters import GlobalNameFilter, ParserTreeFilter, DictFilter from jedi.evaluate import compiled from jedi.evaluate.base_context import TreeContext from jedi.evaluate.names import SubModuleName +from jedi.evaluate.helpers import contexts_from_qualified_names logger = logging.getLogger(__name__) @@ -104,7 +105,8 @@ class ModuleMixin(SubModuleDictMixin): yield star_filter def py__class__(self): - return compiled.get_special_object(self.evaluator, u'MODULE_CLASS') + c, = contexts_from_qualified_names(self.evaluator, 'types', 'ModuleType') + return c def is_module(self): return True