38 if (dupname &&
t->name)
53 memset(&
t->details, 0,
sizeof(
t->details));
54 t->typestring_offset = 0;
59 t->user_types_registered =
FALSE;
155 error_loc(
"too many unnamed arguments\n");
162 name[0] =
i > 26 ?
'a' +
i / 26 :
'a' +
i;
163 name[1] =
i > 26 ?
'a' +
i % 26 : 0;
175 t->details.function =
xmalloc(
sizeof(*
t->details.function));
176 t->details.function->args =
args;
177 t->details.function->idx = -1;
185 t->details.pointer.ref =
ref;
199 a->details =
t->details;
209 error_loc(
"%s: redefinition error; original definition was at %s:%d\n",
210 type->name,
type->loc_info.input_name,
type->loc_info.line_number);
219 error_loc(
"%s: redefinition error; original definition was at %s:%d\n",
220 type->name,
type->loc_info.input_name,
type->loc_info.line_number);
228 unsigned char ptr_default_fc)
232 t->details.array.declptr = declptr;
233 t->details.array.length_is = length_is;
235 t->details.array.size_is = size_is;
237 t->details.array.dim = dim;
239 t->details.array.ptr_def_fc = ptr_default_fc;
246 t->details.basic.type = basic_type;
247 t->details.basic.sign = 0;
258 if (!int_types[basic_type][
sign + 1])
263 return int_types[basic_type][
sign + 1];
279 t->namespace =
namespace;
285 t->details.enumeration =
xmalloc(
sizeof(*
t->details.enumeration));
286 t->details.enumeration->enums =
enums;
310 t->namespace =
namespace;
316 t->details.structure =
xmalloc(
sizeof(*
t->details.structure));
317 t->details.structure->fields = fields;
339 t->details.structure =
xmalloc(
sizeof(*
t->details.structure));
340 t->details.structure->fields = fields;
358 t->details.structure =
xmalloc(
sizeof(*
t->details.structure));
360 t->details.structure->fields =
append_var(
t->details.structure->fields, union_field );
403 error_loc(
"bit-field has invalid type\n");
406 error_loc(
"negative width for bit-field\n");
411 t->details.bitfield.field =
field;
412 t->details.bitfield.bits =
bits;
#define STATEMENTS_FOR_EACH_FUNC(stmt, stmts)
static size_t double int int int * sign
struct func_details * function
static int is_valid_bitfield_type(const type_t *type)
static int is_global_namespace(const struct namespace *namespace)
int type_is_equal(const type_t *type1, const type_t *type2)
void type_dispinterface_define_from_iface(type_t *dispiface, type_t *iface)
struct struct_details * structure
static const WCHAR separator[]
type_t * type_new_nonencapsulated_union(const char *name, int defined, var_list_t *fields)
static const var_t * find_arg(const var_list_t *args, const char *name)
void add_incomplete(type_t *t)
char * strcat(char *DstString, const char *SrcString)
ACPI_SIZE strlen(const char *String)
var_t * make_var(char *name)
#define TYPE_BASIC_INT_MAX
type_t * make_type(enum type_type type)
struct coclass_details coclass
type_t * duptype(type_t *t, int dupname)
static const struct encodedInt enums[]
static enum type_basic_type type_basic_get_type(const type_t *type)
coclass PSFactoryBuffer pointer_default(unique)] interface ObjectRpcBaseTypes
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
type_t * alloc_type(void)
type_t * type_new_alias(type_t *t, const char *name)
type_t * type_new_array(const char *name, type_t *element, int declptr, unsigned int dim, expr_t *size_is, expr_t *length_is, unsigned char ptr_default_fc)
type_t * type_new_int(enum type_basic_type basic_type, int sign)
type_t * type_new_struct(char *name, struct namespace *namespace, int defined, var_list_t *fields)
__WINE_SERVER_LIST_INLINE struct list * list_head(const struct list *list)
struct enumeration_details * enumeration
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
const char * type_get_name(const type_t *type, enum name_type name_type)
type_t * type_new_enum(const char *name, struct namespace *namespace, int defined, var_list_t *enums)
__WINE_SERVER_LIST_INLINE unsigned int list_count(const struct list *list)
char * format_namespace(struct namespace *namespace, const char *prefix, const char *separator, const char *suffix)
type_t * reg_type(type_t *type, const char *name, struct namespace *namespace, int t)
type_t * type_new_encapsulated_union(char *name, var_t *switch_field, var_t *union_field, var_list_t *cases)
void type_interface_define(type_t *iface, type_t *inherit, statement_list_t *stmts)
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
static int compute_method_indexes(type_t *iface)
static enum type_type type_get_type(const type_t *type)
static enum type_type type_get_type_detect_alias(const type_t *type)
type_t * type_new_pointer(unsigned char pointer_default, type_t *ref, attr_list_t *attrs)
struct iface_details * iface
static type_t * type_iface_get_inherit(const type_t *type)
void type_module_define(type_t *module, statement_list_t *stmts)
type_t * type_new_function(var_list_t *args)
var_list_t * append_var(var_list_t *list, var_t *var)
type_t * type_new_coclass(char *name)
void init_loc_info(loc_info_t *)
type_t * type_new_basic(enum type_basic_type basic_type)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
type_t * type_coclass_define(type_t *coclass, ifref_list_t *ifaces)
type_t * type_new_module(char *name)
void type_dispinterface_define(type_t *iface, var_list_t *props, var_list_t *methods)
struct basic_details basic
static const WCHAR props[]
char * strcpy(char *DstString, const char *SrcString)
type_t * find_type(const char *name, struct namespace *namespace, int t)
union _statement_t::@4818 u
_ForwardIter unique(_ForwardIter __first, _ForwardIter __last)
int strcmp(const char *String1, const char *String2)
struct hlsl_type * get_type(struct hlsl_scope *scope, const char *name, BOOL recursive) DECLSPEC_HIDDEN
type_t * type_new_bitfield(type_t *field, const expr_t *bits)
GLuint GLuint GLsizei GLenum type
GLboolean GLboolean GLboolean GLboolean a
static char * append_namespace(char *ptr, struct namespace *namespace, const char *separator)
struct namespace * parent
char * xstrdup(const char *s)
type_t * type_new_void(void)
static statement_list_t * type_iface_get_stmts(const type_t *type)
IMAGEHLP_MODULEW64 module
union _type_t::@4817 details
GLuint const GLchar * name