lisp-take-1/value/user_lambda/foreach_accessible_subvalue.c

30 lines
529 B
C

#include <assert.h>
#include <debug.h>
#include "../struct.h"
#include "struct.h"
#include "foreach_accessible_subvalue.h"
void user_lambda_value_foreach_accessible_subvalue(
const struct value* super,
void (*callback)(
struct value* subvalue))
{
ENTER;
assert(super->kind == vk_user_lambda);
const struct user_lambda_value* this = &super->subclass.user_lambda;
callback(this->environment);
callback(this->parameters);
callback(this->body);
EXIT;
}