Commit Graph

1257 Commits

Author SHA1 Message Date
Huw Davies a82b1bcfe5 Check if we've already added the ptr to iface typedesc before adding a
new one.
2005-02-08 14:27:52 +00:00
Vincent Béron df5051e925 Support some more attributes for interface properties. 2005-02-08 13:43:34 +00:00
Vincent Béron f6ff452f17 Support ATTR_READONLY for interface properties. 2005-02-08 12:56:22 +00:00
Huw Davies 13e36059a8 Add VARIANT_BOOL.
Fix CURRENCY alignment.
A function with a [retval] param has a bit set in the FKCCIC bitfield.
Two functions with the same name share the same id.
The param names of propput and propputref functions don't go into the
typelib.
2005-02-08 12:09:42 +00:00
Huw Davies c2c87daf4a Coclass support. 2005-02-03 13:34:28 +00:00
Huw Davies d33a553d63 Add support for typedefs. 2005-02-02 19:10:02 +00:00
Huw Davies 49eb0b70e5 Add support for dispinterfaces (slightly hacked because we force the
import of stdole2.tlb).
Add propputref attribute.
2005-02-01 18:48:25 +00:00
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