aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-09 16:19:26 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-09 16:19:26 +0100
commit45a87e8fa907a86b5eab48fe37189bf539b38403 (patch)
tree08010050dbf8de09ea9914abbca4cce235a26cc1 /src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
parent828f7b76300cfd803917aa3b780074b5535f45ab (diff)
Write method call type parameters in C# backend
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.java9
1 files changed, 9 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 d93f2df..194349f 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
@@ -220,9 +220,18 @@ public class CsharpSerializer implements NodeVisitor {
write(methodCall.getReceiver());
writer.writeSymbol(".");
writer.writeIdentifier(methodCall.getMethodName());
+ writeTypeParameters(methodCall.getTypeParameters());
writeArguments(methodCall.getArguments());
}
+ private void writeTypeParameters(List<Type> typeParameters) {
+ if (!typeParameters.isEmpty()) {
+ writer.writeSymbol("<");
+ writer.writeCommaSeparated(typeParameters, this::writeTypeReference);
+ writer.writeSymbol(">");
+ }
+ }
+
@Override
public void visit(ConstructorCallNode call) {
writer.writeKeyword("new");