aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-28 14:14:47 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-28 14:16:16 +0000
commit74c98ef82b94abe7fe7548766471b8e43c149504 (patch)
tree075d6b370677cdba9946e1dcafada6fd2367e5ef /src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
parent28a122e74fa8f76da97625d1581e69afee835b7c (diff)
C#: Write super types
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(() -> {