From f1661a2056db83e16b5793f95b7dd0c51c1c0aaa Mon Sep 17 00:00:00 2001 From: Raymond Chen Date: Mon, 1 Aug 2022 11:22:24 -0700 Subject: [PATCH] Project contract names so they can be passed to IsApiContractPresent --- cppwinrt/file_writers.h | 3 +++ test/test/names.cpp | 1 + 2 files changed, 4 insertions(+) diff --git a/cppwinrt/file_writers.h b/cppwinrt/file_writers.h index 5168d8d7f..ed9386b4e 100644 --- a/cppwinrt/file_writers.h +++ b/cppwinrt/file_writers.h @@ -77,6 +77,7 @@ namespace cppwinrt w.write_each(members.classes); w.write_each(members.structs); w.write_each(members.delegates); + w.write_each(members.contracts); } { auto wrap_impl = wrap_impl_namespace(w); @@ -89,11 +90,13 @@ namespace cppwinrt // Class names are always required for activation. // Class, enum, and struct names are required for producing GUIDs for generic types. // Interface and delegates names are required for Xaml compatibility. + // Contract names are used by IsApiContractPresent. w.write_each(members.classes); w.write_each(members.enums); w.write_each(members.structs); w.write_each(members.interfaces); w.write_each(members.delegates); + w.write_each(members.contracts); w.write_each(members.interfaces); w.write_each(members.delegates); diff --git a/test/test/names.cpp b/test/test/names.cpp index 7730fe82e..5d978a825 100644 --- a/test/test/names.cpp +++ b/test/test/names.cpp @@ -16,4 +16,5 @@ TEST_CASE("names") check_terminated(name_of()); check_terminated(name_of>()); check_terminated(name_of>()); + check_terminated(name_of()); }