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;
char * strcat(char *DstString, const char *SrcString)
int strcmp(const char *String1, const char *String2)
ACPI_SIZE strlen(const char *String)
char * strcpy(char *DstString, const char *SrcString)
char * xstrdup(const char *s)
static void list_remove(struct list_entry *entry)
struct hlsl_type * get_type(struct hlsl_scope *scope, const char *name, BOOL recursive) DECLSPEC_HIDDEN
coclass PSFactoryBuffer pointer_default(unique)] interface ObjectRpcBaseTypes
static const WCHAR separator[]
GLuint GLuint GLsizei GLenum type
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLboolean GLboolean GLboolean GLboolean a
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
static const struct encodedInt enums[]
__WINE_SERVER_LIST_INLINE unsigned int list_count(const struct list *list)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
union _statement_t::@5033 u
struct func_details * function
struct coclass_details coclass
struct iface_details * iface
union _type_t::@5032 details
struct enumeration_details * enumeration
struct basic_details basic
struct struct_details * structure
IMAGEHLP_MODULEW64 module
struct namespace * parent
void type_interface_define(type_t *iface, type_t *inherit, statement_list_t *stmts)
int type_is_equal(const type_t *type1, const type_t *type2)
type_t * type_new_function(var_list_t *args)
type_t * type_new_module(char *name)
type_t * type_new_struct(char *name, struct namespace *namespace, int defined, var_list_t *fields)
static char * append_namespace(char *ptr, struct namespace *namespace, const char *separator)
static const var_t * find_arg(const var_list_t *args, const char *name)
void type_dispinterface_define(type_t *iface, var_list_t *props, var_list_t *methods)
type_t * type_new_alias(type_t *t, const char *name)
type_t * type_new_bitfield(type_t *field, const expr_t *bits)
static int compute_method_indexes(type_t *iface)
char * format_namespace(struct namespace *namespace, const char *prefix, const char *separator, const char *suffix)
type_t * type_new_basic(enum type_basic_type basic_type)
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_void(void)
type_t * type_new_enum(const char *name, struct namespace *namespace, int defined, var_list_t *enums)
void type_module_define(type_t *module, statement_list_t *stmts)
type_t * type_new_pointer(unsigned char pointer_default, type_t *ref, attr_list_t *attrs)
const char * type_get_name(const type_t *type, enum name_type name_type)
type_t * type_coclass_define(type_t *coclass, ifref_list_t *ifaces)
type_t * type_new_int(enum type_basic_type basic_type, int sign)
type_t * duptype(type_t *t, int dupname)
static int is_valid_bitfield_type(const type_t *type)
void type_dispinterface_define_from_iface(type_t *dispiface, type_t *iface)
type_t * make_type(enum type_type type)
type_t * type_new_coclass(char *name)
type_t * type_new_nonencapsulated_union(const char *name, int defined, var_list_t *fields)
type_t * type_new_encapsulated_union(char *name, var_t *switch_field, var_t *union_field, var_list_t *cases)
static enum type_type type_get_type(const type_t *type)
static enum type_basic_type type_basic_get_type(const type_t *type)
static type_t * type_iface_get_inherit(const type_t *type)
static statement_list_t * type_iface_get_stmts(const type_t *type)
static const WCHAR props[]
var_list_t * append_var(var_list_t *list, var_t *var)
type_t * alloc_type(void)
#define TYPE_BASIC_INT_MAX
@ TYPE_ENCAPSULATED_UNION
type_t * reg_type(type_t *type, const char *name, struct namespace *namespace, int t)
void init_loc_info(loc_info_t *)
static enum type_type type_get_type_detect_alias(const type_t *type)
void add_incomplete(type_t *t)
var_t * make_var(char *name)
static int is_global_namespace(const struct namespace *namespace)
@ TYPE_BASIC_ERROR_STATUS_T
type_t * find_type(const char *name, struct namespace *namespace, int t)
#define STATEMENTS_FOR_EACH_FUNC(stmt, stmts)