27#ifndef WIDL_TYPE_TREE_H
28#define WIDL_TYPE_TREE_H
122 return type->details.basic.type;
129 return type->details.basic.sign;
136 return type->details.structure->fields;
143 return type->details.function->args;
150 return type->details.function->retval;
167 return type->details.enumeration->enums;
181 return type->details.structure->fields;
198 return type->details.structure->fields;
205 return type->details.iface->stmts;
212 return type->details.iface->inherit;
219 return type->details.iface->requires;
226 return type->details.iface->async_iface;
233 return type->details.iface->disp_props;
240 return type->details.iface->disp_methods;
247 return type->details.iface->disp_inherit;
252 return type->defined;
260 return (
type->details.function !=
NULL);
262 return (
type->details.iface !=
NULL);
264 return (
type->details.enumeration !=
NULL);
268 return (
type->details.structure !=
NULL);
293 return (
type->details.array.size_is !=
NULL);
300 return (
type->details.array.length_is !=
NULL);
307 return type->details.array.dim;
314 return type->details.array.size_is;
321 return type->details.array.length_is;
328 return type->details.array.ptr_tfsoff;
335 type->details.array.ptr_tfsoff = ptr_tfsoff;
342 return &
type->details.array.elem;
354 return type->details.array.declptr;
370 return &
type->details.alias.aliasee;
376 return type->details.alias.aliasee.type;
383 return type->details.coclass.ifaces;
390 return type->details.runtimeclass.ifaces;
403 error_at( &
type->where,
"runtimeclass %s needs a default interface\n",
type->name );
414 return type->details.delegate.iface;
421 return &
type->details.pointer.ref;
439 return type->details.bitfield.field;
446 return type->details.bitfield.bits;
#define check(expected, result)
GLuint GLuint GLsizei GLenum type
GLenum const GLfloat * params
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
static const struct encodedInt enums[]
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
__WINE_SERVER_LIST_INLINE struct list * list_tail(const struct list *list)
union _type_t::@5357 details
struct struct_details * structure
static int type_array_is_decl_as_ptr(const type_t *type)
type_t * type_module_define(type_t *module, attr_list_t *attrs, statement_list_t *stmts, const struct location *where)
static enum type_type type_get_type(const type_t *type)
type_t * find_parameterized_type(type_t *type, typeref_list_t *params)
static type_t * type_runtimeclass_get_default_iface(const type_t *type, int check)
typeref_t * make_typeref(type_t *type)
static unsigned short type_array_get_ptr_tfsoff(const type_t *type)
type_t * type_parameterized_type_specialize_partial(type_t *type, typeref_list_t *params)
type_t * type_dispinterface_define_from_iface(type_t *dispiface, attr_list_t *attrs, type_t *iface, const struct location *where)
type_t * type_runtimeclass_define(type_t *runtimeclass, attr_list_t *attrs, typeref_list_t *ifaces, const struct location *where)
int type_is_equal(const type_t *type1, const type_t *type2)
type_t * type_apicontract_declare(char *name, struct namespace *namespace)
type_t * type_new_function(var_list_t *args)
type_t * type_parameterized_delegate_declare(char *name, struct namespace *namespace, typeref_list_t *params)
static const decl_spec_t * type_function_get_ret(const type_t *type)
static typeref_list_t * type_coclass_get_ifaces(const type_t *type)
typeref_list_t * append_typeref(typeref_list_t *list, typeref_t *ref)
static const expr_t * type_bitfield_get_bits(const type_t *type)
type_t * type_runtimeclass_declare(char *name, struct namespace *namespace)
static type_t * type_delegate_get_iface(const type_t *type)
static type_t * type_get_real_type(const type_t *type)
static int type_is_ptr(const type_t *type)
static void type_array_set_ptr_tfsoff(type_t *type, unsigned short ptr_tfsoff)
type_t * type_coclass_declare(char *name)
type_t * type_new_encapsulated_union(char *name, var_t *switch_field, var_t *union_field, var_list_t *cases, const struct location *where)
static int type_basic_get_sign(const type_t *type)
static var_t * type_union_get_switch_value(const type_t *type)
static type_t * type_function_get_rettype(const type_t *type)
static expr_t * type_array_get_variance(const type_t *type)
type_t * type_new_nonencapsulated_union(const char *name, struct namespace *namespace, int defined, var_list_t *fields, const struct location *where)
type_t * type_parameterized_interface_define(type_t *type, attr_list_t *attrs, type_t *inherit, statement_list_t *stmts, typeref_list_t *requires, const struct location *where)
type_t * type_new_array(const char *name, const decl_spec_t *element, int declptr, unsigned int dim, expr_t *size_is, expr_t *length_is)
static int type_array_has_conformance(const type_t *type)
type_t * type_delegate_declare(char *name, struct namespace *namespace)
type_t * type_parameterized_interface_declare(char *name, struct namespace *namespace, typeref_list_t *params)
static type_t * type_pointer_get_root_type(type_t *type)
static var_list_t * type_union_get_cases(const type_t *type)
type_t * type_parameterized_delegate_define(type_t *type, attr_list_t *attrs, statement_list_t *stmts, const struct location *where)
type_t * type_module_declare(char *name)
static var_list_t * type_dispiface_get_methods(const type_t *type)
static type_t * type_array_get_element_type(const type_t *type)
type_t * type_interface_define(type_t *iface, attr_list_t *attrs, type_t *inherit, statement_list_t *stmts, typeref_list_t *requires, const struct location *where)
static typeref_list_t * type_iface_get_requires(const type_t *type)
static type_t * type_bitfield_get_field(const type_t *type)
type_t * type_new_bitfield(type_t *field_type, const expr_t *bits)
type_t * type_new_basic(enum type_basic_type basic_type)
static type_t * type_alias_get_aliasee_type(const type_t *type)
static enum type_basic_type type_basic_get_type(const type_t *type)
const char * type_get_decl_name(const type_t *type, enum name_type name_type)
static var_t * type_function_get_retval(const type_t *type)
static type_t * type_dispiface_get_inherit(const type_t *type)
static type_t * type_iface_get_async_iface(const type_t *type)
type_t * type_new_pointer(type_t *ref)
static const decl_spec_t * type_pointer_get_ref(const type_t *type)
static expr_t * type_array_get_conformance(const type_t *type)
type_t * type_parameterized_type_specialize_define(type_t *type)
static int type_is_defined(const type_t *type)
type_t * type_new_void(void)
type_t * type_interface_declare(char *name, struct namespace *namespace)
static var_list_t * type_struct_get_fields(const type_t *type)
type_t * type_delegate_define(type_t *delegate, attr_list_t *attrs, statement_list_t *stmts, const struct location *where)
static int type_is_complete(const type_t *type)
static const decl_spec_t * type_alias_get_aliasee(const type_t *type)
static typeref_list_t * type_runtimeclass_get_ifaces(const type_t *type)
static var_list_t * type_encapsulated_union_get_fields(const type_t *type)
const char * type_get_name(const type_t *type, enum name_type name_type)
static type_t * type_pointer_get_ref_type(const type_t *type)
type_t * type_new_struct(char *name, struct namespace *namespace, int defined, var_list_t *fields, const struct location *where)
static int type_is_alias(const type_t *type)
static type_t * type_iface_get_inherit(const type_t *type)
type_t * type_new_int(enum type_basic_type basic_type, int sign)
static var_list_t * type_function_get_args(const type_t *type)
type_t * duptype(type_t *t, int dupname)
static type_t * type_parameterized_type_get_real_type(const type_t *type)
type_t * type_apicontract_define(type_t *apicontract, attr_list_t *attrs, const struct location *where)
type_t * type_new_enum(const char *name, struct namespace *namespace, int defined, var_list_t *enums, const struct location *where)
type_t * type_dispinterface_declare(char *name)
type_t * type_parameterized_type_specialize_declare(type_t *type, typeref_list_t *params)
static unsigned int type_array_get_dim(const type_t *type)
type_t * type_dispinterface_define(type_t *iface, attr_list_t *attrs, var_list_t *props, var_list_t *methods, const struct location *where)
type_t * type_new_alias(const decl_spec_t *t, const char *name)
static statement_list_t * type_iface_get_stmts(const type_t *type)
static var_list_t * type_enum_get_values(const type_t *type)
static int type_array_has_variance(const type_t *type)
type_t * type_coclass_define(type_t *coclass, attr_list_t *attrs, typeref_list_t *ifaces, const struct location *where)
static var_list_t * type_dispiface_get_props(const type_t *type)
static const decl_spec_t * type_array_get_element(const type_t *type)
static const WCHAR props[]
@ TYPE_PARAMETERIZED_TYPE
@ TYPE_ENCAPSULATED_UNION
static enum type_type type_get_type_detect_alias(const type_t *type)