aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/visitors
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/visitors')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java b/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
index 78bd6ef..296e5c7 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
@@ -126,8 +126,8 @@ public class NodeTransformer {
}
public ExpressionNode transformExpression(ExpressionNode expression) {
- return transformExpression.apply(expression)
- .orElseGet(() -> expression.transform(this));
+ ExpressionNode transformed = expression.transform(this);
+ return transformExpression.apply(transformed).orElse(transformed);
}
public Receiver transformReceiver(Receiver receiver) {
@@ -139,8 +139,8 @@ public class NodeTransformer {
}
public final Iterable<StatementNode> transformStatement(StatementNode statement) {
- return transformStatement.apply(statement)
- .orElseGet(() -> list(statement.transform(this)));
+ StatementNode transformed = statement.transform(this);
+ return transformStatement.apply(transformed).orElseGet(() -> list(transformed));
}
public FormalTypeParameterNode transformFormalTypeParameter(FormalTypeParameterNode typeParameter) {