diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 90a2bfca..9204e583 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -190,7 +190,11 @@ class Evaluator(object): types = self._eval_trailer(types, trailer) return types + elif pr.is_node(element, 'testlist_star_expr'): + # The implicit tuple in statements. + return [iterable.Array(self, element, pr.Array.TUPLE)] else: + print(element) left, operator, right = element.children return precedence.calculate(self, self.eval_element(left), operator, self.eval_element(right)) diff --git a/jedi/evaluate/iterable.py b/jedi/evaluate/iterable.py index 00f0dc6e..45f6a279 100644 --- a/jedi/evaluate/iterable.py +++ b/jedi/evaluate/iterable.py @@ -218,7 +218,7 @@ class Array(use_metaclass(CachedMetaClass, IterableWrapper)): return getattr(self._array, name) def _items(self): - if pr.is_node(self._array_node, 'testlist_comp'): + if pr.is_node(self._array_node, 'testlist_comp') or pr.is_node(self._array_node, 'testlist_star_expr'): return self._array_node.children[::2] else: return [self._array_node]