From 74c98ef82b94abe7fe7548766471b8e43c149504 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 28 Feb 2016 14:14:47 +0000 Subject: C#: Write super types --- .../couscous/backends/csharp/CsharpSerializer.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java') 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 8a92a51..a3479fa 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java @@ -337,6 +337,7 @@ public class CsharpSerializer implements NodeVisitor { writer.writeKeyword(keyword); writer.writeSpace(); writer.writeIdentifier(node.getName().getSimpleName()); + writeSuperTypes(node); writer.startBlock(); writeBody.run(); writer.endBlock(); @@ -346,6 +347,21 @@ public class CsharpSerializer implements NodeVisitor { }); } + private void writeSuperTypes(TypeNode node) { + if (!node.getSuperTypes().isEmpty()) { + writer.writeSpace(); + writer.writeSymbol(":"); + writer.writeSpace(); + writer.writeWithSeparator( + node.getSuperTypes(), + this::writeTypeReference, + () -> { + writer.writeSymbol(","); + writer.writeSpace(); + }); + } + } + private void writeStaticConstructor(ClassNode classNode) { if (!classNode.getStaticConstructor().isEmpty()) { writer.writeStatement(() -> { -- cgit v1.2.3