summaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java10
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("\"");
}