aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-09 18:11:17 +0000
committerMichael Williamson <mike@zwobble.org>2016-03-09 18:11:17 +0000
commit20dc1e124d606cf4298d5112b6d3c4f6c74e9b68 (patch)
tree47914e8b0356b2f40e3723eae650d3bb6f100dd4 /src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
parent8ac6cb16b727b5e3d28ab89fee1d169a4f74d9a1 (diff)
Introduce Type interface
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, 12 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 39cd443..c898525 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
@@ -1,6 +1,8 @@
package org.zwobble.couscous.backends.csharp;
import org.zwobble.couscous.ast.*;
+import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.ast.types.Type;
import org.zwobble.couscous.ast.visitors.NodeVisitor;
import org.zwobble.couscous.backends.SourceCodeWriter;
import org.zwobble.couscous.util.Action;
@@ -66,7 +68,7 @@ public class CsharpSerializer implements NodeVisitor {
}
@Override
- public Void visitType(TypeName value) {
+ public Void visitType(ScalarType value) {
writer.writeKeyword("typeof");
writer.writeSymbol("(");
writeTypeReference(value);
@@ -413,11 +415,17 @@ public class CsharpSerializer implements NodeVisitor {
}
}
- private void writeTypeReference(TypeName value) {
- writer.writeIdentifier(typeReference(value));
+ private void writeTypeReference(Type value) {
+ value.accept(new Type.Visitor<Void>() {
+ @Override
+ public Void visit(ScalarType type) {
+ writer.writeIdentifier(typeReference(type));
+ return null;
+ }
+ });
}
- private String typeReference(TypeName value) {
+ private String typeReference(ScalarType value) {
return value.getQualifiedName();
}
}