diff --git a/jedi/inference/value/module.py b/jedi/inference/value/module.py index e411bf59..e89035e6 100644 --- a/jedi/inference/value/module.py +++ b/jedi/inference/value/module.py @@ -101,7 +101,7 @@ class ModuleMixin(SubModuleDictMixin): parent_context=self.as_context(), origin_scope=origin_scope ), - GlobalNameFilter(self, self.tree_node), + GlobalNameFilter(self.as_context(), self.tree_node), ) yield DictFilter(self.sub_modules_dict()) yield DictFilter(self._module_attributes_dict()) diff --git a/test/completion/basic.py b/test/completion/basic.py index 91e7f336..2c2be9b6 100644 --- a/test/completion/basic.py +++ b/test/completion/basic.py @@ -188,6 +188,14 @@ def init_global_var_predefined(): global_var_predefined +def global_as_import(): + from import_tree import globals + #? ['foo'] + globals.foo + #? int() + globals.foo + + # ----------------- # within docstrs # ----------------- diff --git a/test/completion/import_tree/globals.py b/test/completion/import_tree/globals.py new file mode 100644 index 00000000..492f652a --- /dev/null +++ b/test/completion/import_tree/globals.py @@ -0,0 +1,5 @@ + + +def something(): + global foo + foo = 3 diff --git a/test/completion/on_import.py b/test/completion/on_import.py index 203b8b9b..6840df3d 100644 --- a/test/completion/on_import.py +++ b/test/completion/on_import.py @@ -75,7 +75,7 @@ from import_tree.pkg.mod1 import not_existant, # whitespace before from import_tree.pkg.mod1 import not_existant, #? 22 ['mod1'] from import_tree.pkg. import mod1 -#? 17 ['mod1', 'mod2', 'random', 'pkg', 'rename1', 'rename2', 'classes', 'recurse_class1', 'recurse_class2', 'invisible_pkg', 'flow_import'] +#? 17 ['mod1', 'mod2', 'random', 'pkg', 'rename1', 'rename2', 'classes', 'globals', 'recurse_class1', 'recurse_class2', 'invisible_pkg', 'flow_import'] from import_tree. import pkg #? 18 ['pkg']