1
0
forked from VimPlug/jedi

make generator comprehensions work

This commit is contained in:
Dave Halter
2014-06-10 00:36:36 +02:00
parent cd5b8aebfd
commit af801ef9b4
4 changed files with 35 additions and 2 deletions
+9 -2
View File
@@ -170,15 +170,22 @@ class Evaluator(object):
return self._eval_precedence(el)
else:
# normal element, no operators
return self._eval_statement_element(el)
return self.eval_statement_element(el)
def _eval_precedence(self, _precedence):
left = self.process_precedence_element(_precedence.left)
right = self.process_precedence_element(_precedence.right)
return precedence.calculate(self, left, _precedence.operator, right)
def _eval_statement_element(self, element):
def eval_statement_element(self, element):
if pr.Array.is_type(element, pr.Array.NOARRAY):
try:
lst_cmp = element[0].expression_list()[0]
except IndexError:
pass
else:
if isinstance(lst_cmp, pr.ListComprehension):
return [iterable.GeneratorComprehension(self, lst_cmp)]
r = list(itertools.chain.from_iterable(self.eval_statement(s)
for s in element))
call_path = element.generate_call_path()