1 #ifndef _PSI_TYPES_LET_FUNC_H
2 #define _PSI_TYPES_LET_FUNC_H
4 typedef impl_val
*(*let_func_handler
)(impl_val
*tmp
, decl_type
*type
, impl_arg
*iarg
, void **to_free
);
8 static inline void free_let_vals(struct let_vals
*vals
);
10 typedef struct let_func
{
14 let_func_handler handler
;
15 struct let_vals
*inner
;
16 struct let_val
*outer
;
20 static inline let_func
*init_let_func(token_t type
, const char *name
, impl_var
*var
) {
21 let_func
*func
= calloc(1, sizeof(*func
));
23 func
->name
= strdup(name
);
28 static inline void free_let_func(let_func
*func
) {
29 free_impl_var(func
->var
);
32 free_let_vals(func
->inner
);