This commit is contained in:
Krzosa Karol
2022-05-07 15:48:53 +02:00
parent d3ede16bab
commit 042127239e
11 changed files with 629 additions and 266 deletions

49
generated.c Normal file
View File

@@ -0,0 +1,49 @@
function void decl_dll_list_push(Decl*l,Decl*node){
if (l->list_decl.first==0){
l->list_decl.first=l->list_decl.last=node;
node->prev=0;
node->next=0;
}
else {
l->list_decl.last->next=node;
node->prev=l->list_decl.last;
node->next=0;
l->list_decl.last=node;
}
node->parent=l;
}
function void decl_dll_list_push_front(Decl*l,Decl*node){
if (l->list_decl.first==0){
l->list_decl.first=l->list_decl.last=node;
node->prev=0;
node->next=0;
}
else {
node->next=l->list_decl.first;
l->list_decl.first->prev=node;
node->prev=0;
l->list_decl.first=node;
}
node->parent=l;
}
function void decl_list_remove(Decl*l,Decl*node){
if (l->list_decl.first==l->list_decl.last){
assert(node==l->list_decl.last);
l->list_decl.first=l->list_decl.last=0;
}
else if (l->list_decl.last==node){
l->list_decl.last=l->list_decl.last->prev;
l->list_decl.last->next=0;
}
else if (l->list_decl.first==node){
l->list_decl.first=l->list_decl.first->next;
l->list_decl.first->prev=0;
}
else {
node->prev->next=node->next;
node->next->prev=node->prev;
}
node->parent=0;
node->prev=0;
node->next=0;
}