From 58de7ebb1744bc77f48c1f64645e3a611d1280ac Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 10 Apr 2016 20:50:37 +0100 Subject: Write type parameters for interface methods --- .../couscous/backends/csharp/CsharpSerializer.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src/main/java/org') 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 64566b4..4fab81b 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java @@ -398,15 +398,19 @@ public class CsharpSerializer implements NodeVisitor { writer.writeKeyword("static"); writer.writeSpace(); } - writeTypeReference(method.getReturnType()); - writer.writeSpace(); - writer.writeIdentifier(method.getName()); - writeFormalTypeParameters(method.getTypeParameters()); - writeFormalArguments(method.getArguments()); + writeSignature(method); writeBlock(method.getBody().get()); }); } + private void writeSignature(MethodNode method) { + writeTypeReference(method.getReturnType()); + writer.writeSpace(); + writer.writeIdentifier(method.getName()); + writeFormalTypeParameters(method.getTypeParameters()); + writeFormalArguments(method.getArguments()); + } + private void writeFormalTypeParameters(List typeParameters) { if (!typeParameters.isEmpty()) { writer.writeSymbol("<"); @@ -457,10 +461,7 @@ public class CsharpSerializer implements NodeVisitor { writeType(interfaceNode, "interface", () -> { interfaceNode.getMethods().forEach(method -> { writer.writeStatement(() -> { - writeTypeReference(method.getReturnType()); - writer.writeSpace(); - writer.writeIdentifier(method.getName()); - writeFormalArguments(method.getArguments()); + writeSignature(method); writer.writeSymbol(";"); }); }); -- cgit v1.2.3