diff --git a/src/Tree/Walker.nqp b/src/Tree/Walker.nqp index 2d453a0..dc8001b 100644 --- a/src/Tree/Walker.nqp +++ b/src/Tree/Walker.nqp @@ -3,11 +3,17 @@ # $Id$ class Tree::Walker { + our multi sub walk (Tree::Walker $walker, Capture $node) { + # By default, just walk the children of $node. walkChildren($walker, $node); } our multi sub walkChildren (Tree::Walker $walker, Capture $tree) { + # We walk only the array part of the Capture by default, because + # the attributes of PAST::Nodes, for example, can sometimes contain + # cycles. In addition, in general, attributes are not used + # for simple sub-trees. my $index := 0; my $len := pir::elements__iP($tree); while ($index < $len) {