diff --git a/jedi/inference/compiled/mixed.py b/jedi/inference/compiled/mixed.py index 9ac68486..9a760586 100644 --- a/jedi/inference/compiled/mixed.py +++ b/jedi/inference/compiled/mixed.py @@ -21,7 +21,8 @@ from jedi.inference.compiled.access import compiled_objects_cache, \ ALLOWED_GETITEM_TYPES, get_api_type from jedi.inference.compiled.value import create_cached_compiled_object from jedi.inference.gradual.conversion import to_stub -from jedi.inference.context import CompiledContext, TreeContextMixin +from jedi.inference.context import CompiledContext, CompiledModuleContext, \ + TreeContextMixin _sentinel = object() @@ -72,6 +73,8 @@ class MixedObject(ValueWrapper): raise SimpleGetItemNotFound def _as_context(self): + if self.parent_context is None: + return MixedModuleContext(self) return MixedContext(self) def __repr__(self): @@ -87,6 +90,10 @@ class MixedContext(CompiledContext, TreeContextMixin): return self._value.compiled_object +class MixedModuleContext(CompiledModuleContext, MixedContext): + pass + + class MixedName(compiled.CompiledName): """ The ``CompiledName._compiled_object`` is our MixedObject.