@@ -926,66 +926,18 @@ def n_list(self, node: SyntaxTree):
926
926
n_set = n_build_set = n_tuple = n_list
927
927
928
928
def n_list_comp (self , node ):
929
- """List comprehensions"""
930
- p = self .prec
931
- self .prec = 100
932
- if self .version >= (2 , 7 ):
933
- if self .is_pypy :
934
- self .n_list_comp_pypy27 (node )
935
- return
936
- n = node [- 1 ]
937
- elif node [- 1 ] == "delete" :
938
- if node [- 2 ] == "JUMP_BACK" :
939
- n = node [- 3 ]
940
- else :
941
- n = node [- 2 ]
942
-
943
- assert n == "list_iter"
944
-
945
- # Find the list comprehension body. It is the inner-most
946
- # node that is not list_.. .
947
- # FIXME: DRY with other use
948
- while n == "list_iter" :
949
- n = n [0 ] # iterate one nesting deeper
950
- if n == "list_for" :
951
- n = n [3 ]
952
- elif n == "list_if" :
953
- n = n [2 ]
954
- elif n == "list_if_not" :
955
- n = n [2 ]
956
- assert n == "lc_body"
957
- self .write ("[ " )
958
-
959
- if self .version >= (2 , 7 ):
960
- expr = n [0 ]
961
- list_iter = node [- 1 ]
929
+ self .write ("[" )
930
+ if node [0 ].kind == "load_closure" :
931
+ assert self .version >= (3 , 0 )
932
+ self .listcomp_closure3 (node )
962
933
else :
963
- expr = n [1 ]
964
- if node [- 2 ] == "JUMP_BACK" :
965
- list_iter = node [- 3 ]
934
+ if node == "listcomp_async" :
935
+ list_iter_index = 5
966
936
else :
967
- list_iter = node [- 2 ]
968
-
969
- assert expr == "expr"
970
- assert list_iter == "list_iter"
971
-
972
- # FIXME: use source line numbers for directing line breaks
973
-
974
- line_number = self .line_number
975
- last_line = self .f .getvalue ().split ("\n " )[- 1 ]
976
- l = len (last_line )
977
- indent = " " * (l - 1 )
978
-
979
- self .preorder (expr )
980
- line_number = self .indent_if_source_nl (line_number , indent )
981
- self .preorder (list_iter )
982
- l2 = self .indent_if_source_nl (line_number , indent )
983
- if l2 != line_number :
984
- self .write (" " * (len (indent ) - len (self .indent ) - 1 ) + "]" )
985
- else :
986
- self .write (" ]" )
987
- self .prec = p
988
- self .prune () # stop recursing
937
+ list_iter_index = 1
938
+ self .comprehension_walk_newer (node , list_iter_index , 0 )
939
+ self .write ("]" )
940
+ self .prune ()
989
941
990
942
def n_list_comp_pypy27 (self , node ):
991
943
"""List comprehensions in PYPY."""
@@ -1036,20 +988,6 @@ def n_list_comp_pypy27(self, node):
1036
988
self .prec = p
1037
989
self .prune () # stop recursing
1038
990
1039
- def n_list_comp (self , node ):
1040
- self .write ("[" )
1041
- if node [0 ].kind == "load_closure" :
1042
- assert self .version >= (3 , 0 )
1043
- self .listcomp_closure3 (node )
1044
- else :
1045
- if node == "listcomp_async" :
1046
- list_iter_index = 5
1047
- else :
1048
- list_iter_index = 1
1049
- self .comprehension_walk_newer (node , list_iter_index , 0 )
1050
- self .write ("]" )
1051
- self .prune ()
1052
-
1053
991
def n_mkfunc (self , node ):
1054
992
code_node = find_code_node (node , - 2 )
1055
993
code = code_node .attr
0 commit comments