diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-16 14:32:43 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-16 14:32:43 +0000 |
| commit | 22f9f981f19b6751ea5697f2e81a557cc52d26d9 (patch) | |
| tree | dfa9f76aefa5ecc4fdeba246a5379abaac8b4d81 /src/main/java/org/zwobble | |
| parent | ee11b2bc0f6bf76a483775bc2c825757ea295c85 (diff) | |
Extract C# serialization of return statements
Diffstat (limited to 'src/main/java/org/zwobble')
3 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java index b588296..d69edf6 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java @@ -65,7 +65,7 @@ public class CsharpBackend implements Backend { ReturnNode returnNode = (ReturnNode) method.getBody().get(0); return "public static dynamic " + method.getName() + "() {" + - " return " + CsharpSerializer.serialize(returnNode.getValue(), namespace) + ";" + + CsharpSerializer.serialize(returnNode, namespace) + "}"; } } 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 b8d81ad..31a7b23 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java @@ -118,7 +118,10 @@ public class CsharpSerializer implements NodeVisitor { @Override public void visit(ReturnNode returnNode) { - throw new UnsupportedOperationException(); + writer.writeKeyword("return"); + writer.writeSpace(); + write(returnNode.getValue()); + writer.writeSymbol(";"); } @Override diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpWriter.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpWriter.java index 7aef7e6..d3cfce2 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpWriter.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpWriter.java @@ -31,4 +31,8 @@ public class CsharpWriter { public void writeIdentifier(String identifier) { builder.append(identifier); } + + public void writeSpace() { + builder.append(" "); + } } |
