Huw Davies
13b7c5ac12
Dynamically allocate the type data storage.
...
Split the function and variable type data into two - this will be
needed for dispinterfaces.
2005-01-31 16:24:23 +00:00
Vincent Béron
653c05971c
Check that there are some methods to iterate through before iterating
...
through them.
2005-01-31 11:30:26 +00:00
Huw Davies
d488cb3e70
Structs with ptrs are also VT_USERDEFINED.
2005-01-28 13:59:08 +00:00
Huw Davies
652ec646ad
When adding an interface, midl adds the inherited interface first
...
unless the inherited interface doesn't itself inherit.
Fix the id, sizevft and datatype2 fields for interfaces that inherit.
Prevent a crash if the typelib is empty.
Clarify a few more entries on typelib_struct.h
2005-01-26 20:40:34 +00:00
Huw Davies
0e53bb3f7b
Fix typelib only option.
...
Make -t and -h options inclusive.
2005-01-26 19:40:47 +00:00
Huw Davies
a43a250bd1
Add enum support.
...
Another attempt at getting the alignment bits correct.
2005-01-25 20:02:09 +00:00
Huw Davies
b9bfc8e909
Add encoding for VT_R8.
...
Bug fix: Initialise child_size.
2005-01-25 19:02:32 +00:00
Huw Davies
6126fc75c9
unsigned char support.
2005-01-25 16:41:12 +00:00
Huw Davies
c1db191d9b
Add interface inheritance.
2005-01-25 10:56:58 +00:00
Huw Davies
0a2f7e2054
Add referenced types that aren't already in the typelib.
2005-01-24 13:31:50 +00:00
Huw Davies
3387fc9077
Fix handling of void.
2005-01-24 12:41:06 +00:00
Huw Davies
2e6bd29a88
Add support for hidden and restricted function attributes.
...
Add support for odl interface attribute.
2005-01-24 11:27:56 +00:00
Huw Davies
8c51807ba5
Bit 0x0200 always appears to be set in the typeinfo's
...
typekind/alignment member.
2005-01-21 17:04:00 +00:00
Huw Davies
2573227675
[local] functions should not be written to the typelib.
2005-01-21 16:19:39 +00:00
Rémi Assailly
49a6c097b3
Small char -> const char fix.
2005-01-21 10:20:04 +00:00
Huw Davies
21842318e9
Don't set ATTR_IN or ATTR_OUT by default - this essentially reverts
...
rev. 1.21. The proxy code must explicitly add these if they're
needed.
2005-01-20 20:34:08 +00:00
Huw Davies
218281c42c
Better guid hash.
2005-01-20 20:33:48 +00:00
Huw Davies
18b1fe8dee
MIDL adds two sets of custom data to the library: one is a timestamp
...
and the second is MIDL's version number.
2005-01-20 19:56:57 +00:00
Huw Davies
b1a0c6c3d7
Add propget and propput function attributes.
...
Clarify the meaning of the FKCCIC bit field.
2005-01-19 19:08:01 +00:00
Huw Davies
2717b812dd
Pad small strings out to eight bytes.
...
Fix 'has default values' flag.
2005-01-19 16:58:21 +00:00
Huw Davies
c7c55ff33a
Add a missing break to fix typeinfo version regression.
2005-01-18 11:39:31 +00:00
Huw Davies
90351160c9
Add VT_VARIANT support.
...
Fix for the case when there is no helpstringdll.
Fix for parameter arrays.
2005-01-17 13:41:19 +00:00
Huw Davies
55ca7eaaff
Add support for BSTR default values.
2005-01-14 17:20:43 +00:00
Huw Davies
ba874a31d0
Add support for interface ptrs including the special cases for
...
IUnknown and IDispatch.
2005-01-14 16:50:16 +00:00
Huw Davies
e9ca9f1955
Better type encoding. (Interface ptrs still not there yet).
2005-01-12 19:28:59 +00:00
Huw Davies
989960f77f
Add help* attributes for typeinfos and functions.
2005-01-11 10:38:51 +00:00
Huw Davies
635221222f
Add support for the help* attributes on type libraries.
2005-01-10 16:08:36 +00:00
Huw Davies
a3026ca8f9
Add support for optional arguments and some suppport for the
...
defaultvalue attributes.
Better calculation of the typeinfo's res3 member (at least for
interfaces).
2005-01-10 14:22:24 +00:00
Huw Davies
862e922c93
Add support for hidden, restricted and version attributes on
...
typeinfos.
2005-01-10 13:21:54 +00:00
Huw Davies
634693c114
Add attributes control, hidden and restricted.
...
Correctly set the libflags for these attributes.
2005-01-09 17:59:44 +00:00
Huw Davies
346188b755
Initial support for typelib generation.
2005-01-06 20:45:21 +00:00
Huw Davies
9e15a42008
Bring the debug functions into line with the rest of Wine by not
...
appending a '\n'.
2005-01-05 17:30:37 +00:00
Huw Davies
86fead3c25
Store interfaces, structs, coclasses and modules that are to be
...
written into a typelib in a list.
2005-01-05 17:12:25 +00:00
Huw Davies
5c1231d2df
Add the precedence of the conditional operator.
2005-01-04 20:34:05 +00:00
Jacek Caban
54cba79d64
Added optional, defaultvalue and vararg.
2005-01-03 14:26:17 +00:00
Vincent Béron
35a92e16c7
Generate only wanted files.
2004-12-27 17:13:25 +00:00
Jacek Caban
90ce00abeb
Fixed defining DIIDs.
2004-12-27 17:04:00 +00:00
Eric Pouech
294835a839
Another round of const correctness fixes.
2004-12-06 20:43:55 +00:00
Jacek Caban
5c98265050
Added writing forward declaration of dispinterface.
2004-10-18 19:35:08 +00:00
Jacek Caban
2161b36ac4
- Added creation of dispinterface header.
...
- Added creation of coclass header.
- Added messages when fopen fails.
2004-10-11 19:54:37 +00:00
Alexandre Julliard
68604dbae7
Allow defined types to be used as function names.
2004-10-06 18:54:20 +00:00
Alexandre Julliard
d062924f66
Removed no longer needed ICOM compatibility mode in widl.
2004-10-05 04:44:20 +00:00
Alexandre Julliard
4806630104
Added support for the propget/propput function attributes.
2004-10-05 02:14:54 +00:00
Filip Navara
75e02e9335
- Force default [in] attribute on all parameters where explicit [in]
...
or [out] attributes aren't specified.
- Force default [out] attribute on return values.
2004-09-28 02:12:36 +00:00
Mike McCormack
d8d2d96da2
Various formatting fixes.
2004-09-21 20:04:47 +00:00
Mike McCormack
0e5d9b56cb
Improve the handling of complex data types (strings and structs).
2004-09-20 19:11:16 +00:00
Mike McCormack
1a77ea567c
Determine RPC struct types more exactly.
2004-09-14 19:28:12 +00:00
Mike McCormack
2d8d1e2f74
Improve proxy code generated for oaidl.idl.
2004-09-13 18:05:47 +00:00
Mike McCormack
5d9b0d119c
Output NdrConvert, NdrClearOutParameters and IID constraints.
2004-09-10 19:34:14 +00:00
Mike McCormack
78c8ab9677
Output intermediate variables for the method to write into in stubs.
2004-09-09 19:18:10 +00:00
Mike McCormack
13088b8901
Generate some marshalling code for stubs.
2004-09-08 19:01:42 +00:00
Mike McCormack
3f6c088767
- make the widl generated proxy-stub code compilable
...
- generate marshalling and unmarshalling code for proxies
- generate exception handling constructs
2004-09-06 20:25:39 +00:00
Mike McCormack
cde0c0d1b6
Output code to clear OUT variables in proxy code.
2004-09-02 20:07:07 +00:00
Alexandre Julliard
20486e1c59
Get rid of the ICOM_MSVTABLE_COMPAT support, g++ no longer requires
...
this.
2004-08-23 18:10:02 +00:00
Alexandre Julliard
cfb3b7e81f
Output BEGIN/END_INTERFACE for C++ base classes too.
2004-08-22 22:31:52 +00:00
Mike McCormack
77ea021e5f
Generate BEGIN_INTERFACE,END_INTERFACE macros instead of
...
ICOM_MSVTABLE_COMPAT_FIELDS.
2004-08-22 02:25:05 +00:00
Francois Gouget
bf72af30d0
Modify widl to put the C COM macros inside an #ifdef COBJMACROS block
...
as is done in the Windows headers.
Add #define COBJMACROS where needed in Wine.
Fixes the compilation of the oleaut32/tests/olefont.c and
urlmon/tests/url.c conformance tests with the Windows headers.
2004-08-11 19:43:45 +00:00
Francois Gouget
cfc3943c5f
Make our ascii strings static const.
...
Remove a couple string variables that were used only once and use the
string literal directly.
2004-05-04 04:13:05 +00:00
Filip Navara
977d863c0e
Make widl parse the 'transmit_as' and 'endpoint' keywords.
2004-04-26 23:29:59 +00:00
Filip Navara
19fd305a7e
Make widl compile without most of Windows/Wine headers, so it can be
...
reused by other projects.
2004-04-22 03:40:01 +00:00
Robert Shearman
7f0abaffe5
- Handle "? :" conditionals.
...
- Allow [handle] attribute for types.
2004-04-19 23:08:22 +00:00
Hannu Valtonen
21731d47ec
Added a man page for widl.
2004-03-09 03:49:39 +00:00
Ove Kaaven
560a756790
Don't add imported constructs to any typelib output by default.
2004-02-12 00:31:40 +00:00
Ove Kaaven
88bbfadb2c
Parse the [input_sync] attribute.
2004-02-11 23:57:58 +00:00
Ove Kaaven
5d267d7372
Added rules to parse library, coclass, dispinterface, and module
...
definitions, and a number of attributes, and cleaned up a few things.
Started on a typelib generation framework.
2004-01-07 04:21:27 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard
ba5a968157
Added partial support for function pointers.
2003-09-03 20:16:24 +00:00
Alexandre Julliard
0bde2bbe01
Use <> format in generated #include statements.
...
Integer constants should be unsigned.
2003-09-03 19:31:14 +00:00
Jon Griffiths
140eb97eef
Portability fixes.
2003-08-18 20:00:44 +00:00
Alexandre Julliard
40672f99f8
Support objects with no method definitions (suggested by Jon
...
Griffiths).
2003-07-22 03:18:46 +00:00
Alexandre Julliard
09242a8ea6
Add #ifdefs around forwards and interfaces like MIDL does.
2003-07-01 03:43:09 +00:00
Alexandre Julliard
e1a9b10f51
Moved the wpp library from tools/ to libs/.
...
Create symlinks to the various libraries in the libs directory.
2003-05-01 03:16:21 +00:00
Alexandre Julliard
2d5519f15c
The com_interface attribute is not needed on derived classes.
...
Removed the ICOM_CTHIS* macros.
2003-04-12 00:09:14 +00:00
Alexandre Julliard
aae3cb61cd
Simplified COM interface declarations, removing the need to define
...
both an xxx_METHODS and an xxx_IMETHODS macro.
2003-04-11 00:31:02 +00:00
Alexandre Julliard
55379110c5
Get rid of the ICOM_CALL macros.
2003-04-10 21:13:58 +00:00
Alexandre Julliard
f00c46f030
Use a more compatible technique to declare COM interfaces methods,
...
using Microsoft's STDMETHOD macros instead of the Wine-specific
ICOM_METHOD ones.
2003-04-10 00:19:24 +00:00
Alexandre Julliard
6a9fe36de2
Created a separate static portability library and moved some of the
...
libwine routines in there.
2003-03-19 22:09:16 +00:00
Alexandre Julliard
3d4dcc2a25
Make sure we display the correct file name and line in error messages.
2003-03-16 23:52:24 +00:00
Alexandre Julliard
f8bac62769
Do not define __WINESRC__ when building tools and miscemu.
2003-01-09 01:57:15 +00:00
Ove Kaaven
be3c1141e3
Declare user-marshaller prototypes for types declared with [wire_marshal].
...
Define __WIDL__ preprocessor macro, so Wine-specific IDL can be enclosed
in #ifdef __WIDL__. Fixed a file output bug.
2003-01-09 01:05:54 +00:00
Dimitrie O. Paun
8b36681bad
Rename __WINE__ to __WINESRC__.
2003-01-04 00:52:18 +00:00
Alexandre Julliard
ea118ecb50
Fix the type of the This pointer in the vtbl functions inherited from
...
the base class.
2002-12-17 21:05:16 +00:00
Ove Kaaven
998236b7cf
Output raw ICOM-less C/C++ interface definitions by default. Added new
...
-b and -B command-line options for compatibility with ICOM macros.
2002-12-15 03:01:20 +00:00
Alexandre Julliard
f9875bc1ca
Added y.tab.[ch] pseudo-dependencies to fix parallel makes.
2002-12-15 01:19:53 +00:00
Ove Kaaven
064c48a607
Include guiddef.h in widltypes.h.
2002-12-15 01:13:18 +00:00
Ove Kaaven
e30a96776a
Parse the NOT operator, the [idempotent] attribute, and the handle_t
...
and error_status_t types. Improved some parsing rules to get rid of
the LINK_LAST and LINK_SAFE macros. Enclose generated .h file within
an extern "C" (for C++). Output function prototypes for regular RPC
interfaces. Fixed a couple of bugs.
2002-12-03 19:12:07 +00:00
Ove Kaaven
34e2f87f8f
Handle encapsulated unions in a cleaner (and less buggy) way. Emit the
...
names "DUMMYUNIONNAME" and "DUMMYSTRUCTNAME" for anonymous unions and
structs. Support const and extern definitions. Retain tokens (and
whether numbers are hex or not) used for computing constant
expressions, so that the full expression can be written to the header
file instead of the computed integer result of the expression. Parse
the sizeof() operator. Compute and remember constant definitions and
enum values so they can be used in expressions. Improved identifier
lookup speed. Fixed some bugs.
2002-11-30 01:49:46 +00:00
Gerald Pfeifer
af53e11fa0
Avoid using labels at the end of commpound statements.
2002-11-24 22:12:40 +00:00
Ove Kaaven
189397795d
Added "generate headers only" command-line option. Implemented imports
...
from inside interface definitions. Fixed a few problems with
generating header files for COM interfaces.
2002-11-21 00:02:38 +00:00
Alexandre Julliard
98f12a0db1
Make sure widl doesn't depend on the headers it has to generate.
2002-11-13 21:31:01 +00:00
Alexandre Julliard
b1c3a89ade
Moved rpc.h inclusion in widl-generated file so that tests compile.
2002-11-13 04:18:38 +00:00
Ove Kaaven
03c7d46806
Support for enums, arrays, encapsulated unions, signed/unsigned
...
qualifiers, UUIDs, include guards, the new ICOM_DEFINE1 macro, and
some other improvements.
2002-11-12 02:12:35 +00:00
Alexandre Julliard
f08b186373
Try to derive temp file names from output file names for better
...
portability.
2002-08-27 22:29:26 +00:00
Dmitry Timoshkov
c63d98038a
Include protection for <unistd.h>, <sys/types.h> and <sys/stat.h>.
2002-08-17 18:28:43 +00:00
Alexandre Julliard
ea97b39a79
Avoid dependencies on y.tab.h.
2002-08-13 03:30:58 +00:00
Alexandre Julliard
27189627cb
Added explicit dependency on y.tab.h for lex output.
2002-08-10 00:03:08 +00:00
Gregg Mattinson
8c9bdcc9e1
Fixes for Sparc build.
2002-08-07 01:18:41 +00:00
Gerald Pfeifer
2cbbcc1875
#include <unistd.h> which is required for unlink().
2002-07-25 23:57:54 +00:00
Alexandre Julliard
5f1565e7fd
Explicitly specify the path to wpp.h so we don't need to change the
...
include path, to avoid conflicts with multiple y.tab.h files.
2002-07-20 19:00:52 +00:00
Alexandre Julliard
7d4ee77cab
Merged the IDL compiler written by Ove Kaaven.
2002-07-16 03:20:45 +00:00