Commit Graph

13 Commits

Author SHA1 Message Date
Rob Shearman 77228b52e6 widl: Determine the type of an array entirely at code generation time instead of at parse time.
Previously, this was done partially (for fixed array types only).
2009-01-07 12:27:14 +01:00
Rob Shearman 9b139018cf widl: Add new function, type_iface_get_stmts.
Use it to retrieve statements contained in interface types.
2009-01-06 12:58:41 +01:00
Rob Shearman 8fc59d0ead widl: Add a new function, type_iface_get_inherit.
Use it for retrieving the parent interface for interfaces.
2009-01-06 12:58:33 +01:00
Rob Shearman 8a42bc1f7b widl: Move the ifaces field of the type_t structure to coclass details. 2009-01-06 12:58:01 +01:00
Rob Shearman 83b1f08117 widl: Add function for getting the interfaces defined by a coclass type.
Split out the defining of coclass types in the parser into a function.
2009-01-06 12:57:56 +01:00
Rob Shearman 1f519e17cc widl: Don't store typelib kind information in the type structure.
It can trivially be derived from the type field now.
2009-01-06 12:57:31 +01:00
Rob Shearman 64520ecdc7 widl: Move creation of module type into a separate function, type_new_module and give it a special FC type. 2009-01-06 12:57:15 +01:00
Rob Shearman 8b326c4ff8 widl: Move duptype and alias to parser.y.
Make duptype static and rename alias to type_new_alias.
2009-01-06 12:57:02 +01:00
Rob Shearman 901a42b7f9 widl: Move funcs and stmts fields from type_t structure to module_details and function_details. 2009-01-06 12:56:15 +01:00
Rob Shearman b1f8560ae0 widl: Do the consistency checks on interfaces after parsing is complete. 2009-01-06 12:53:49 +01:00
Rob Shearman 6b955b514d widl: Generate header files from the parse tree instead of using hooks in the parser. 2008-12-29 14:54:34 +01:00
Rob Shearman 213f32744f widl: Store the type-specific information in a union in the type_t structure.
Use pointers for the information for structures, enumerations,
functions and interfaces so that we can determine whether or not the
type has been defined yet and to enable more information to be stored.
2008-12-29 14:45:16 +01:00
Rob Shearman 04a22cc412 widl: Hide the details of where arguments, fields, values and cases are stored in the type_t structure for functions, structures, enums and unions. 2008-12-29 14:42:47 +01:00