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
Rob Shearman
661b01f922
widl: Output code for initialising and freeing full pointer translation tables.
2008-02-04 11:49:13 +01:00
Rob Shearman
d458a599eb
widl: Add support for non-basetype return types.
2007-12-11 18:07:05 +01:00
Rob Shearman
85e87ae829
widl: iid_is should take expressions, not just identifiers.
2007-12-10 14:40:37 +01:00
Dan Hipschman
b0bc8e58de
widl: Don't output a void conformance for NdrClearOutParameters.
2007-11-05 13:24:37 +01:00
Dan Hipschman
70e12b31b8
widl: Fix ExprEvalRoutines output.
2007-10-29 12:03:26 +01:00
Dan Hipschman
9051918976
widl: parser_error must append a newline, so write a new function, error_loc.
2007-10-24 13:51:48 +02:00
Francois Gouget
4152085af1
widl: Modify generic_msg() to behave like all the other Wine tracing methods, that is to not append a '\n' to the message.
2007-10-19 11:46:01 +02:00