lang: update bluelib api usage

This commit is contained in:
2025-11-06 10:38:32 +00:00
parent b26c37c349
commit 4386965cd9
40 changed files with 351 additions and 271 deletions

View File

@@ -44,12 +44,13 @@ void ivy_parser_destroy(struct ivy_parser *parser, struct ivy_ast_node **result)
{
struct ivy_ast_node *root = NULL;
b_queue_iterator it;
b_queue_iterator_begin(&parser->p_state, &it);
while (b_queue_iterator_is_valid(&it)) {
b_queue_entry *entry = b_queue_first(&parser->p_state);
;
while (entry) {
struct parser_state *state
= b_unbox(struct parser_state, it.entry, s_entry);
b_queue_iterator_erase(&it);
= b_unbox(struct parser_state, entry, s_entry);
b_queue_entry *next = b_queue_next(entry);
b_queue_delete(&parser->p_state, entry);
if (root) {
ivy_ast_node_destroy(root);
@@ -57,6 +58,7 @@ void ivy_parser_destroy(struct ivy_parser *parser, struct ivy_ast_node **result)
root = state->s_node;
free(state);
entry = next;
}
if (result) {