SCons :: Node :: Walker :: Class Walker
[hide private]
[frames] | no frames]

Class Walker

source code

An iterator for walking a Node tree.

This is depth-first, children are visited before the parent.
The Walker object can be initialized with any node, and
returns the next node on the descent with each next() call.
'kids_func' is an optional function that will be called to
get the children of a node instead of calling 'children'.
'cycle_func' is an optional function that will be called
when a cycle is detected.

This class does not get caught in node cycles caused, for example,
by C header file include loops.



Instance Methods [hide private]
 
__init__(self, node, kids_func=<function get_children at 0x84b717c>, cycle_func=<function ignore_cycle at 0x84c072c>, eval_func=<function do_nothing at 0x84c0764>) source code
 
next(self)
Return the next node for this walk of the tree.
source code
 
is_done(self) source code
Method Details [hide private]

next(self)

source code 
Return the next node for this walk of the tree.

This function is intentionally iterative, not recursive,
to sidestep any issues of stack size limitations.