aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-06-17 21:36:44 +0100
committerMichael Williamson <mike@zwobble.org>2016-06-17 21:36:54 +0100
commit54cff9ee73eadd200c6793c5d2a520f76e1aba4f (patch)
treeecf80cb2b239c351673d35ba7a727efaa9ee9b85 /src/main/java/org/zwobble/couscous/backends
parent65371fd16808d9c8f34d0e0cd2ba030bcc6a7128 (diff)
Support instanceof in C# backend
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java14
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java6
2 files changed, 20 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 13a4efa..4ec0790 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
@@ -261,6 +261,15 @@ public class CsharpSerializer implements NodeVisitor {
}
}
+ @Override
+ public void visit(InstanceOfNode instanceOf) {
+ writeParenthesized(instanceOf.getLeft(), instanceOf);
+ writer.writeSpace();
+ writer.writeKeyword("is");
+ writer.writeSpace();
+ writeTypeReference(instanceOf.getRight());
+ }
+
private void writeArguments(List<? extends ExpressionNode> arguments) {
writer.writeSymbol("(");
writer.writeCommaSeparated(arguments, this::write);
@@ -763,6 +772,11 @@ public class CsharpSerializer implements NodeVisitor {
}
@Override
+ public Integer visit(InstanceOfNode instanceOf) {
+ return 9;
+ }
+
+ @Override
public Integer visit(FieldAccessNode fieldAccess) {
return 15;
}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java
index 8e99347..504288d 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java
@@ -369,6 +369,12 @@ public class PythonCodeGenerator {
}
@Override
+ public PythonExpressionNode visit(InstanceOfNode instanceOf) {
+ // TODO:
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public PythonExpressionNode visit(FieldAccessNode fieldAccess) {
return pythonAttributeAccess(generateReceiver(fieldAccess.getLeft()), fieldAccess.getFieldName());
}