diff --git a/jedi/inference/compiled/value.py b/jedi/inference/compiled/value.py index f468fb8b..e493750f 100644 --- a/jedi/inference/compiled/value.py +++ b/jedi/inference/compiled/value.py @@ -17,7 +17,7 @@ from jedi.inference.compiled.access import _sentinel from jedi.inference.cache import inference_state_function_cache from jedi.inference.helpers import reraise_getitem_errors from jedi.inference.signature import BuiltinSignature -from jedi.inference.context import CompiledContext +from jedi.inference.context import CompiledContext, CompiledModuleContext class CheckAttribute(object): @@ -271,6 +271,8 @@ class CompiledObject(Value): return NO_VALUES def _as_context(self): + if self.parent_context is None: + return CompiledModuleContext(self) return CompiledContext(self) diff --git a/jedi/inference/context.py b/jedi/inference/context.py index 9b97e912..da8ad781 100644 --- a/jedi/inference/context.py +++ b/jedi/inference/context.py @@ -378,9 +378,15 @@ class CompiledContext(ValueContext): def get_filters(self, until_position=None, origin_scope=None): return self._value.get_filters() + +class CompiledModuleContext(CompiledContext): def get_value(self): return self._value + @property + def string_names(self): + return self._value.string_names + def py__file__(self): return self._value.py__file__()