#include "iterate.h" #include "node.h" static void collect_children( struct ivy_ast_node *node, struct ivy_ast_node_iterator *iterator) { struct ivy_ast_for_loop_node *loop = (struct ivy_ast_for_loop_node *)node; if (loop->n_iterator) { ast_node_iterator_enqueue_node(iterator, node, loop->n_iterator); } if (loop->n_iterable) { ast_node_iterator_enqueue_node(iterator, node, loop->n_iterable); } if (loop->n_body) { ast_node_iterator_enqueue_node(iterator, node, loop->n_body); } } struct ast_node_type for_loop_node_ops = { .n_collect_children = collect_children, .n_node_size = sizeof(struct ivy_ast_for_loop_node), };