Module: wine
Branch: master
Commit: ed21c294815d3e1eff9dca861f4af16096cc1ce7
URL: https://source.winehq.org/git/wine.git/?a=commit;h=ed21c294815d3e1eff9dca86…
Author: Rémi Bernon <rbernon(a)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(a)codeweavers.com>
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)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=ed21c294815d3e1eff9d…