aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-01-16 15:51:06 +0000
committerMichael Williamson <mike@zwobble.org>2016-01-16 15:51:06 +0000
commit11627e103110f1abfe6de7f391f6c90475ca888c (patch)
treefd661e497518fcd3e259a04d0fd9c94d8feeb3fc /src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
parentd2c8f4478ad23e7a2a01773bdd5a6333f8d56c7d (diff)
Implement non-dynamic return types 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.java11
1 files changed, 7 insertions, 4 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 ef13854..1d05081 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
@@ -4,15 +4,18 @@ import com.google.common.collect.ImmutableMap;
import org.zwobble.couscous.ast.*;
import org.zwobble.couscous.ast.visitors.NodeVisitor;
import org.zwobble.couscous.backends.SourceCodeWriter;
-import org.zwobble.couscous.values.IntegerValue;
-import org.zwobble.couscous.values.PrimitiveValueVisitor;
+import org.zwobble.couscous.values.*;
import java.util.List;
import java.util.Map;
public class CsharpSerializer implements NodeVisitor {
private final static Map<TypeName, String> PRIMITIVES = ImmutableMap.of(
- IntegerValue.REF, "int");
+ IntegerValue.REF, "int",
+ StringValue.REF, "string",
+ BooleanValue.REF, "bool",
+ ObjectValues.CLASS, "System.Type",
+ UnitValue.REF, "void");
public static String serialize(Node node, String namespace) {
SourceCodeWriter writer = new SourceCodeWriter(
@@ -202,7 +205,7 @@ public class CsharpSerializer implements NodeVisitor {
writer.writeKeyword("static");
writer.writeSpace();
}
- writer.writeKeyword("dynamic");
+ writeTypeReference(method.getReturnType());
writer.writeSpace();
writer.writeIdentifier(method.getName());
writer.writeSymbol("(");