diff --git a/jedi/parser/representation.py b/jedi/parser/representation.py index b85f2fb3..b9eb7100 100644 --- a/jedi/parser/representation.py +++ b/jedi/parser/representation.py @@ -396,6 +396,9 @@ class Module(IsScope): For isinstance checks. fast_parser.Module also inherits from this. """ + def scope_names_generator(self, position=None): + yield self, filter_after_position(self.get_defined_names(), position) + class SubModule(Scope, Module): """ diff --git a/test/test_parser/test_representation.py b/test/test_parser/test_representation.py index 850f1e3b..ef1a33eb 100644 --- a/test/test_parser/test_representation.py +++ b/test/test_parser/test_representation.py @@ -1,4 +1,5 @@ from jedi.parser import Parser +from jedi.parser import representation as pr from jedi._compatibility import u @@ -6,3 +7,7 @@ def test_import_is_nested(): imp = Parser(u('import ')).module.imports[0] # should not raise an error, even if it's not a complete import assert not imp.is_nested() + + +def test_module_scope_name_generator(): + assert pr.Module().scope_names_generator()