From 22f9f981f19b6751ea5697f2e81a557cc52d26d9 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 16 Jan 2016 14:32:43 +0000 Subject: Extract C# serialization of return statements --- .../java/org/zwobble/couscous/backends/csharp/CsharpBackend.java | 2 +- .../java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java | 5 ++++- src/main/java/org/zwobble/couscous/backends/csharp/CsharpWriter.java | 4 ++++ 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src/main/java/org') 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(" "); + } } -- cgit v1.2.3