Commit 7987c6f9 authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard

widl: Rename ifref_t to typeref_t.

parent db580fe9
...@@ -57,8 +57,8 @@ static attr_t *make_custom_attr(UUID *id, expr_t *pval); ...@@ -57,8 +57,8 @@ static attr_t *make_custom_attr(UUID *id, expr_t *pval);
static expr_list_t *append_expr(expr_list_t *list, expr_t *expr); static expr_list_t *append_expr(expr_list_t *list, expr_t *expr);
static var_t *declare_var(attr_list_t *attrs, decl_spec_t *decl_spec, declarator_t *decl, int top); static var_t *declare_var(attr_list_t *attrs, decl_spec_t *decl_spec, declarator_t *decl, int top);
static var_list_t *set_var_types(attr_list_t *attrs, decl_spec_t *decl_spec, declarator_list_t *decls); static var_list_t *set_var_types(attr_list_t *attrs, decl_spec_t *decl_spec, declarator_list_t *decls);
static ifref_list_t *append_ifref(ifref_list_t *list, ifref_t *iface); static ifref_list_t *append_typeref(ifref_list_t *list, typeref_t *ref);
static ifref_t *make_ifref(type_t *iface); static typeref_t *make_typeref(type_t *type);
static var_list_t *append_var_list(var_list_t *list, var_list_t *vars); static var_list_t *append_var_list(var_list_t *list, var_list_t *vars);
static declarator_list_t *append_declarator(declarator_list_t *list, declarator_t *p); static declarator_list_t *append_declarator(declarator_list_t *list, declarator_t *p);
static declarator_t *make_declarator(var_t *var); static declarator_t *make_declarator(var_t *var);
...@@ -137,7 +137,7 @@ static typelib_t *current_typelib; ...@@ -137,7 +137,7 @@ static typelib_t *current_typelib;
statement_list_t *stmt_list; statement_list_t *stmt_list;
warning_t *warning; warning_t *warning;
warning_list_t *warning_list; warning_list_t *warning_list;
ifref_t *ifref; typeref_t *typeref;
ifref_list_t *ifref_list; ifref_list_t *ifref_list;
char *str; char *str;
UUID *uuid; UUID *uuid;
...@@ -293,7 +293,7 @@ static typelib_t *current_typelib; ...@@ -293,7 +293,7 @@ static typelib_t *current_typelib;
%type <type> type unqualified_type qualified_type %type <type> type unqualified_type qualified_type
%type <type> type_parameter %type <type> type_parameter
%type <type_list> type_parameters %type <type_list> type_parameters
%type <ifref> class_interface %type <typeref> class_interface
%type <ifref_list> class_interfaces %type <ifref_list> class_interfaces
%type <ifref_list> requires required_types %type <ifref_list> requires required_types
%type <var> arg ne_union_field union_field s_field case enum enum_member declaration %type <var> arg ne_union_field union_field s_field case enum enum_member declaration
...@@ -939,12 +939,12 @@ namespacedef: tNAMESPACE aIDENTIFIER { $$ = $2; } ...@@ -939,12 +939,12 @@ namespacedef: tNAMESPACE aIDENTIFIER { $$ = $2; }
; ;
class_interfaces: { $$ = NULL; } class_interfaces: { $$ = NULL; }
| class_interfaces class_interface { $$ = append_ifref( $1, $2 ); } | class_interfaces class_interface { $$ = append_typeref( $1, $2 ); }
; ;
class_interface: class_interface:
m_attributes interfaceref ';' { $$ = make_ifref($2); $$->attrs = $1; } m_attributes interfaceref ';' { $$ = make_typeref($2); $$->attrs = $1; }
| m_attributes dispinterfaceref ';' { $$ = make_ifref($2); $$->attrs = $1; } | m_attributes dispinterfaceref ';' { $$ = make_typeref($2); $$->attrs = $1; }
; ;
dispinterface: tDISPINTERFACE typename { $$ = type_dispinterface_declare($2); } dispinterface: tDISPINTERFACE typename { $$ = type_dispinterface_declare($2); }
...@@ -987,8 +987,8 @@ interface: ...@@ -987,8 +987,8 @@ interface:
; ;
required_types: required_types:
qualified_type { $$ = append_ifref(NULL, make_ifref($1)); } qualified_type { $$ = append_typeref(NULL, make_typeref($1)); }
| required_types ',' qualified_type { $$ = append_ifref($1, make_ifref($3)); } | required_types ',' qualified_type { $$ = append_typeref($1, make_typeref($3)); }
requires: { $$ = NULL; } requires: { $$ = NULL; }
| tREQUIRES required_types { $$ = $2; } | tREQUIRES required_types { $$ = $2; }
...@@ -1814,24 +1814,24 @@ static var_list_t *set_var_types(attr_list_t *attrs, decl_spec_t *decl_spec, dec ...@@ -1814,24 +1814,24 @@ static var_list_t *set_var_types(attr_list_t *attrs, decl_spec_t *decl_spec, dec
return var_list; return var_list;
} }
static ifref_list_t *append_ifref(ifref_list_t *list, ifref_t *iface) static ifref_list_t *append_typeref(ifref_list_t *list, typeref_t *ref)
{ {
if (!iface) return list; if (!ref) return list;
if (!list) if (!list)
{ {
list = xmalloc( sizeof(*list) ); list = xmalloc( sizeof(*list) );
list_init( list ); list_init( list );
} }
list_add_tail( list, &iface->entry ); list_add_tail( list, &ref->entry );
return list; return list;
} }
static ifref_t *make_ifref(type_t *type) static typeref_t *make_typeref(type_t *type)
{ {
ifref_t *l = xmalloc(sizeof(ifref_t)); typeref_t *ref = xmalloc(sizeof(typeref_t));
l->type = type; ref->type = type;
l->attrs = NULL; ref->attrs = NULL;
return l; return ref;
} }
static type_list_t *append_type(type_list_t *list, type_t *type) static type_list_t *append_type(type_list_t *list, type_t *type)
......
...@@ -548,7 +548,7 @@ type_t *type_runtimeclass_declare(char *name, struct namespace *namespace) ...@@ -548,7 +548,7 @@ type_t *type_runtimeclass_declare(char *name, struct namespace *namespace)
type_t *type_runtimeclass_define(type_t *runtimeclass, attr_list_t *attrs, ifref_list_t *ifaces) type_t *type_runtimeclass_define(type_t *runtimeclass, attr_list_t *attrs, ifref_list_t *ifaces)
{ {
ifref_t *ifref, *required, *tmp; typeref_t *ref, *required, *tmp;
ifref_list_t *requires; ifref_list_t *requires;
if (runtimeclass->defined) if (runtimeclass->defined)
...@@ -560,24 +560,24 @@ type_t *type_runtimeclass_define(type_t *runtimeclass, attr_list_t *attrs, ifref ...@@ -560,24 +560,24 @@ type_t *type_runtimeclass_define(type_t *runtimeclass, attr_list_t *attrs, ifref
if (!type_runtimeclass_get_default_iface(runtimeclass)) if (!type_runtimeclass_get_default_iface(runtimeclass))
error_loc("missing default interface on runtimeclass %s\n", runtimeclass->name); error_loc("missing default interface on runtimeclass %s\n", runtimeclass->name);
LIST_FOR_EACH_ENTRY(ifref, ifaces, ifref_t, entry) LIST_FOR_EACH_ENTRY(ref, ifaces, typeref_t, entry)
{ {
/* FIXME: this should probably not be allowed, here or in coclass, */ /* FIXME: this should probably not be allowed, here or in coclass, */
/* but for now there's too many places in Wine IDL where it is to */ /* but for now there's too many places in Wine IDL where it is to */
/* even print a warning. */ /* even print a warning. */
if (!(ifref->type->defined)) continue; if (!(ref->type->defined)) continue;
if (!(requires = type_iface_get_requires(ifref->type))) continue; if (!(requires = type_iface_get_requires(ref->type))) continue;
LIST_FOR_EACH_ENTRY(required, requires, ifref_t, entry) LIST_FOR_EACH_ENTRY(required, requires, typeref_t, entry)
{ {
int found = 0; int found = 0;
LIST_FOR_EACH_ENTRY(tmp, ifaces, ifref_t, entry) LIST_FOR_EACH_ENTRY(tmp, ifaces, typeref_t, entry)
if ((found = type_is_equal(tmp->type, required->type))) break; if ((found = type_is_equal(tmp->type, required->type))) break;
if (!found) if (!found)
error_loc("interface '%s' also requires interface '%s', " error_loc("interface '%s' also requires interface '%s', "
"but runtimeclass '%s' does not implement it.\n", "but runtimeclass '%s' does not implement it.\n",
ifref->type->name, required->type->name, runtimeclass->name); ref->type->name, required->type->name, runtimeclass->name);
} }
} }
......
...@@ -358,12 +358,12 @@ static inline ifref_list_t *type_runtimeclass_get_ifaces(const type_t *type) ...@@ -358,12 +358,12 @@ static inline ifref_list_t *type_runtimeclass_get_ifaces(const type_t *type)
static inline type_t *type_runtimeclass_get_default_iface(const type_t *type) static inline type_t *type_runtimeclass_get_default_iface(const type_t *type)
{ {
ifref_list_t *ifaces = type_runtimeclass_get_ifaces(type); ifref_list_t *ifaces = type_runtimeclass_get_ifaces(type);
ifref_t *entry; typeref_t *ref;
if (!ifaces) return NULL; if (!ifaces) return NULL;
LIST_FOR_EACH_ENTRY(entry, ifaces, ifref_t, entry) LIST_FOR_EACH_ENTRY(ref, ifaces, typeref_t, entry)
if (is_attr(entry->attrs, ATTR_DEFAULT)) if (is_attr(ref->attrs, ATTR_DEFAULT))
return entry->type; return ref->type;
return NULL; return NULL;
} }
......
...@@ -43,7 +43,7 @@ typedef struct _type_t type_t; ...@@ -43,7 +43,7 @@ typedef struct _type_t type_t;
typedef struct _var_t var_t; typedef struct _var_t var_t;
typedef struct _decl_spec_t decl_spec_t; typedef struct _decl_spec_t decl_spec_t;
typedef struct _declarator_t declarator_t; typedef struct _declarator_t declarator_t;
typedef struct _ifref_t ifref_t; typedef struct _typeref_t typeref_t;
typedef struct _typelib_entry_t typelib_entry_t; typedef struct _typelib_entry_t typelib_entry_t;
typedef struct _importlib_t importlib_t; typedef struct _importlib_t importlib_t;
typedef struct _importinfo_t importinfo_t; typedef struct _importinfo_t importinfo_t;
...@@ -537,7 +537,7 @@ struct _declarator_t { ...@@ -537,7 +537,7 @@ struct _declarator_t {
struct list entry; struct list entry;
}; };
struct _ifref_t { struct _typeref_t {
type_t *type; type_t *type;
attr_list_t *attrs; attr_list_t *attrs;
...@@ -601,7 +601,6 @@ struct _statement_t { ...@@ -601,7 +601,6 @@ struct _statement_t {
enum statement_type type; enum statement_type type;
union union
{ {
ifref_t iface;
type_t *type; type_t *type;
const char *str; const char *str;
var_t *var; var_t *var;
......
...@@ -2331,7 +2331,7 @@ static void add_typedef_typeinfo(msft_typelib_t *typelib, type_t *tdef) ...@@ -2331,7 +2331,7 @@ static void add_typedef_typeinfo(msft_typelib_t *typelib, type_t *tdef)
static void add_coclass_typeinfo(msft_typelib_t *typelib, type_t *cls) static void add_coclass_typeinfo(msft_typelib_t *typelib, type_t *cls)
{ {
msft_typeinfo_t *msft_typeinfo; msft_typeinfo_t *msft_typeinfo;
ifref_t *iref; typeref_t *iref;
int num_ifaces = 0, offset, i; int num_ifaces = 0, offset, i;
MSFT_RefRecord *ref, *first = NULL, *first_source = NULL; MSFT_RefRecord *ref, *first = NULL, *first_source = NULL;
int have_default = 0, have_default_source = 0; int have_default = 0, have_default_source = 0;
...@@ -2345,13 +2345,13 @@ static void add_coclass_typeinfo(msft_typelib_t *typelib, type_t *cls) ...@@ -2345,13 +2345,13 @@ static void add_coclass_typeinfo(msft_typelib_t *typelib, type_t *cls)
msft_typeinfo = create_msft_typeinfo(typelib, TKIND_COCLASS, cls->name, cls->attrs); msft_typeinfo = create_msft_typeinfo(typelib, TKIND_COCLASS, cls->name, cls->attrs);
ifaces = type_coclass_get_ifaces(cls); ifaces = type_coclass_get_ifaces(cls);
if (ifaces) LIST_FOR_EACH_ENTRY( iref, ifaces, ifref_t, entry ) num_ifaces++; if (ifaces) LIST_FOR_EACH_ENTRY( iref, ifaces, typeref_t, entry ) num_ifaces++;
offset = msft_typeinfo->typeinfo->datatype1 = ctl2_alloc_segment(typelib, MSFT_SEG_REFERENCES, offset = msft_typeinfo->typeinfo->datatype1 = ctl2_alloc_segment(typelib, MSFT_SEG_REFERENCES,
num_ifaces * sizeof(*ref), 0); num_ifaces * sizeof(*ref), 0);
i = 0; i = 0;
if (ifaces) LIST_FOR_EACH_ENTRY( iref, ifaces, ifref_t, entry ) { if (ifaces) LIST_FOR_EACH_ENTRY( iref, ifaces, typeref_t, entry ) {
if(iref->type->typelib_idx == -1) if(iref->type->typelib_idx == -1)
add_interface_typeinfo(typelib, iref->type); add_interface_typeinfo(typelib, iref->type);
ref = (MSFT_RefRecord*) (typelib->typelib_segment_data[MSFT_SEG_REFERENCES] + offset + i * sizeof(*ref)); ref = (MSFT_RefRecord*) (typelib->typelib_segment_data[MSFT_SEG_REFERENCES] + offset + i * sizeof(*ref));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment