Commit graph

155 commits

Author SHA1 Message Date
Elizabeth Figura 53c70aec87 widl: Respect u and l modifiers in expressions. 2024-06-25 21:55:06 +02:00
Elizabeth Figura e261f187ad widl: Use struct integer for the aNUM and aHEXNUM tokens. 2024-06-25 21:55:06 +02:00
Elizabeth Figura 992cafc9ed widl: Do not allow "lu" as an integer suffix.
MIDL does not.
2024-06-25 21:55:06 +02:00
Jacek Caban 3b12583db0 widl: Always close parsed input file.
Fixes a regression from 9d537999e3, which removed closing the file.
This causes Windows widl build to be to remove the temporary file on exit.
2024-03-21 22:19:58 +01:00
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 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
Francois Gouget 99f77667bb widl: Error_loc() messages must have a trailing linefeed. 2023-03-27 17:43:18 +02:00
Rémi Bernon 3149d27220 widl: Print the import stack and context in messages. 2023-03-23 16:44:34 +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 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 858ec42a31 widl: Simplify preprocessor directive lexing. 2023-03-20 21:03:32 +01:00
Rémi Bernon 83f9f2cd3c widl: Remove unused lexer aliases. 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
Alexandre Julliard 78dc4ce7a0 widl: Pass the correct parent name when opening an import file.
Fixed a regression from 9d537999e3.
2023-03-20 17:10:45 +01:00
Rémi Bernon d359837fcc widl: Avoid freeing input_name in pop_import.
The pointers are used in loc_info input_name without copy.
2023-03-17 16:45:29 +01:00
Rémi Bernon 194c002c6e widl: Simplify string literals lexing. 2023-03-17 16:45:11 +01:00
Rémi Bernon baa3680f2e widl: Introduce a new helper to produce num tokens. 2023-03-17 16:45:11 +01:00
Rémi Bernon a46facfd8c widl: Group <ATTR> tokens together. 2023-03-17 16:45:11 +01:00
Rémi Bernon 832d6985c8 widl: Group <INITIAL> tokens together. 2023-03-17 16:45:11 +01:00
Rémi Bernon 2b3a910184 widl: Group <INITIAL,ATTR> tokens together. 2023-03-17 16:45:11 +01:00
Rémi Bernon 39da052012 widl: Introduce new (open|close)_input_file helpers. 2023-03-16 14:09:25 +01:00
Rémi Bernon 9d537999e3 widl: Use a struct list for the import stack. 2023-03-16 14:09:25 +01:00
Rémi Bernon 5deda2de3f widl: Simplify handling of already parsed imports. 2023-03-16 14:09:25 +01:00
Rémi Bernon 9d1f1a3fb1 widl: Use a struct list to keep imported files. 2023-03-16 14:09:25 +01:00
Rémi Bernon b97cf7ab5f widl: Remove unused temp_name member. 2023-03-14 20:38:59 +01:00
Rémi Bernon 9a047736b3 widl: Use bison-bridge option. 2023-03-14 20:38:59 +01:00
Rémi Bernon 37f343b4a9 widl: Use noyywrap lexer option. 2023-03-14 20:38:59 +01:00
Alexandre Julliard ca398e2762 tools: Add a common helper to cleanup temp files. 2023-01-25 11:47:51 +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
Alexandre Julliard 13ec7952e0 configure: Assume that unistd.h is available on Unix.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard 8d6c33c3bf include: Remove wine/port.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:54 +01:00
Alexandre Julliard 55701c6672 tools: Add a helper function to create temp files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:11 +02:00
Alexandre Julliard b69ce3472d wpp: Move the preprocessor code into wrc.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-24 21:55:18 +02: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
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
Rémi Bernon daba929a52 widl: Support WinRT requires keyword.
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-09 21:16:16 +01:00
Rémi Bernon 1442ddf942 widl: Support WinRT static attribute parsing.
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-09 21:16:14 +01:00
Rémi Bernon 30129c2837 widl: Support WinRT activatable attribute parsing.
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-09 21:16:11 +01:00
Rémi Bernon 374321f836 widl: Remove aNAMESPACE token from the lexer.
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-08 20:09:15 +01:00
Rémi Bernon 8233b3d537 widl: Support WinRT eventadd/eventremove attributes.
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-01 10:50:17 +01:00
Rémi Bernon 1a62712e25 widl: Support WinRT flags attribute parsing.
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-01 10:50:12 +01:00