From bdcbac160b646ff664e753fafe5eb9160e11b854 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Thu, 26 Jun 2014 00:49:56 +0200 Subject: [PATCH] fix string/array (sequence) multiplications with integer. --- jedi/evaluate/precedence.py | 2 ++ test/completion/arrays.py | 8 -------- test/completion/precedence.py | 8 ++++++++ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/jedi/evaluate/precedence.py b/jedi/evaluate/precedence.py index 01cb1956..6375c13e 100644 --- a/jedi/evaluate/precedence.py +++ b/jedi/evaluate/precedence.py @@ -250,6 +250,8 @@ def _element_calculate(evaluator, left, operator, right): # for iterables, ignore * operations if isinstance(left, iterable.Array) or _is_string(left): return [left] + elif isinstance(right, iterable.Array) or _is_string(right): + return [right] elif operator == '+': if _is_number(left) and _is_number(right) or _is_string(left) and _is_string(right): return [create(evaluator, left.obj + right.obj)] diff --git a/test/completion/arrays.py b/test/completion/arrays.py index 0d9ec8bd..70f58643 100644 --- a/test/completion/arrays.py +++ b/test/completion/arrays.py @@ -56,14 +56,6 @@ a = ['']*2 #? list() a -a = 2*2 -#? int() -a - -a = "a"*3 -#? str() -a - # ----------------- # tuple assignments # ----------------- diff --git a/test/completion/precedence.py b/test/completion/precedence.py index 8be4c924..552cf516 100644 --- a/test/completion/precedence.py +++ b/test/completion/precedence.py @@ -41,6 +41,14 @@ x = 'upp' + 'e' #? str.upper getattr(str, x + 'r') +a = "a"*3 +#? str() +a +a = 3 * "a" +#? str() +a + + # ----------------- # assignments # -----------------