A little closesr in PyPy 2.7 list comprehensions

pysource.py: note need to handle line breaks in list comprehensions
This commit is contained in:
rocky
2016-11-20 03:17:49 -05:00
parent f2a3721d7d
commit 94719918d4
3 changed files with 6 additions and 8 deletions

Binary file not shown.

View File

@@ -1010,10 +1010,7 @@ class SourceWalker(GenericASTTraversal, object):
def n_ifelsestmt(self, node, preprocess=False):
else_suite = node[3]
try:
n = else_suite[0]
except:
from trepan.api import debug; debug()
n = else_suite[0]
if len(n) == 1 == len(n[0]) and n[0] == '_stmts':
n = n[0][0][0]
@@ -1202,6 +1199,8 @@ class SourceWalker(GenericASTTraversal, object):
assert expr == 'expr'
assert list_iter == 'list_iter'
# FIXME: use source line numbers for directing line breaks
self.preorder(expr)
self.preorder(list_iter)
self.write( ' ]')
@@ -1217,7 +1216,7 @@ class SourceWalker(GenericASTTraversal, object):
n = node[-1]
elif self.is_pypy and node[-1] == 'JUMP_BACK':
n = node[-2]
list_expr = node[0]
list_expr = node[1]
if len(node) >= 3:
designator = node[3]
@@ -1242,10 +1241,9 @@ class SourceWalker(GenericASTTraversal, object):
assert expr == 'expr'
assert list_iter == 'list_iter'
# FIXME: use source line numbers for directing line breaks
self.preorder(expr)
self.write( ' for ')
self.preorder(designator)
self.write( ' in ')
self.preorder(list_expr)
self.write( ' ]')
self.prec = p