diff options
| author | Michael Williamson <mike@zwobble.org> | 2017-03-27 23:21:52 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2017-03-27 23:21:52 +0100 |
| commit | 7d734def7a18de00749181457423ad09203c0da5 (patch) | |
| tree | 161ebfacfabb4537bce254dc79751ba5df260683 /src/main/java/org/zwobble | |
| parent | db0da7284cc5813a14e4582fd67fb1e0b2729555 (diff) | |
Escape char literals
Diffstat (limited to 'src/main/java/org/zwobble')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java b/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java index b39fbc0..6d26e8b 100644 --- a/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java +++ b/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java @@ -40,9 +40,17 @@ public class SourceCodeWriter { public void writeChar(char value) { builder.append("'"); if (value == '\'') { - builder.append("\\"); + builder.append("\\'"); + } else if (value == '\n') { + builder.append("\\n"); + } else if (value == '\r') { + builder.append("\\r"); + } else if (value == '\t') { + builder.append("\\t"); + } else { + builder.append(value); } - builder.append(value).append("'"); + builder.append("'"); } public void writeStringLiteral(String value) { |
