lambda-calculus/expression/free.c
2025-01-13 20:36:07 -06:00

29 lines
437 B
C

#include <stdlib.h>
#include <assert.h>
#include <debug.h>
#include "inheritance.h"
#include "struct.h"
#include "free.h"
void free_expression(
struct expression* this)
{
ENTER;
if (this && !--this->refcount)
{
assert(this);
assert(this->inheritance);
assert(this->inheritance->free);
(this->inheritance->free)(this);
free(this);
}
EXIT;
}