@@ -58,18 +58,37 @@ Optional<PlatformKind> swift::platformFromString(StringRef Name) {
5858 .Default (Optional<PlatformKind>());
5959}
6060
61+ static bool isApplicationExtensionPlatform (PlatformKind Platform) {
62+ switch (Platform) {
63+ case PlatformKind::macOSApplicationExtension:
64+ case PlatformKind::iOSApplicationExtension:
65+ case PlatformKind::macCatalystApplicationExtension:
66+ case PlatformKind::tvOSApplicationExtension:
67+ case PlatformKind::watchOSApplicationExtension:
68+ return true ;
69+ case PlatformKind::macOS:
70+ case PlatformKind::iOS:
71+ case PlatformKind::macCatalyst:
72+ case PlatformKind::tvOS:
73+ case PlatformKind::watchOS:
74+ case PlatformKind::OpenBSD:
75+ case PlatformKind::Windows:
76+ case PlatformKind::none:
77+ return false ;
78+ }
79+ llvm_unreachable (" bad PlatformKind" );
80+ }
81+
6182static bool isPlatformActiveForTarget (PlatformKind Platform,
6283 const llvm::Triple &Target,
6384 bool EnableAppExtensionRestrictions) {
6485 if (Platform == PlatformKind::none)
6586 return true ;
66-
67- if (Platform == PlatformKind::macOSApplicationExtension ||
68- Platform == PlatformKind::iOSApplicationExtension ||
69- Platform == PlatformKind::macCatalystApplicationExtension)
70- if (!EnableAppExtensionRestrictions)
71- return false ;
72-
87+
88+ if (!EnableAppExtensionRestrictions &&
89+ isApplicationExtensionPlatform (Platform))
90+ return false ;
91+
7392 // FIXME: This is an awful way to get the current OS.
7493 switch (Platform) {
7594 case PlatformKind::macOS:
0 commit comments