#include static enum bshell_status collect_children( struct bshell_ast_node *node, struct bshell_ast_iterator *it) { struct bshell_if_branch_ast_node *if_branch = (struct bshell_if_branch_ast_node *)node; if (if_branch->n_cond) { bshell_ast_iterator_enqueue(it, if_branch->n_cond); } if (if_branch->n_body) { bshell_ast_iterator_enqueue(it, if_branch->n_body); } return BSHELL_SUCCESS; } struct bshell_ast_node_definition if_branch_bshell_ast_node = { .def_id = BSHELL_AST_IF_BRANCH, .def_node_size = sizeof(struct bshell_if_branch_ast_node), .def_collect_children = collect_children, };