1
0
forked from VimPlug/jedi

Dicts should be iterated by its keys (__iter__).

This commit is contained in:
Dave Halter
2015-11-28 16:08:38 +01:00
parent 09f7930104
commit 9259a432b7
2 changed files with 12 additions and 6 deletions

View File

@@ -307,8 +307,13 @@ class Array(IterableWrapper, ArrayMixin):
While values returns the possible values for any array field, this
function returns the value for a certain index.
"""
values = self._values()
for value in values:
if self.type == 'dict':
# Get keys.
iterate = set(k for k, v in self._items())
else:
iterate = self._items()
for value in iterate:
yield self._evaluator.eval_element(value)
def _values(self):
@@ -480,10 +485,6 @@ def py__iter__(evaluator, types):
yield result
def py__iter__types(evaluator, types):
return unite(py__iter__(evaluator, types))
def get_iterator_types(evaluator, element):
"""Returns the types of any iterator (arrays, yields, __iter__, etc)."""
iterators = []

View File

@@ -234,6 +234,11 @@ dic = {str(key): ''}
#? str()
dic['']
for x in {1: 3.0, '': 1j}:
#? int() str()
x
# -----------------
# with variable as index
# -----------------