@@ -1734,14 +1734,18 @@ def visit_TemplateStr(self, n: ast_TemplateStr) -> Expression:
17341734 def visit_Interpolation (self , n : ast_Interpolation ) -> Expression :
17351735 interp_cls = NameExpr ("__mypy-Interpolation" )
17361736 interp_cls .set_line (n .lineno , n .col_offset )
1737- val_exp = self .visit (n .value )
1738- val_exp .set_line (interp_cls )
1739- val_str = StrExpr (n .str )
1737+ val_expr = self .visit (n .value )
1738+ val_expr .set_line (interp_cls )
1739+ str_expr = StrExpr (n .str )
1740+ str_expr .set_line (interp_cls )
17401741 conv_expr = NameExpr ("None" ) if n .conversion < 0 else StrExpr (chr (n .conversion ))
1741- format_spec_exp = self .visit (n .format_spec ) if n .format_spec is not None else StrExpr ("" )
1742+ conv_expr .set_line (interp_cls )
1743+ format_expr = self .visit (n .format_spec ) if n .format_spec is not None else StrExpr ("" )
1744+ if format_expr .line == - 1 :
1745+ format_expr .set_line (interp_cls )
17421746 e = CallExpr (
17431747 interp_cls ,
1744- [val_exp , val_str , conv_expr , format_spec_exp ],
1748+ [val_expr , str_expr , conv_expr , format_expr ],
17451749 [ARG_POS , ARG_POS , ARG_POS , ARG_POS ],
17461750 [None , None , None , None ],
17471751 )
0 commit comments