diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-08-01 09:06:19 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-08-01 09:06:19 +0100 |
| commit | c69aaf0c7524dcc7a72297fd31041b68b9bc31e4 (patch) | |
| tree | de3853556f6bbf62089dd8aa0be2935254121d67 /src/main/java/org/zwobble | |
| parent | f116e66bc7dc2743a71e4a5105351b348c1d0582 (diff) | |
Escape Java strings
Diffstat (limited to 'src/main/java/org/zwobble')
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java index 6c7410e..d46511b 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java @@ -890,9 +890,17 @@ public class JavaWriter implements AutoCloseable { } private void writeStringLiteral(JavaStringLiteral stringLiteral) throws IOException { - // TODO: escaping this.writer.write("\""); - this.writer.write(stringLiteral.value()); + this.writer.write( + stringLiteral.value() + .replace("\\", "\\\\") + .replace("\t", "\\t") + .replace("\b", "\\b") + .replace("\n", "\\n") + .replace("\r", "\\r") + .replace("\f", "\\f") + .replace("\"", "\\\"") + ); this.writer.write("\""); } |
