Rémi Bernon
3b7398b403
widl: Guard against re-import of the main input file.
2023-08-22 21:00:56 +02:00
Mohamad Al-Jaf
0b3b28c245
widl: Add support for default_overload attribute.
...
Needed for IDeviceInformationStatics.
2023-08-04 09:51:24 +09:00
Bernhard Kölbl
711cd500e7
widl: Add basic support for the [deprecated] attribute.
...
Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-07-05 19:54:57 +02:00
Mohamad Al-Jaf
3b31e75395
widl: Add support for WinRT HANDLE parameter type.
...
Needed by windows.ui.composition.interop.idl.
2023-04-13 10:25:19 +02:00
Mohamad Al-Jaf
712f87ee8e
widl: Add support for composable attribute.
...
Needed to build windows.ui.composition.idl.
2023-04-03 16:52:01 +02:00
Mohamad Al-Jaf
a7e1c707f1
widl: Add support for protected attribute.
2023-04-03 16:52:01 +02:00
Mohamad Al-Jaf
781b8b0e99
widl: Add support for inherited runtime classes.
...
Needed to build windows.ui.composition.idl.
2023-04-03 16:52:01 +02:00
Rémi Bernon
78c5e3ab03
widl: Define PARSER_LTYPE instead of api.location.type.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54729
2023-03-27 11:05:34 +02:00
Rémi Bernon
3d79c1f56d
widl: Add source location information to attributes.
2023-03-24 21:49:27 +01:00
Rémi Bernon
a10740f319
widl: Remove custom attribute creation helper.
2023-03-24 21:49:27 +01:00
Rémi Bernon
7771a9ae79
widl: Simplify attribute creation with either int or ptr value.
2023-03-24 21:49:27 +01:00
Rémi Bernon
f36fbb3788
widl: Move attribute related functions to attribute.c.
2023-03-24 21:49:27 +01:00
Rémi Bernon
f79ae4a95c
widl: Use spaces to indent attribute rules more consistently.
2023-03-24 21:49:26 +01:00
Rémi Bernon
472b2ecad4
widl: Improve accuracy of error messages location.
2023-03-23 16:44:34 +01:00
Rémi Bernon
071b0a5532
widl: Enable bison locations option.
2023-03-23 16:44:34 +01:00
Rémi Bernon
2edd194a00
widl: Move diagnostic and location functions to parser.l.
2023-03-23 16:44:34 +01:00
Rémi Bernon
be1e308253
widl: Allow source location to span over multiple lines.
2023-03-23 16:44:34 +01:00
Rémi Bernon
edca5937fb
widl: Rename (error|warning)_loc_info to (error|warning)_at.
2023-03-23 16:44:34 +01:00
Rémi Bernon
f869c8e7a3
widl: Lex calling convention variations toghether.
2023-03-20 21:03:32 +01:00
Rémi Bernon
53ae787d02
widl: Simplify reserved keywords lexing.
2023-03-20 21:03:32 +01:00
Rémi Bernon
abbf6cefc5
widl: Simplify uuid literals lexing.
2023-03-20 21:03:32 +01:00
Rémi Bernon
5deda2de3f
widl: Simplify handling of already parsed imports.
2023-03-16 14:09:25 +01:00
Rémi Bernon
9a047736b3
widl: Use bison-bridge option.
2023-03-14 20:38:59 +01:00
Rémi Bernon
1ec6ea528e
widl: Add missing rule end semicolons.
2023-03-14 20:38:59 +01:00
Rémi Bernon
3384e7cb63
widl: Use explicit %empty token for empty rules.
2023-03-14 20:38:59 +01:00
Rémi Bernon
de95ee6c66
widl: Allow parameterized types in runtimeclass interfaces.
2022-09-13 16:22:21 +02:00
Rémi Bernon
837297c21f
widl: Support namespaces for union declarations.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
2022-07-07 19:10:02 +02:00
Bernhard Kölbl
6555201716
widl: Allow multiple uses of the activatable attribute.
...
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 20:17:25 +01:00
Rémi Bernon
3e16b37475
widl: Support declaring multiple namespaces at once.
...
Using the namespace A.B.C {} syntax, used in a few some places in WinRT
IDLs.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-22 18:20:22 +01:00
Alexandre Julliard
62f9bd39a2
tools: Consistently use xmalloc/xrealloc/xstrdup everywhere.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:14 +01:00
Bernhard Kölbl
64d5feb4ce
widl: Add support for the [overload] attribute.
...
The attribute is used by WinRT and doesn't have any
effect on the generated headers.
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Huw Davies
f8adbf35ca
widl: Remove the uuid_t typedef which causes conflicts on macOS.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 09:27:15 +01:00
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
Bernhard Kölbl
22d27236ce
widl: Allow optional interface parameter on the [activatable] attribute.
...
As per MIDL 3.0. Needed for some WinRT runtime classes.
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 10:10:52 +01:00
Alexandre Julliard
c09a5da157
wrc: Add a workaround for older bison versions.
...
Bison < 3.6 doesn't apply api.prefix to YYEMPTY.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 23:38:08 +01:00
Alexandre Julliard
f4af3134de
makefiles: Specify the bison prefix directly in the source files.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:12 +01:00
Nikolay Sivov
73686845d1
widl: Allow [hidden] and [version] on modules.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 15:49:59 +02:00
Nikolay Sivov
e3893d6bfd
widl: Allow modules without attributes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 15:49:57 +02:00
Alexandre Julliard
9e3959bd9b
tools: Add a few helper functions for file names and extensions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:11 +02:00
Steve Lhomme
fc533ddf32
widl: Precompute qualified type names, and use them for C++ interfaces.
...
This is what MIDL does and avoid mismatching and even fixes some compiling issues.
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-19 23:46:30 +01:00
Rémi Bernon
b1e9326f5a
widl: Compute uuids for parameterized types.
...
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-18 22:39:33 +01:00
Rémi Bernon
fecfd245a1
widl: Support WinRT parameterized delegate 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-18 22:39:33 +01:00
Rémi Bernon
2326d7226d
widl: Support WinRT delegate 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-18 22:39:33 +01:00
Rémi Bernon
d3c7aa2915
widl: Support WinRT parameterized interface type.
...
This allows parameterized interfaces to be instanciated in declare
blocks, in the same way MIDL does, generating a new interface to the
header from the parameterized type template, replacing its parameters
with the given types.
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 22:21:06 +01:00
Rémi Bernon
d5bf8f4e8a
widl: Support partially specialized parameterized type.
...
This allows parameterized types to reference each other with a different
set of parameters. This is required for instance for IIterable<T>, that
needs to reference IIterator<T>.
The partial specialization is recorded by adding a new parameterized
type, referencing the original one as its template. The parameterized
type chain will be resolved all at once when the type is declared.
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
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
Andrew Boyarshin
a55a37d1da
widl: Support midl_pragma default option.
...
Signed-off-by: Andrew Boyarshin <andrew.boyarshin@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 23:01:38 +01:00