aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/StatementNode.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-01-17 18:23:09 +0000
committerMichael Williamson <mike@zwobble.org>2016-01-17 18:23:09 +0000
commit2368822a1d143e9fd677f02b0b944bbace0c911d (patch)
treebc09839ac9647d4582b886f26a9ddfa662b27de4 /src/main/java/org/zwobble/couscous/ast/StatementNode.java
parent921de028319d06253bc2a73302e8f4ee51bc7ca0 (diff)
Implement StatementNode.replaceExpressions using node transformer
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/StatementNode.java')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/StatementNode.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/StatementNode.java b/src/main/java/org/zwobble/couscous/ast/StatementNode.java
index 4b9c9de..87b1319 100644
--- a/src/main/java/org/zwobble/couscous/ast/StatementNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/StatementNode.java
@@ -1,6 +1,7 @@
package org.zwobble.couscous.ast;
import org.zwobble.couscous.ast.visitors.NodeMapper;
+import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.ast.visitors.StatementNodeMapper;
import java.util.function.Function;
@@ -38,5 +39,13 @@ public interface StatementNode extends Node {
});
}
- StatementNode replaceExpressions(Function<ExpressionNode, ExpressionNode> replace);
+ StatementNode transform(NodeTransformer transformer);
+ default StatementNode replaceExpressions(Function<ExpressionNode, ExpressionNode> replace) {
+ return transform(new NodeTransformer() {
+ @Override
+ public ExpressionNode visit(ExpressionNode value) {
+ return replace.apply(value);
+ }
+ });
+ }
}