From f2ed6b591da6149319c149d1c78694bfa9641a73 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 24 Jan 2016 16:01:06 +0000 Subject: Implement visitors on OperationNode instead of desugarring --- .../java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java | 5 +++++ .../org/zwobble/couscous/backends/python/PythonCodeGenerator.java | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'src/main/java/org/zwobble/couscous/backends') 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 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 @@ -283,6 +283,11 @@ public class PythonCodeGenerator { return pythonCall(classReference, arguments); } + @Override + public PythonExpressionNode visit(OperationNode operation) { + return generateExpression(operation.desugar()); + } + @Override public PythonExpressionNode visit(FieldAccessNode fieldAccess) { return pythonAttributeAccess(generateExpression(fieldAccess.getLeft()), fieldAccess.getFieldName()); -- cgit v1.2.3