0b6b269f7b58911efbbb6c29b1cec82c49ddaa55
1 #ifndef _PSI_TYPES_SET_VALUE_H
2 #define _PSI_TYPES_SET_VALUE_H
4 typedef struct set_value
{
12 struct set_values
*inner
;
15 static inline set_value
*init_set_value(set_func
*func
, decl_vars
*vars
) {
16 set_value
*val
= calloc(1, sizeof(*val
));
22 static inline struct set_values
*add_set_value(struct set_values
*vals
, struct set_value
*val
);
23 static inline set_value
*add_inner_set_value(set_value
*val
, set_value
*inner
) {
24 val
->inner
= add_set_value(val
->inner
, inner
);
25 inner
->outer
.set
= val
;
29 static inline void free_set_value(set_value
*val
) {
31 free_set_func(val
->func
);
34 free_decl_vars(val
->vars
);
36 if (val
->inner
&& (!val
->outer
.set
|| val
->outer
.set
->inner
!= val
->inner
)) {
37 free_set_values(val
->inner
);
40 free_num_exp(val
->num
);