diff options
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/LiteralNode.java | 2 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/LiteralNode.java b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java index 923bb2f..a76ca80 100644 --- a/src/main/java/org/zwobble/couscous/ast/LiteralNode.java +++ b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java @@ -7,6 +7,8 @@ import org.zwobble.couscous.values.*; import static org.zwobble.couscous.values.PrimitiveValues.value; public class LiteralNode implements ExpressionNode { + public static final ExpressionNode UNIT = literal(PrimitiveValues.UNIT); + public static LiteralNode literal(PrimitiveValue value) { return new LiteralNode(value, value.getType()); } 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 0292320..e47b732 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java @@ -4,6 +4,7 @@ import org.zwobble.couscous.ast.*; import org.zwobble.couscous.ast.visitors.NodeVisitor; import org.zwobble.couscous.backends.SourceCodeWriter; import org.zwobble.couscous.values.PrimitiveValueVisitor; +import org.zwobble.couscous.values.UnitValue; import java.util.List; @@ -176,8 +177,10 @@ public class CsharpSerializer implements NodeVisitor { public void visit(ReturnNode returnNode) { writer.writeStatement(() -> { writer.writeKeyword("return"); - writer.writeSpace(); - write(returnNode.getValue()); + if (!returnNode.getValue().getType().equals(UnitValue.REF)) { + writer.writeSpace(); + write(returnNode.getValue()); + } writer.writeSymbol(";"); }); } |
