From 93b7548f1a4f1f0c7c59e68413930bc6764681d6 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Fri, 2 Aug 2019 10:30:23 +0200 Subject: [PATCH] Use a helper to create definitions --- jedi/api/classes.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/jedi/api/classes.py b/jedi/api/classes.py index 56994831..09ef432b 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -38,6 +38,10 @@ def defined_names(evaluator, context): return [Definition(evaluator, n) for n in _sort_names_by_start_pos(names)] +def _contexts_to_definitions(contexts): + return [Definition(c.evaluator, c.name) for c in contexts] + + class BaseDefinition(object): _mapping = { 'posixpath': 'os.path', @@ -662,15 +666,14 @@ class CallSignature(Signature): class ParamDefinition(Definition): def infer_default(self): - return [Definition(self._evaluator, d.name) for d in self._name.infer_default()] + return _contexts_to_definitions(self._name.infer_default()) def infer_annotation(self, **kwargs): """ :param execute_annotation: If False, the values are not executed and you get classes instead of instances. """ - return [Definition(self._evaluator, d.name) - for d in self._name.infer_annotation(**kwargs)] + return _contexts_to_definitions(self._name.infer_annotation(**kwargs)) def to_string(self): return self._name.to_string()