diff --git a/jedi/docstrings.py b/jedi/docstrings.py index bfe420e2..9f9cefba 100644 --- a/jedi/docstrings.py +++ b/jedi/docstrings.py @@ -111,6 +111,8 @@ def find_return_types(evaluator, func): if match: return match.group(1) + from jedi.evaluate import representation as er + if isinstance(func, er.InstanceElement): func = func.var @@ -125,4 +127,4 @@ def find_return_types(evaluator, func): if p.user_stmt is None: return [] p.user_stmt.parent = func - return list(evaluate.follow_statement(p.user_stmt)) + return list(evaluator.follow_statement(p.user_stmt)) diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index c8fc5f1d..9e75ea8e 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -255,12 +255,10 @@ class Evaluator(object): r = func.var.params[r.position_nr] # add docstring knowledge - """ - doc_params = docstrings.follow_param(r) TODO ENABLE + doc_params = docstrings.follow_param(self, r) if doc_params: res_new += doc_params continue - """ if not r.is_generated: res_new += dynamic.search_params(self, r) diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index e796eee1..150ee42a 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -508,10 +508,7 @@ class Execution(Executable): if func.is_generator and not evaluate_generator: return [Generator(self._evaluator, func, self.var_args)] else: - """ - stmts = docstrings.find_return_types(func) - """ - stmts=[] + stmts = docstrings.find_return_types(self._evaluator, func) for r in self.returns: if r is not None: stmts += self._evaluator.follow_statement(r)