- if (def->type->strct) {
- P->structs = add_decl_struct(P->structs, def->type->strct);
- }
- if (def->type->enm) {
- P->enums = add_decl_enum(P->enums, def->type->enm);
+ switch (def->type->type) {
+ case PSI_T_STRUCT:
+ if (def->type->real.strct) {
+ P->structs = add_decl_struct(P->structs, def->type->real.strct);
+ }
+ break;
+ case PSI_T_UNION:
+ if (def->type->real.unn) {
+ P->unions = add_decl_union(P->unions, def->type->real.unn);
+ }
+ break;
+ case PSI_T_ENUM:
+ if (def->type->real.enm) {
+ P->enums = add_decl_enum(P->enums, def->type->real.enm);
+ }
+ break;