diff --git a/jedi/api/classes.py b/jedi/api/classes.py index e7f7809a..82c417d1 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -337,7 +337,10 @@ class BaseDefinition(object): # with overloading. for context in self._name.infer(): for signature in context.get_signatures(): - return [Definition(self._evaluator, n) for n in signature.get_param_names()] + return [ + Definition(self._evaluator, n) + for n in signature.get_param_names(resolve_stars=True) + ] if self.type == 'function' or self.type == 'class': # Fallback, if no signatures were defined (which is probably by @@ -615,11 +618,14 @@ class CallSignature(Definition): The Param index of the current call. Returns None if the index cannot be found in the curent call. """ - return self._call_details.calculate_index(self._signature.get_param_names()) + return self._call_details.calculate_index( + self._signature.get_param_names(resolve_stars=True) + ) @property def params(self): - return [Definition(self._evaluator, n) for n in self._signature.get_param_names()] + return [Definition(self._evaluator, n) + for n in self._signature.get_param_names(resolve_stars=True)] @property def bracket_start(self): diff --git a/jedi/evaluate/signature.py b/jedi/evaluate/signature.py index 8e1b2d81..32e51caf 100644 --- a/jedi/evaluate/signature.py +++ b/jedi/evaluate/signature.py @@ -44,7 +44,7 @@ class AbstractSignature(_SignatureMixin): def annotation_string(self): return '' - def get_param_names(self, resolve_stars=True): + def get_param_names(self, resolve_stars=False): param_names = self._function_context.get_param_names() if self.is_bound: return param_names[1:] @@ -80,7 +80,7 @@ class TreeSignature(AbstractSignature): return '' return a.get_code(include_prefix=False) - def get_param_names(self, resolve_stars=True): + def get_param_names(self, resolve_stars=False): params = super(TreeSignature, self).get_param_names() if resolve_stars: from jedi.evaluate.star_args import process_params