@@ -1743,14 +1743,22 @@ def visit_SetComp(self, node):
1743
1743
1744
1744
def visit_Slice (self , node ):
1745
1745
prefix = self .__whitespace ()
1746
- if node .lower :
1747
- lower = self .__pad_right (self .__convert (node .lower ), self .__source_before (':' ))
1748
- else :
1749
- lower = self .__pad_right (j .Empty (random_id (), Space .EMPTY , Markers .EMPTY ), self .__source_before (':' ))
1750
- upper = self .__pad_right (
1751
- self .__convert (node .upper ) if node .upper else j .Empty (random_id (), Space .EMPTY , Markers .EMPTY ),
1752
- self .__source_before (':' ) if node .step else self .__whitespace ('\n ' ))
1753
- step = self .__pad_right (self .__convert (node .step ), self .__whitespace ('\n ' )) if node .step else None
1746
+
1747
+ lower_expr = self .__convert (node .lower ) if node .lower else None
1748
+ right_padding = self .__whitespace (':' )
1749
+ lower = self .__pad_right (lower_expr , right_padding ) if lower_expr else None
1750
+ self ._cursor += 1
1751
+
1752
+ upper_expr = self .__convert (node .upper ) if node .upper else None
1753
+ right_padding = self .__whitespace ()
1754
+ has_step = self .__cursor_at (':' )
1755
+ upper = self .__pad_right (upper_expr if node .upper else j .Empty (random_id (), self .__whitespace (), Markers .EMPTY ), right_padding )
1756
+ self ._cursor += 1
1757
+
1758
+ step = self .__pad_right (
1759
+ self .__convert (node .step ) if node .step else j .Empty (random_id (), Space .EMPTY , Markers .EMPTY ),
1760
+ self .__whitespace (']' )) if node .step or has_step else None
1761
+
1754
1762
return py .Slice (
1755
1763
random_id (),
1756
1764
prefix ,
0 commit comments