diff options
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends')
3 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java b/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java index eb29a4e..b39fbc0 100644 --- a/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java +++ b/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java @@ -37,6 +37,14 @@ public class SourceCodeWriter { builder.append(value); } + public void writeChar(char value) { + builder.append("'"); + if (value == '\'') { + builder.append("\\"); + } + builder.append(value).append("'"); + } + public void writeStringLiteral(String value) { builder.append("\""); builder.append(value diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java index e343071..798d75c 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java @@ -160,6 +160,12 @@ public class CsharpSerializer { } @Override + public Void visitChar(char value) { + writer.writeChar(value); + return null; + } + + @Override public Void visitString(String value) { writer.writeStringLiteral(value); return null; diff --git a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java index 949506a..c6de9f3 100644 --- a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java +++ b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java @@ -161,6 +161,12 @@ public class PythonCodeGenerator { } @Override + public PythonExpressionNode visitChar(char value) { + // TODO: + throw new UnsupportedOperationException(); + } + + @Override public PythonExpressionNode visitString(String value) { return pythonStringLiteral(value); } |
