Skip to content

Commit f57647e

Browse files
committed
Fix ast_unparse and token generator
1 parent 06c15de commit f57647e

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

Lib/_ast_unparse.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -679,31 +679,24 @@ def _unparse_interpolation_value(self, inner):
679679
unparser.set_precedence(_Precedence.TEST.next(), inner)
680680
return unparser.visit(inner)
681681

682-
def _write_fstring_conversion(self, node):
683-
if node.conversion != -1:
684-
self.write(f"!{chr(node.conversion)}")
685-
686-
def _write_tstring_conversion(self, node):
687-
if node.conversion is not None:
688-
self.write(f"!{node.conversion}")
689-
690-
def _write_interpolation(self, node, write_conversion):
682+
def _write_interpolation(self, node):
691683
with self.delimit("{", "}"):
692684
expr = self._unparse_interpolation_value(node.value)
693685
if expr.startswith("{"):
694686
# Separate pair of opening brackets as "{ {"
695687
self.write(" ")
696688
self.write(expr)
697-
write_conversion(node)
689+
if node.conversion != -1:
690+
self.write(f"!{chr(node.conversion)}")
698691
if node.format_spec:
699692
self.write(":")
700693
self._write_ftstring_inner(node.format_spec, is_format_spec=True)
701694

702695
def visit_FormattedValue(self, node):
703-
self._write_interpolation(node, self._write_fstring_conversion)
696+
self._write_interpolation(node)
704697

705698
def visit_Interpolation(self, node):
706-
self._write_interpolation(node, self._write_tstring_conversion)
699+
self._write_interpolation(node)
707700

708701
def visit_Name(self, node):
709702
self.write(node.id)

Tools/build/generate_token.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ def update_file(file, content):
8787
(x) == INDENT || \\
8888
(x) == DEDENT)
8989
#define ISSTRINGLIT(x) ((x) == STRING || \\
90-
(x) == FSTRING_MIDDLE)
90+
(x) == FSTRING_MIDDLE || \\
91+
(x) == TSTRING_MIDDLE)
9192
9293
9394
// Export these 4 symbols for 'test_peg_generator'

0 commit comments

Comments
 (0)