Rémi Bernon : widl: Support WinRT parameterized type parsing.

Alexandre Julliard julliard at winehq.org
Fri Feb 12 14:37:37 CST 2021


Module: wine
Branch: master
Commit: ed21c294815d3e1eff9dca861f4af16096cc1ce7
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ed21c294815d3e1eff9dca861f4af16096cc1ce7

Author: Rémi Bernon <rbernon at codeweavers.com>
Date:   Thu Feb 11 17:37:27 2021 +0100

widl: Support WinRT parameterized type parsing.

And add IVectorView<T> and IIterator<T> parameterized interfaces to
windows.foundation.idl for illustration and future use. They won't
generate any additional code until they are fully specialized.

This is a WIDL-specific feature, but MIDL has some magic knowledge of
these Windows.Foundation.Collections interface templates, and we need a
way to instruct WIDL about them too.

Having these interfaces declared in the IDL, guarded with __WIDL__ ifdef
is easier and more flexible than re-creating the types by hand in WIDL
source.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/windows.foundation.idl | 29 +++++++++++++++
 tools/widl/expr.c              |  2 ++
 tools/widl/header.c            |  8 +++--
 tools/widl/parser.y            | 82 +++++++++++++++++++++++++++++++++++-------
 tools/widl/typegen.c           |  6 ++++
 tools/widl/typelib.c           |  2 ++
 tools/widl/typetree.c          | 39 ++++++++++++++++++++
 tools/widl/typetree.h          |  4 +++
 tools/widl/widltypes.h         |  9 +++++
 9 files changed, 166 insertions(+), 15 deletions(-)

Diff:   https://source.winehq.org/git/wine.git/?a=commitdiff;h=ed21c294815d3e1eff9dca861f4af16096cc1ce7



More information about the wine-cvs mailing list