From cd244418efb005c27b1018458767c57dfa09e046 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 17 Jan 2016 18:02:27 +0000 Subject: Add transformation pass to C# backend --- .../java/org/zwobble/couscous/ast/ConstructorCallNode.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java') diff --git a/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java b/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java index cad359d..ecbdc00 100644 --- a/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java +++ b/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java @@ -1,10 +1,11 @@ package org.zwobble.couscous.ast; +import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper; +import org.zwobble.couscous.ast.visitors.NodeTransformer; + import java.util.List; import java.util.function.Function; -import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper; - import static org.zwobble.couscous.util.ExtraLists.eagerMap; public class ConstructorCallNode implements ExpressionNode { @@ -43,6 +44,12 @@ public class ConstructorCallNode implements ExpressionNode { return new ConstructorCallNode(type, eagerMap(arguments, replace::apply)); } + public ExpressionNode transform(NodeTransformer transformer) { + return new ConstructorCallNode( + transformer.transform(type), + transformer.transformExpressions(arguments)); + } + @Override public String toString() { return "ConstructorCallNode(type=" + type + ", arguments=" + arguments -- cgit v1.2.3