From c4f0c7940f843116cc8bf66283b82a4897e30aa5 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sun, 19 May 2019 14:22:03 +0200 Subject: [PATCH] Remove MODULE_CLASS in favor of a typeshed solution --- jedi/evaluate/compiled/access.py | 1 - jedi/evaluate/context/module.py | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) 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