166 Commits

Author SHA1 Message Date
Rob Shearman
d27c7601e5 widl: Add support for arrays in expressions. 2008-04-21 13:36:19 +02:00
Rob Shearman
03d5017416 widl: Add support for "->" and "." operators in expressions. 2008-04-21 13:36:19 +02:00
Rob Shearman
c46fcfb356 widl: Automatically add "handle_t IDL_handle" parameter to functions with no explicit handle specified whose containing interface has the explicit_handle attribute. 2008-04-21 13:36:19 +02:00
Rob Shearman
c4ca32bbda widl: The implicit_handle attribute is allowed with a handle explicitly specified in the function parameters.
In that case, that handle is used instead of the implicit handle.

Fix the check for the explicit_handle attribute being specified without
a handle being specified in the function parameters, even though issuing
an error is wrong. (Thanks to Marcus Meissner & Coverity for spotting
that the check didn't do what it was supposed to do.)
2008-04-21 13:36:19 +02:00
Rob Shearman
e4b0266b27 widl: Support non-default calling conventions for non-object functions. 2008-04-11 12:14:55 +02:00
Rob Shearman
5483ea9e87 widl: Support non-default calling conventions for object methods. 2008-04-11 12:14:52 +02:00
Rob Shearman
bfde2c2e79 widl: Fix the writing out of function pointers with more than one level of indirection. 2008-04-02 19:54:01 +02:00
Rob Shearman
5a378905be widl: Add a newline between function prototypes for non-object interfaces. 2008-04-02 19:53:50 +02:00
Rob Shearman
d97f3205ba widl: Support parsing calling conventions for function identifiers.
Support automatically setting the calling convention to 
STDMETHODCALLTYPE if it is part of an object interface.

Write out the calling convention in write_type_v.
2008-04-02 19:53:23 +02:00
Rob Shearman
6a0c5a4fe9 widl: Store function and function pointer types completely within type_t type. 2008-04-02 19:53:09 +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
59556de0c1 widl: Add support for generic binding handles. 2008-03-27 17:33:02 +01:00
Rob Shearman
8a0cb2b5c5 widl: Use is_string_type for detecting strings in write_typeformatstring_var to make it consistent with write_remoting_arg.
Fix the is_string_type function used for detecting strings by only 
examining aliases instead of both aliases and pointers. This is due to 
the requirement that pointers to strings be handled as pointers and so 
not detected as strings.
2008-03-27 17:32:58 +01:00
Rob Shearman
c233ba105e widl: Remove unused headers. 2008-02-15 11:06:21 +01:00
Alexandre Julliard
ba5336175c widl: Use the real argument names in the C method macros. 2008-01-18 12:03:22 +01:00
Rob Shearman
9741751962 widl: Remove some confusion in how version numbers are packed into an attribute by defining some macros for this purpose.
Remove unneeded includes.
2007-12-12 16:03:35 +01:00
Rob Shearman
72d9569cc4 widl: Support the address-of operator in expressions. 2007-12-10 14:40:29 +01:00
Dan Hipschman
ea7ab4da66 widl: Add a --local-stubs option. 2007-10-31 12:39:54 +01: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
Dan Hipschman
1d0f9378bc widl: Detect conformant arrays of user types correctly. 2007-10-18 12:09:23 +02:00
Dan Hipschman
304852f97e widl: Write types in the format string comments. 2007-10-03 10:09:43 +02:00
Dan Hipschman
32a2477ef5 widl: Add a declonly argument to write_type_left. 2007-10-03 10:09:31 +02:00
Rob Shearman
a2fedc3769 widl: Write prototypes for context handle rundown rountines into generated header files. 2007-09-28 10:59:32 +02:00
Rob Shearman
b7618f91d7 widl: Fix detection of complex arrays. 2007-09-17 12:57:03 +02:00
Alexandre Julliard
40dda77c52 widl: Added support for floating-point constants. 2007-07-17 14:12:18 +02:00
Dan Hipschman
c0982b42c5 widl: Handle wire_marshal types. 2007-06-14 11:35:44 +02:00
Dan Hipschman
978b4d4f4e widl: Represent arrays with type_t. 2007-06-06 12:13:16 +02:00
Dan Hipschman
f5baddf88a widl: Replace get_name with a field reference. 2007-06-06 12:12:36 +02:00
Dan Hipschman
ef433e2792 widl: Remove var_t's ptr_level field and start write_pointers. 2007-05-11 12:33:27 +02:00
Dan Hipschman
d676d3be5f widl: Get rid of the tname field of var_t, simplify code. 2007-05-01 12:37:18 +02:00
Dan Hipschman
1ecbb01617 widl: Get rid of the typeref_t structure, simplify code. 2007-05-01 12:37:08 +02:00
Dan Hipschman
e714c89d2f widl: Add --prefix-* options (take 3). 2007-04-26 15:47:37 +02:00
Stefan Huehner
4d1d01f266 Mark several functions as static. 2007-03-13 13:35:12 +01:00
Rob Shearman
94a0a90165 widl: Print EXPR_NUM expresssions as unsigned to avoid printing an extra negative sign when lval is large. 2007-02-26 17:33:40 +01:00
Alexandre Julliard
3c2a9f5df8 widl: size_is and length_is are expression lists now. 2007-02-06 15:59:24 +01:00
Alexandre Julliard
43ac6ed995 widl: Convert expression lists to standard Wine lists.
Add a specific type for array dimensions.
2007-01-22 14:31:40 +01:00
Alexandre Julliard
eed74e4e4a widl: Convert variable lists to standard Wine lists. 2007-01-22 14:26:12 +01:00
Alexandre Julliard
58827d026b widl: Convert function lists to standard Wine lists. 2007-01-22 14:23:08 +01:00
Alexandre Julliard
e998590557 widl: Convert attribute lists to standard Wine lists. 2007-01-22 14:20:36 +01:00
Michael Stefaniuc
cc234847d0 widl: Use ULONG instead of unsigned long when generating declarations for *_UserFree() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:23 +01:00
Michael Stefaniuc
6f95047034 widl: Use ULONG instead of unsigned long when generating declarations for *_UserUnMarshal() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:20 +01:00
Michael Stefaniuc
05b1aac100 widl: Use ULONG instead of unsigned long when generating declarations for *_UserMarshal() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:16 +01:00
Michael Stefaniuc
177aaf6738 widl: Use ULONG instead of unsigned long when generating declarations for *_UserSize() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:12 +01:00
Michael Stefaniuc
15765dd953 The Data1 member of the GUID struct needs to be an unsigned int too for Win64 compatibility. 2006-10-16 10:53:04 +02:00
Francois Gouget
4b2d7e9321 widl: Use CONST_VTBL to declare lpVtbl. 2006-09-29 17:51:45 +02:00
Alexandre Julliard
86bb809e5b widl: Change the prefix on bison-generated names to avoid the name-prefix directive. 2006-09-12 09:05:07 +02:00
Dan Hipschman
7e79e9d4ff widl: Print pointers more aesthetically in generated header. 2006-09-07 10:21:29 +02:00
Dan Hipschman
c117a20cdb widl: Use type_t for typedefs, not var_t. Simplify representation. 2006-09-07 10:20:41 +02:00
Dan Hipschman
04a15af5dc widl: Add the rest of the pointer types to write_type. 2006-08-29 12:29:26 +02:00
Dan Hipschman
94755218ac widl: Remove usage of type_t ref field for base types; simplify code. 2006-08-25 11:32:05 +02:00