diff --git a/jedi/api/classes.py b/jedi/api/classes.py index 24b1bee3..0aab4f9f 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -15,7 +15,7 @@ from jedi.evaluate import representation as er from jedi.evaluate import instance from jedi.evaluate import imports from jedi.evaluate import compiled -from jedi.evaluate.filters import ParamName, TreeNameDefinition +from jedi.evaluate.filters import ParamName from jedi.evaluate.imports import ImportName from jedi.api.keywords import KeywordName @@ -538,7 +538,12 @@ class Definition(BaseDefinition): typ = 'def' return typ + ' ' + u(self._name.string_name) elif typ == 'param': - return typ + ' ' + tree_name.get_definition().get_description() + code = tree_name.get_definition().get_code( + include_prefix=False, + include_comma=False + ) + return typ + ' ' + code + definition = tree_name.get_definition() # Remove the prefix, because that's not what we want for get_code diff --git a/jedi/parser/python/tree.py b/jedi/parser/python/tree.py index e37e2b55..a13c1d7d 100644 --- a/jedi/parser/python/tree.py +++ b/jedi/parser/python/tree.py @@ -983,12 +983,18 @@ class Param(PythonBaseNode): """ return search_ancestor(self, ('funcdef', 'lambdef')) - def get_description(self): - # TODO Remove? + def get_code(self, normalized=False, include_prefix=True, include_comma=True): + if include_comma: + return super(Param, self).get_code(normalized, include_prefix) + children = self.children if children[-1] == ',': children = children[:-1] - return self._get_code_for_children(children, False, False) + return self._get_code_for_children( + children, + normalized=False, + include_prefix=include_prefix + ) def __repr__(self): default = '' if self.default is None else '=%s' % self.default.get_code()