view src/func.c @ 127:dbed1593881c

func: Implement yfunc_destroy()
author Lewin Bormann <lbo@spheniscida.de>
date Sun, 01 Sep 2019 19:21:46 +0200
parents 8ac9f39db10f
children
line wrap: on
line source

#include "func.h"

#include "value.h"

void yfunc_destroy(yfunc_t* func) {
    for (size_t i = 0; i < func->body.len; i++) {
        yexpr_destroy(YVEC_AT(&func->body, i, yexpr_t));
    }
    yvec_destroy(&func->body);
    for (size_t i = 0; i < func->args.len; i++) {
        yarg_desc_t* arg = YVEC_AT(&func->args, i, yarg_desc_t);
        ystr_destroy(&arg->argname);
        yref_destroy(&arg->argref);
    }
    yvec_destroy(&func->args);
    ystr_destroy(&func->name);
}