@@ -209,6 +209,8 @@ def to_tuple(t):
209
209
"1 < 2 < 3" ,
210
210
# Call
211
211
"f(1,2,c=3,*d,**e)" ,
212
+ # Call with multi-character starred
213
+ "f(*[0, 1])" ,
212
214
# Call with a generator argument
213
215
"f(a for a in b)" ,
214
216
# Num
@@ -877,6 +879,12 @@ def test_elif_stmt_start_position_with_else(self):
877
879
self .assertEqual (elif_stmt .lineno , 3 )
878
880
self .assertEqual (elif_stmt .col_offset , 0 )
879
881
882
+ def test_starred_expr_end_position_within_call (self ):
883
+ node = ast .parse ('f(*[0, 1])' )
884
+ starred_expr = node .body [0 ].value .args [0 ]
885
+ self .assertEqual (starred_expr .end_lineno , 1 )
886
+ self .assertEqual (starred_expr .end_col_offset , 9 )
887
+
880
888
def test_literal_eval (self ):
881
889
self .assertEqual (ast .literal_eval ('[1, 2, 3]' ), [1 , 2 , 3 ])
882
890
self .assertEqual (ast .literal_eval ('{"foo": 42}' ), {"foo" : 42 })
@@ -1930,6 +1938,7 @@ def main():
1930
1938
('Expression' , ('GeneratorExp' , (1 , 0 ), ('Tuple' , (1 , 1 ), [('Name' , (1 , 2 ), 'a' , ('Load' ,)), ('Name' , (1 , 4 ), 'b' , ('Load' ,))], ('Load' ,)), [('comprehension' , ('List' , (1 , 11 ), [('Name' , (1 , 12 ), 'a' , ('Store' ,)), ('Name' , (1 , 14 ), 'b' , ('Store' ,))], ('Store' ,)), ('Name' , (1 , 20 ), 'c' , ('Load' ,)), [], 0 )])),
1931
1939
('Expression' , ('Compare' , (1 , 0 ), ('Constant' , (1 , 0 ), 1 , None ), [('Lt' ,), ('Lt' ,)], [('Constant' , (1 , 4 ), 2 , None ), ('Constant' , (1 , 8 ), 3 , None )])),
1932
1940
('Expression' , ('Call' , (1 , 0 ), ('Name' , (1 , 0 ), 'f' , ('Load' ,)), [('Constant' , (1 , 2 ), 1 , None ), ('Constant' , (1 , 4 ), 2 , None ), ('Starred' , (1 , 10 ), ('Name' , (1 , 11 ), 'd' , ('Load' ,)), ('Load' ,))], [('keyword' , 'c' , ('Constant' , (1 , 8 ), 3 , None )), ('keyword' , None , ('Name' , (1 , 15 ), 'e' , ('Load' ,)))])),
1941
+ ('Expression' , ('Call' , (1 , 0 ), ('Name' , (1 , 0 ), 'f' , ('Load' ,)), [('Starred' , (1 , 2 ), ('List' , (1 , 3 ), [('Constant' , (1 , 4 ), 0 , None ), ('Constant' , (1 , 7 ), 1 , None )], ('Load' ,)), ('Load' ,))], [])),
1933
1942
('Expression' , ('Call' , (1 , 0 ), ('Name' , (1 , 0 ), 'f' , ('Load' ,)), [('GeneratorExp' , (1 , 1 ), ('Name' , (1 , 2 ), 'a' , ('Load' ,)), [('comprehension' , ('Name' , (1 , 8 ), 'a' , ('Store' ,)), ('Name' , (1 , 13 ), 'b' , ('Load' ,)), [], 0 )])], [])),
1934
1943
('Expression' , ('Constant' , (1 , 0 ), 10 , None )),
1935
1944
('Expression' , ('Constant' , (1 , 0 ), 'string' , None )),
0 commit comments