Files
ivy/lang/ast/for.c
T

26 lines
643 B
C
Raw Normal View History

2024-12-06 10:02:31 +00:00
#include "iterate.h"
#include "node.h"
2024-12-06 10:02:31 +00:00
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),
};