diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-11-21 11:48:14 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-11-21 11:48:14 +0000 |
| commit | 9604bf821f926e9fc653705ec78093ccb19d1195 (patch) | |
| tree | ba2dc08ac2f7ca02cf3360b711f8dd8e3def86c7 /src/main/java/org/zwobble/couscous/interpreter/Executor.java | |
| parent | df43ad49026543712029ca1a7155b4bd764fdcf2 (diff) | |
Only explore statements when finding declarations
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/Executor.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/interpreter/Executor.java | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Executor.java b/src/main/java/org/zwobble/couscous/interpreter/Executor.java index c9528be..556e7d1 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/Executor.java +++ b/src/main/java/org/zwobble/couscous/interpreter/Executor.java @@ -37,9 +37,8 @@ public class Executor implements StatementNodeMapper<Optional<InterpreterValue>> } private static Stream<VariableNode> findDeclarations(List<StatementNode> body) { - // TODO: add filter argument to descendantNodesAndSelf to allow recursion to be stopped early return body.stream() - .flatMap(NodeStructure::descendantNodesAndSelf) + .flatMap(statement -> descendantNodesAndSelf(statement, node -> node instanceof StatementNode)) .flatMap(node -> node.accept(new NodeMapperWithDefault<Stream<VariableNode>>(Stream.empty()) { @Override public Stream<VariableNode> visit(LocalVariableDeclarationNode localVariableDeclaration) { |
