diff options
| author | Claudiu Popa <pcmanticore@gmail.com> | 2019-07-10 08:49:19 +0200 |
|---|---|---|
| committer | Claudiu Popa <pcmanticore@gmail.com> | 2019-07-10 08:49:19 +0200 |
| commit | bc710340c8af251fcacfc9f6de6c7ce56a4b7202 (patch) | |
| tree | 44f587927e6a1155e47fc76841d405435b681666 /astroid/node_classes.py | |
| parent | be8a2e141d87c6c4fc3e8505d9482837c8d74cf7 (diff) | |
| download | astroid-git-bc710340c8af251fcacfc9f6de6c7ce56a4b7202.tar.gz | |
Relax the spreading of defaults to both positional only and positional or keywords arguments
Diffstat (limited to 'astroid/node_classes.py')
| -rw-r--r-- | astroid/node_classes.py | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/astroid/node_classes.py b/astroid/node_classes.py index 8b496032..58f28bcb 100644 --- a/astroid/node_classes.py +++ b/astroid/node_classes.py @@ -1626,16 +1626,10 @@ class Arguments(mixins.AssignTypeMixin, NodeNG): result = [] positional_only_defaults = [] positional_or_keyword_defaults = self.defaults - if self.defaults and self.args: - if len(self.defaults) > len(self.args): - # We have defaults that spread from positional only - # to positional or keyword parameters. - # In that case, all the positional or keyword parameters - # have a default - positional_or_keyword_defaults = self.defaults[-len(self.args) :] - positional_only_defaults = self.defaults[ - : len(self.defaults) - len(self.args) - ] + if self.defaults: + args = self.args or [] + positional_or_keyword_defaults = self.defaults[-len(args) :] + positional_only_defaults = self.defaults[: len(self.defaults) - len(args)] if self.posonlyargs: result.append(_format_args(self.posonlyargs, positional_only_defaults)) |
