- switch (t->type) {
- case PSI_T_STRUCT:
- pre = "struct ";
- break;
- default:
- pre = "";
- }
- dprintf(fd, "%s%s", pre, t->name);
-}
-static inline void dump_decl_var(int fd, decl_var *v) {
- dprintf(fd, "%.*s%s", v->pointer_level-!!v->array_size, "**********", v->name);
- if (v->array_size) {
- dprintf(fd, "[%u]", v->array_size);
- }
-}
-static inline void dump_decl_arg(int fd, decl_arg *a) {
- dump_decl_type(fd, a->type);
- dprintf(fd, " ");
- dump_decl_var(fd, a->var);
-}
-static inline void dump_level(int fd, unsigned level) {
- dprintf(fd, "%.*s", level, "\t\t\t\t\t\t\t\t\t");
-}
-static inline void dump_num_exp(int fd, num_exp *exp) {
- while (exp) {
- switch (exp->t) {
- case PSI_T_NUMBER:
- dprintf(fd, "%s", exp->u.numb);
- break;
- case PSI_T_NSNAME:
- dprintf(fd, "%s", exp->u.cnst->name);
- break;
- case PSI_T_NAME:
- dump_decl_var(fd, exp->u.dvar);
- break;
- EMPTY_SWITCH_DEFAULT_CASE();
- }
- if (exp->operand) {
- char op;
-
- switch (exp->operator) {
- case PSI_T_PLUS: op = '+'; break;
- case PSI_T_MINUS: op = '-'; break;
- case PSI_T_ASTERISK:op = '*'; break;
- case PSI_T_SLASH: op = '/'; break;
- EMPTY_SWITCH_DEFAULT_CASE();
- }
- dprintf(fd, " %c ", op);
- }
- exp = exp->operand;
- }
-}
-static inline void dump_impl_set_value(int fd, set_value *set, unsigned level) {
- size_t i;