diff --git a/jedi/api_classes.py b/jedi/api_classes.py index fcdce8dd..926ea9a3 100644 --- a/jedi/api_classes.py +++ b/jedi/api_classes.py @@ -364,7 +364,7 @@ class Definition(BaseDefinition): :rtype: list of Definition """ - return get_definitions(self._parser.scope) + return get_definitions(self.definition) def get_definitions(scope): diff --git a/test/regression.py b/test/regression.py index 3ab99616..cbe13b05 100755 --- a/test/regression.py +++ b/test/regression.py @@ -425,6 +425,20 @@ class TestGetDefinitions(TestBase): assert definitions[1].names == ['b'] assert definitions[2].names == [] + def test_nested_definitions(self): + definitions = api.get_definitions(""" + class Class: + def f(): + pass + def g(): + pass + """) + assert len(definitions) == 1 + assert definitions[0].names == ['Class'] + subdefinitions = definitions[0].get_definitions() + assert subdefinitions[0].names == ['f'] + assert subdefinitions[1].names == ['g'] + class TestSpeed(TestBase): def _check_speed(time_per_run, number=4, run_warm=True):