aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/ast/printer.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/ast/printer.py')
-rw-r--r--mesonbuild/ast/printer.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/mesonbuild/ast/printer.py b/mesonbuild/ast/printer.py
index a0b92bb..b095f53 100644
--- a/mesonbuild/ast/printer.py
+++ b/mesonbuild/ast/printer.py
@@ -72,9 +72,13 @@ class AstPrinter(AstVisitor):
self.append(str(node.value), node)
node.lineno = self.curr_line or node.lineno
+ def escape(self, val: str) -> str:
+ return val.translate(str.maketrans({'\'': '\\\'',
+ '\\': '\\\\'}))
+
def visit_StringNode(self, node: mparser.StringNode) -> None:
assert isinstance(node.value, str)
- self.append("'" + node.value + "'", node)
+ self.append("'" + self.escape(node.value) + "'", node)
node.lineno = self.curr_line or node.lineno
def visit_FormatStringNode(self, node: mparser.FormatStringNode) -> None: