summaryrefslogtreecommitdiff
path: root/mesonbuild/ast/printer.py
diff options
context:
space:
mode:
authorCharles Brunet <charles.brunet@optelgroup.com>2023-09-26 09:18:01 -0400
committerDylan Baker <dylan@pnwbakers.com>2024-04-08 10:43:57 -0700
commitbec84aced51f2dbc21a889f0d7c1869a4bbf6f5d (patch)
tree74e54c29dd68e05e0f9d2926f6ac229962ec1e91 /mesonbuild/ast/printer.py
parentb053eaba004f6dd291932e22b864786cf03134ab (diff)
downloadmeson-bec84aced51f2dbc21a889f0d7c1869a4bbf6f5d.tar.gz
Fix type checking in ast.printer
- Wrong types were used for MultilineStringNode and FormatMultilineStringNode - Simplify the `escape` method to avoid use of T.Cast
Diffstat (limited to 'mesonbuild/ast/printer.py')
-rw-r--r--mesonbuild/ast/printer.py8
1 files changed, 3 insertions, 5 deletions
diff --git a/mesonbuild/ast/printer.py b/mesonbuild/ast/printer.py
index 06b05ba89..e2191f9b7 100644
--- a/mesonbuild/ast/printer.py
+++ b/mesonbuild/ast/printer.py
@@ -65,9 +65,7 @@ class AstPrinter(AstVisitor):
node.lineno = self.curr_line or node.lineno
def escape(self, val: str) -> str:
- return val.translate(str.maketrans(T.cast(
- 'T.Dict[str, T.Union[str, int]]',
- {'\'': '\\\'', '\\': '\\\\'})))
+ return val.replace('\\', '\\\\').replace("'", "\'")
def visit_StringNode(self, node: mparser.StringNode) -> None:
assert isinstance(node.value, str)
@@ -79,12 +77,12 @@ class AstPrinter(AstVisitor):
self.append("f'" + self.escape(node.value) + "'", node)
node.lineno = self.curr_line or node.lineno
- def visit_MultilineStringNode(self, node: mparser.MultilineFormatStringNode) -> None:
+ def visit_MultilineStringNode(self, node: mparser.MultilineStringNode) -> None:
assert isinstance(node.value, str)
self.append("'''" + node.value + "'''", node)
node.lineno = self.curr_line or node.lineno
- def visit_FormatMultilineStringNode(self, node: mparser.FormatStringNode) -> None:
+ def visit_FormatMultilineStringNode(self, node: mparser.MultilineFormatStringNode) -> None:
assert isinstance(node.value, str)
self.append("f'''" + node.value + "'''", node)
node.lineno = self.curr_line or node.lineno