Commit Graph

128 Commits

Author SHA1 Message Date
Alexandre Julliard 3593b65935 widl: Output a format string table and server info structure for servers. 2010-10-22 20:49:45 +02:00
Alexandre Julliard 9551524308 widl: Output a format string table and server info structure for stubs. 2010-10-22 20:23:56 +02:00
Alexandre Julliard 575485c6e7 widl: Duplicate all the proxy data tables between 32-bit and 64-bit. 2010-10-22 19:41:07 +02:00
Alexandre Julliard c6668089a4 widl: Set the default calling convention at header generation time, not at parsing time. 2010-08-27 13:52:09 +02:00
Paul Vriens caaf027e55 widl: Fix size parameter for xrealloc (Coccinelle). 2010-01-11 11:34:32 -06:00
Rob Shearman 6ed98b16a1 widl: Detect interfaces that inherit from another interface as objects. 2009-11-29 16:37:07 +01:00
Alexandre Julliard d88f9e3cd9 widl: Don't make the proxy virtual tables const if they use delegation. 2009-06-09 17:01:07 +02:00
Rob Shearman 23673ca373 widl: Determine pointer fc at generation time instead of at parse time.
Avoid changing the details of a pointer once created.
Properly determine the pointer type for arrays.
2009-03-09 12:09:39 +01:00
Rob Shearman 7e08ff27c2 widl: Move declarray property to array_details.
Invert the property since an array being declared as a pointer is more
surprising than an array being declared as an array.

