diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-28 14:45:56 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-28 14:45:56 +0000 |
| commit | ea417d7c4d430d4bb6fcce14e64ffda82f475805 (patch) | |
| tree | eddfd9b3374610a7b1b1f0af86d7a1e9374e8eb8 /src/main/java/org/zwobble/couscous/interpreter/Executor.java | |
| parent | 9600fba4a61e2e42da2221c1ec15e2a20072afa8 (diff) | |
Extract forEach over two iterabes
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/Executor.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/interpreter/Executor.java | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Executor.java b/src/main/java/org/zwobble/couscous/interpreter/Executor.java index fcdca98..d85013e 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/Executor.java +++ b/src/main/java/org/zwobble/couscous/interpreter/Executor.java @@ -13,6 +13,7 @@ import java.util.stream.Stream; import static org.zwobble.couscous.ast.structure.NodeStructure.descendantNodesAndSelf; import static org.zwobble.couscous.interpreter.Evaluator.eval; import static org.zwobble.couscous.interpreter.Evaluator.evalCondition; +import static org.zwobble.couscous.util.ExtraIterables.forEach; public class Executor implements StatementNodeMapper<Optional<InterpreterValue>> { public static InterpreterValue callMethod( @@ -53,11 +54,8 @@ public class Executor implements StatementNodeMapper<Optional<InterpreterValue>> Optional<InterpreterValue> thisValue, PositionalArguments arguments) { - // TODO use map with multiple iterables StackFrameBuilder stackFrame = new StackFrameBuilder(); - for (int index = 0; index < formalArguments.size(); index++) { - stackFrame.declare(formalArguments.get(index), arguments.get(index)); - } + forEach(formalArguments, arguments, stackFrame::declare); findDeclarations(statements).forEach(declaration -> stackFrame.declare(declaration)); return environment.withStackFrame(thisValue, stackFrame.build()); } |
