diff options
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/interpreter/Executor.java | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Executor.java b/src/main/java/org/zwobble/couscous/interpreter/Executor.java index 84665a1..1d9a327 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/Executor.java +++ b/src/main/java/org/zwobble/couscous/interpreter/Executor.java @@ -94,11 +94,10 @@ public class Executor implements StatementNodeMapper<Optional<InterpreterValue>> @Override public Optional<InterpreterValue> visit(IfStatementNode ifStatement) { BooleanInterpreterValue condition = (BooleanInterpreterValue) eval(environment, ifStatement.getCondition()); - if (condition.getValue()) { - return exec(ifStatement.getTrueBranch()); - } else { - return exec(ifStatement.getFalseBranch()); - } + List<StatementNode> body = condition.getValue() + ? ifStatement.getTrueBranch() + : ifStatement.getFalseBranch(); + return exec(body); } @Override |
