aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-01-24 16:01:06 +0000
committerMichael Williamson <mike@zwobble.org>2016-01-24 16:01:06 +0000
commitf2ed6b591da6149319c149d1c78694bfa9641a73 (patch)
tree65cbe4fe98c28d4e0e4c130936d0dff8098bc489 /src/main/java/org/zwobble/couscous/backends
parente448dbcfaab619dc85d0d6d7f4b3dfe827646e38 (diff)
Implement visitors on OperationNode instead of desugarring
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java5
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java5
2 files changed, 10 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 ffd2f02..06dafbb 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
@@ -119,6 +119,11 @@ public class CsharpSerializer implements NodeVisitor {
writeArguments(call.getArguments());
}
+ @Override
+ public void visit(OperationNode operation) {
+ write(operation.desugar());
+ }
+
private void writeArguments(List<? extends ExpressionNode> arguments) {
writer.writeSymbol("(");
writer.writeWithSeparator(arguments, this::write, () -> writer.writeSymbol(", "));
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 f518faa..964c5f9 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java
@@ -284,6 +284,11 @@ public class PythonCodeGenerator {
}
@Override
+ public PythonExpressionNode visit(OperationNode operation) {
+ return generateExpression(operation.desugar());
+ }
+
+ @Override
public PythonExpressionNode visit(FieldAccessNode fieldAccess) {
return pythonAttributeAccess(generateExpression(fieldAccess.getLeft()), fieldAccess.getFieldName());
}