From 945888a53561df98ac36179c0f5f9a04ff85d999 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sun, 1 Jun 2014 13:52:21 +0200 Subject: [PATCH] fix for kwargs params --- jedi/evaluate/param.py | 3 +-- test/static_analysis/star_arguments.py | 14 +++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/jedi/evaluate/param.py b/jedi/evaluate/param.py index e73f82e1..2bb9cb10 100644 --- a/jedi/evaluate/param.py +++ b/jedi/evaluate/param.py @@ -1,5 +1,4 @@ import copy -from itertools import chain from jedi._compatibility import unicode, zip_longest from jedi.parser import representation as pr @@ -132,7 +131,7 @@ def get_params(evaluator, func, var_args): array_type = pr.Array.DICT if non_matching_keys: keys, values = zip(*non_matching_keys) - values = list(chain(*values)) + values = [helpers.stmts_to_stmt(list(v)) for v in values] non_matching_keys = [] else: # normal param diff --git a/test/static_analysis/star_arguments.py b/test/static_analysis/star_arguments.py index d797bc85..1009871d 100644 --- a/test/static_analysis/star_arguments.py +++ b/test/static_analysis/star_arguments.py @@ -47,5 +47,17 @@ kwargs_test(c=3) kwargs_test(b=2) #! 22 type-error-keyword-argument kwargs_test(b=2, c=3, d=4) -#! 22 type-error-multiple-values +#! 11 type-error-multiple-values kwargs_test(b=2, c=3, a=4) + + +def kwargs_nested(**kwargs): + return kwargs_test(b=2, **kwargs) + +kwargs_nested(c=3) +#! 13 type-error-too-few-arguments +kwargs_nested() +#! 19 type-error-keyword-argument +kwargs_nested(c=2, d=4) +#! 13 type-error-multiple-values +kwargs_nested(c=2, a=4)