widl: Move the ifaces field of the type_t structure to coclass details.

This commit is contained in:
Rob Shearman 2009-01-05 23:34:44 +00:00 committed by Alexandre Julliard
parent 83b1f08117
commit 8a42bc1f7b
4 changed files with 8 additions and 4 deletions

View File

@ -1295,7 +1295,6 @@ type_t *make_type(unsigned char type, type_t *ref)
t->attrs = NULL;
t->orig = NULL;
memset(&t->details, 0, sizeof(t->details));
t->ifaces = NULL;
t->typestring_offset = 0;
t->ptrdesc = 0;
t->declarray = FALSE;

View File

@ -140,7 +140,7 @@ void type_module_define(type_t *module, statement_list_t *stmts)
type_t *type_coclass_define(type_t *coclass, ifref_list_t *ifaces)
{
coclass->ifaces = ifaces;
coclass->details.coclass.ifaces = ifaces;
coclass->defined = TRUE;
return coclass;
}

View File

@ -157,7 +157,7 @@ static inline int type_is_alias(const type_t *type)
static inline ifref_list_t *type_coclass_get_ifaces(const type_t *type)
{
assert(type->type == RPC_FC_COCLASS);
return type->ifaces;
return type->details.coclass.ifaces;
}
#endif /* WIDL_TYPE_TREE_H */

View File

@ -296,6 +296,11 @@ struct array_details
expr_t *size_is, *length_is;
};
struct coclass_details
{
ifref_list_t *ifaces;
};
struct _type_t {
const char *name;
unsigned char type;
@ -309,8 +314,8 @@ struct _type_t {
struct iface_details *iface;
struct module_details *module;
struct array_details array;
struct coclass_details coclass;
} details;
ifref_list_t *ifaces; /* coclasses */
type_t *orig; /* dup'd types */
unsigned int typestring_offset;
unsigned int ptrdesc; /* used for complex structs */