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 # -----------------