Provide an accessor, type_array_is_decl_as_ptr.
2009-03-05 16:34:00 +01:00
Rob Shearman a93f531c21 widl: Ignore pointer attributes applied to interface pointers.
Print a warning if a pointer attribute is specified since the
generated code won't do what the developer expects.
2009-02-25 11:54:26 +01:00
Rob Shearman 2c6e611c8a widl: Add typegen_detect_type and use it.
Add typegen_detect_type for detecting types useful during
client/server/proxy code generation.
2009-02-23 15:25:57 +01:00
Rob Shearman af0800729b widl: Use type_get_type to determine the types of types during C client, server and proxy code generation. 2009-02-23 15:25:53 +01:00
Rob Shearman fb934347b4 widl: Use type_get_type to determine the types during statement enumeration. 2009-02-23 15:25:20 +01:00
Alexandre Julliard fcc096083f widl: Add printf format attribute on all printf-like functions and fix resulting warnings. 2009-02-06 14:54:03 +01:00
Francois Gouget a17f48219a widl: Add a trailing '\n' to an error() message. 2009-01-14 14:52:21 +01:00
Michael Karcher 8092e85ece widl: Fix handling of [local] functions without [call_as]. 2009-01-12 16:53:18 +01:00
Rob Shearman 8a976a7d78 widl: Replace uses of get_func_return_type with type_function_get_rettype.
Also replace direct accesses into the type structure to get the return
type of a function with the same function.
2009-01-06 14:36:25 +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 67ac03ae4e widl: Add a new function, type_pointer_get_ref.
Use it for retrieving the type that a pointer refers to.
2009-01-06 12:58:25 +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
Michael Karcher 2fe1f36793 widl: Recurse search for need of delegation.
If any ancestor of an interface needs delegation, the interface itself
has holes in the vtables and thus needs delegation, too.
2009-01-02 12:53:20 +01:00
Rob Shearman c6e7609b01 widl: Don't add NULL pointer checks in generated code for user types. 2008-12-31 12:30:40 +01:00
Alexandre Julliard 53626dbd93 widl: Add support for generating 32-bit and/or 64-bit code for proxies/clients/servers. 2008-12-26 17:22:25 +01:00
Alexandre Julliard 9ca1382eae widl: Store the size of a pointer in a variable instead of hardcoding the value of the host compiler. 2008-12-26 17:20:53 +01:00
Alexandre Julliard 34613835a7 widl: Use ULONG_PTR instead of unsigned long for pointer casts in generated code. 2008-12-15 20:08:39 +01:00
Alexandre Julliard 014dcb81e8 widl: Use local functions where possible instead of STUB_FORWARDING_FUNCTION in stub vtables. 2008-12-08 16:05:38 +01:00
Andrew Talbot d7f9d92b47 widl: Remove unneeded address-of operators from function names. 2008-12-08 11:27:53 +01:00
Andrew Talbot e05b8aa301 widl: Remove unneeded address-of operators from array names. 2008-12-08 11:27:50 +01:00
Alexandre Julliard 9bf60549a5 widl: Sort the proxy interfaces by iid and use a binary search in IID_Lookup. 2008-12-01 16:25:45 +01:00
Alexandre Julliard 61d600f42f widl: Output vtable information even for interfaces that don't define new functions. 2008-12-01 14:51:17 +01:00
Alexandre Julliard 0ad28a8592 widl: Make the generated global variables and functions hidden. 2008-12-01 14:39:39 +01:00
Alexandre Julliard 584d2c9118 widl: Do not make the stub vtbl const for delegating interfaces since it needs to be patched up at run-time. 2008-12-01 11:30:05 +01:00
Alexandre Julliard cb7a0da5db widl: Fix the handling of proxy delegation.
Generate a BaseIIDList for delegated interface, and point directly to
the methods that have been defined in the same file instead of
delegating them.
2008-11-28 12:55:59 +01:00
Andrew Talbot 08c6f507b8 widl: Remove superfluous semicolons. 2008-11-17 13:11:47 +01:00
Alexandre Julliard 3bab54cf04 widl: Implemented __finally support in stub functions. 2008-09-15 18:03:44 +02:00
Alexandre Julliard bf011b0f53 widl: Infrastructure for adding a prefix to local variable references. 2008-09-15 16:46:01 +02:00
Alexandre Julliard 3bdaba2a93 widl: Make the exception handling macros more general and use the same code everywhere. 2008-09-15 14:05:26 +02:00
Alexandre Julliard 1218aff94d widl: Create an explicit structure for the function frame of all generated functions.
Store _StubMsg in the frame structure since it's needed for exception handling.
2008-09-15 14:02:26 +02:00
Dan Hipschman a41de877da widl: Output NULL for inherited methods in the vtbl. 2008-09-02 18:01:53 +02:00
Alexandre Julliard 5ce606e834 widl: Add support for finally function in proxy methods. 2008-08-30 11:25:22 +02:00
Alexandre Julliard 29e20b869c widl: Replace write_name() by get_name() to make the code more readable. 2008-08-30 11:15:04 +02:00
Rob Shearman 6f2687a389 widl: Raise RPC_X_SS_IN_NULL_CONTEXT exception for NULL in-only context handles instead of RPC_X_NULL_REF_PTR.
Based on a patch by Michael Martin.
2008-08-27 13:21:21 +02:00
Alexandre Julliard d6e76274d9 widl: Add support for exception handling in the generated proxy code. 2008-07-03 13:08:19 +02:00
Rob Shearman df0e38c067 widl: Create a list of statements in the whole IDL file, instead of just a list of interfaces. 2008-04-24 22:32:20 +02:00
Rob Shearman 1a0d28bf02 widl: Remove duplicated code in the form of the write_struct_expr function by enhancing write_expr to allow toplevel identifiers to be prefixed by a string, if specified. 2008-04-22 13:05:18 +02:00
Rob Shearman 80ab2a7c6d widl: Move expression functions to a new file, expr.c. 2008-04-22 13:04:58 +02:00
Rob Shearman 5483ea9e87 widl: Support non-default calling conventions for object methods. 2008-04-11 12:14:52 +02:00
Rob Shearman a04b150839 widl: Add a function to get the return type of a parsed function.
This clarifies its use in code and makes it simpler to change the way 
functions are parsed into types.
2008-04-02 19:52:49 +02:00
Rob Shearman c233ba105e widl: Remove unused headers. 2008-02-15 11:06:21 +01:00