Alexandre Julliard
a7f0e61e6c
widl: Avoid using Windows types where possible.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 12:27:47 +01:00
Alexandre Julliard
04d8725080
makefiles: Directly generate resources also for non-registered typelibs.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 10:22:51 +01:00
Alexandre Julliard
ad53edfab9
widl: Windows file formats are always little-endian.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 17:50:24 +01:00
Alexandre Julliard
f9ee0d2f05
tools: Avoid using wine/port.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Nikolay Sivov
ec9892585e
widl: Write default values for VARIANT arguments.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 20:39:58 +02:00
Rémi Bernon
94b5af4b34
widl: Replace type_list_t with typeref_list_t.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Rémi Bernon
84966c9b59
widl: Rename ifref_list_t to typeref_list_t.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Rémi Bernon
7987c6f9ba
widl: Rename ifref_t to typeref_t.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Rémi Bernon
db580fe9db
widl: Rename ifref_t iface member to type.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Kevin Puetz
997439967f
widl: Allow adding the same custdata GUID multiple times in a typelib.
...
e.g. using the same kind of custdata in multiple interfaces
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 22:27:51 +01:00
Kevin Puetz
02b6df007a
widl: Write ATTR_CUSTOM into typelib.
...
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 22:27:51 +01:00
Nikolay Sivov
fe5bfa5b71
widl: Add null source pointer check for typelib writer.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38964
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:03:28 +02:00
Kevin Puetz
7955b2e526
widl: Remove duplicate '\n\n' in midl_info_guid.
...
Per standard, ctime already ends with '\n\0', so this doubled it.
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 12:54:17 +02:00
Kevin Puetz
44ccc4f638
widl: All VARDESC fields of TKIND_UNION should have oInst=0.
...
Also fix uninitialized value in this field for TKIND_DISPATCH.
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 15:35:03 +02:00
Dmitry Timoshkov
2c501aa750
widl: If a variable doesn't have a name provide an autogenerated one.
...
Otherwise widl crashes while generating a typelib for a structure
with an embedded anonymous union:
typedef struct _s
{
int type;
union
{
int f;
};
} s;
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-17 15:04:59 +01:00
Dmitry Timoshkov
8d0f8da652
widl: Generate name for a tagless union.
...
Otherwise widl crashes while generating a typelib for
typedef struct _s
{
int type;
union
{
int field;
} u;
} s;
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-17 15:04:59 +01:00
Zebediah Figura
56995dd322
widl: Output a registry script for all interfaces written into the typelib.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46005
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 16:22:33 +01:00
Jacek Caban
d5c745e467
widl: Don't use fixed size buffer in ctl2_encode_string.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 23:36:54 +01:00
Jacek Caban
908c2bec28
widl: Don't use fixed size buffer in ctl2_encode_name.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 23:36:50 +01:00
Richard Pospesel
57f697e137
widl: Respect wire-marshal typedefs in type libraries.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47041
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 20:04:10 +02:00
Zebediah Figura
96e11d51ba
widl: Write public typedefs into the typelib if they are referenced directly.
...
I.e. write "apple_t" into the typelib given the following snippet:
typedef [public] struct { ... } apple_t;
library {
interface IFoo {
HRESULT a(apple_t arg);
}
}
Based on a patch by Richard Pospesel.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 20:04:01 +02:00
Zebediah Figura
4f4763ab6b
widl: Handle encapsulated unions in type libraries.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 20:03:57 +02:00
Richard Pospesel
e63df7f7bf
widl: Store the aliasee as a decl_spec_t structure.
...
Signed-off-by: Richard Pospesel <richard@torproject.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-15 10:22:40 +02:00
Richard Pospesel
083032b5ef
widl: Use type_function_get_args() instead of type_get_function_args().
...
Signed-off-by: Richard Pospesel <richard@torproject.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-14 12:15:37 +02:00
Richard Pospesel
76512154f8
widl: Refactor to have pointer type's ref use decl_spec_t rather than type_t.
...
Signed-off-by: Richard Pospesel <richard@torproject.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 10:21:07 +02:00
Richard Pospesel
c7d68454af
widl: Refactor to have array type's element use decl_spec_t rather than type_t.
...
Signed-off-by: Richard Pospesel <richard@torproject.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 10:21:03 +02:00
Richard Pospesel
1ffb6494db
widl: Change struct _var_t's type member to a struct _decl_spec_t.
...
Signed-off-by: Richard Pospesel <richard@torproject.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 10:21:00 +02:00
Zebediah Figura
6c64d02117
widl: Correctly set the import library offset for all imported types.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47031
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-18 18:45:35 +02:00
Alexandre Julliard
f67301e9ec
widl: Always generate files for the target platform only.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 23:11:31 +01:00
Alexandre Julliard
c34e245137
widl: Support generating multiple typelibs into the same resource file.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 13:48:36 +02:00
Zebediah Figura
cfab3111c2
widl: Handle typedef'd arrays.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-10 17:44:05 +02:00
Zebediah Figura
65610a4c94
widl: Fix detection of SAFEARRAY pointers when writing array pointers.
...
This code was introduced in 7d1e3691
, but that commit did not account for
pointers to normal C arrays.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-10 17:44:02 +02:00
Jacek Caban
bc6c2eb907
widl: Allow defaultvalue() attribute on any pointer type.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Jacek Caban
68c43a5ad9
widl: Split write_value for string and int values.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Zebediah Figura
50a7b239bd
widl: Generate correct size and alignment for all types.
...
Using type_memsize_and_alignment() directly instead of reimplementing it.
Also fix the generated tests in oleaut32 to reflect correct sizes for 64-bit
typelibs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 10:07:10 +02:00
Zebediah Figura
d5a1d6134b
widl: Prefer types defined in the same typelib to imported types.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-30 22:26:49 +02:00
Zebediah Figura
8c968f774c
widl: Don't remove the FDUAL flag from non-dispatchable interfaces.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-29 17:13:05 +02:00
Zebediah Figura
413821f8b1
widl: Properly implement syntax 2 dispinterfaces.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-29 17:13:05 +02:00
Zebediah Figura
3e7a5301f2
widl: Try to import typedefs instead of redefining them.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-29 17:13:05 +02:00
Huw Davies
5a06b6b035
widl: Add missing width and alignment for VARIANT.
...
Spotted by André Hentschel.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 12:38:25 +01:00
André Hentschel
028b2bddfc
widl: Initialize decoded_size.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 11:01:50 +01:00
Sergei Bolotov
376daa91d8
widl: Support for toggling and checking status for warnings, support for warning 2368.
...
Signed-off-by: Sergei Bolotov <bolotov.s.s@yandex.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-12 12:54:09 +09:00
Alexandre Julliard
87dacc4e11
widl: Disable a noisy warning.
...
This could be re-enabled once there's a mechanism to avoid the warning
when building the corresponding test case.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 01:13:40 +09:00
Dmitry Timoshkov
42c328ddf4
widl: Ignore assignment of a duplicate uuid.
...
MSDN KB285146 article describes this behaviour, and the tests confirm
that.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 20:22:36 +09:00
Dmitry Timoshkov
f7581c763d
widl: Avoid adding duplicate type definitions if tag and typedef names are the same.
...
Fix handing of the following .idl snippet:
typedef [uuid(b14b6bb5-904e-4ff9-b247-bd361f7a0001)]
struct g { int g1; } g;
[uuid(b14b6bb5-904e-4ff9-b247-bd361f7a0002)]
interface test_iface : IUnknown
{
HRESULT test([in] g *ptr);
}
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 18:31:32 +09:00
Dmitry Timoshkov
f16396ceec
widl: Avoid warnings when being added dispatch guids already present in a typelib.
...
Silence warnings about adding a duplicate uuid when generating
stdole2.tlb.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:23 +09:00
Sebastian Lackner
736beff9c6
widl: When adding an interface typedef do check whether it has been already added while resolving the parent interface.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:23 +09:00
Dmitry Timoshkov
e6e7055c0b
widl: Add support for unions to the typelib generator.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-26 23:03:40 +09:00
Dmitry Timoshkov
fb5293f0ce
widl: Do not create duplicate type info entries when tag and typedef names are the same.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2015-10-06 14:28:23 +09:00
Dmitry Timoshkov
7d1e3691ab
widl: Add special handling for pointers to arrays in the typelib generator.
2015-09-10 17:22:43 +09:00