diff --git a/AUTHORS.txt b/AUTHORS.txt index d37dedcf..61b0e7a6 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -23,5 +23,6 @@ srusskih (@srusskih) Steven Silvester (@blink1073) Colin Duquesnoy (@ColinDuquesnoy) Jorgen Schaefer (@jorgenschaefer) +Fredrik Bergroth (@fbergroth) Note: (@user) means a github user name. diff --git a/jedi/api/classes.py b/jedi/api/classes.py index c78bee79..85e0ce6a 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -307,11 +307,12 @@ class BaseDefinition(object): stripped = self._definition if isinstance(stripped, pr.Name): stripped = stripped.parent - # We should probably work in `Finder._names_to_types` here. - if isinstance(stripped, pr.Function): - stripped = er.Function(self._evaluator, stripped) - elif isinstance(stripped, pr.Class): - stripped = er.Class(self._evaluator, stripped) + + # We should probably work in `Finder._names_to_types` here. + if isinstance(stripped, pr.Function): + stripped = er.Function(self._evaluator, stripped) + elif isinstance(stripped, pr.Class): + stripped = er.Class(self._evaluator, stripped) if stripped.isinstance(pr.Statement): return self._evaluator.eval_statement(stripped) diff --git a/test/test_api/test_api_classes.py b/test/test_api/test_api_classes.py index 8ed7860e..88ea20c4 100644 --- a/test/test_api/test_api_classes.py +++ b/test/test_api/test_api_classes.py @@ -127,6 +127,11 @@ def test_completion_docstring(): assert c.docstring(raw=True, fast=False) == cleandoc(Script.__doc__) +def test_completion_params(): + c = Script('import string; string.capwords').completions()[0] + assert [p.name for p in c.params] == ['s', 'sep'] + + def test_signature_params(): def check(defs): params = defs[0].params