diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-28 13:59:04 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-28 13:59:13 +0000 |
| commit | d8abd198a39e7c5ba6df1b04359288d833913cf8 (patch) | |
| tree | 8760e1210843ae0be3268639c97a424a7e9bdff5 /src/main | |
| parent | eee46d13e629c79f4acb60cc29aa773e2ed735c1 (diff) | |
C#: Write empty interfaces
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java | 20 |
1 files changed, 19 insertions, 1 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 3cfcd33..81c5b78 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java @@ -326,7 +326,25 @@ public class CsharpSerializer implements NodeVisitor { @Override public void visit(InterfaceNode interfaceNode) { - throw new UnsupportedOperationException(); + // TODO: factor out duplication with visit(ClassNode) + writer.writeStatement(() -> { + writer.writeKeyword("namespace"); + writer.writeSpace(); + writer.writeIdentifier(interfaceNode.getName().getPackage().get()); + writer.startBlock(); + writer.writeStatement(() -> { + writer.writeKeyword("internal"); + writer.writeSpace(); + writer.writeKeyword("interface"); + writer.writeSpace(); + writer.writeIdentifier(interfaceNode.getName().getSimpleName()); + writer.startBlock(); + writeAll(interfaceNode.getMethods()); + writer.endBlock(); + }); + + writer.endBlock(); + }); } private void writeStaticConstructor(ClassNode classNode) { |
