1
0
forked from VimPlug/jedi

Make exact lookups possible in docstrings.

This commit is contained in:
Dave Halter
2015-10-14 12:10:48 +02:00
parent 844a011193
commit b27be47811
2 changed files with 11 additions and 2 deletions

View File

@@ -164,8 +164,8 @@ def _execute_array_values(evaluator, array):
""" """
if isinstance(array, Array): if isinstance(array, Array):
values = [] values = []
for typ in array.values(): for types in array.per_index_values():
objects = _execute_array_values(evaluator, typ) objects = set(chain.from_iterable(_execute_array_values(evaluator, typ) for typ in types))
values.append(AlreadyEvaluated(objects)) values.append(AlreadyEvaluated(objects))
return [FakeSequence(evaluator, values, array.type)] return [FakeSequence(evaluator, values, array.type)]
else: else:

View File

@@ -271,6 +271,15 @@ class Array(IterableWrapper, ArrayMixin):
raise AttributeError('Strange access on %s: %s.' % (self, name)) raise AttributeError('Strange access on %s: %s.' % (self, name))
return getattr(self.atom, name) return getattr(self.atom, name)
def per_index_values(self):
"""
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:
yield self._evaluator.eval_element(value)
def _values(self): def _values(self):
"""Returns a list of a list of node.""" """Returns a list of a list of node."""
if self.type == 'dict': if self.type == 'dict':