aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java16
1 files changed, 16 insertions, 0 deletions
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(() -> {