diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-08-01 09:09:31 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-08-01 09:09:31 +0100 |
| commit | b433dc94a228a89977da9ee6a4739e2f1da69d66 (patch) | |
| tree | e9ff05f6d1b6ee0bb1eb70091d5f8bc7b1b68e39 /src/main | |
| parent | c69aaf0c7524dcc7a72297fd31041b68b9bc31e4 (diff) | |
Escape Rust strings
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java index 668cd75..ec8d70b 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java @@ -648,9 +648,15 @@ public class RustWriter implements AutoCloseable { } private void writeStringLiteral(RustStringLiteral stringLiteral) throws IOException { - // TODO: handle escaping this.writer.write("\""); - this.writer.write(stringLiteral.value()); + this.writer.write( + stringLiteral.value() + .replace("\\", "\\\\") + .replace("\n", "\\n") + .replace("\r", "\\r") + .replace("\t", "\\t") + .replace("\0", "\\0") + ); this.writer.write("\""); } |
