@@ -456,17 +456,13 @@ Decl::getSemanticAvailableAttr(const AvailableAttr *attr) const {
456456}
457457
458458std::optional<SemanticAvailableAttr>
459- Decl::getActiveAvailableAttrForCurrentPlatform (bool ignoreAppExtensions ) const {
459+ Decl::getActiveAvailableAttrForCurrentPlatform () const {
460460 std::optional<SemanticAvailableAttr> bestAttr;
461461
462462 for (auto attr : getSemanticAvailableAttrs (/* includingInactive=*/ false )) {
463463 if (!attr.isPlatformSpecific ())
464464 continue ;
465465
466- if (ignoreAppExtensions &&
467- isApplicationExtensionPlatform (attr.getPlatform ()))
468- continue ;
469-
470466 // We have an attribute that is active for the platform, but is it more
471467 // specific than our current best?
472468 if (!bestAttr || inheritsAvailabilityFromPlatform (
@@ -577,23 +573,17 @@ bool Decl::isUnavailableInCurrentSwiftVersion() const {
577573 return false ;
578574}
579575
580- std::optional<SemanticAvailableAttr>
581- getDeclUnavailableAttr (const Decl *D, bool ignoreAppExtensions) {
576+ std::optional<SemanticAvailableAttr> getDeclUnavailableAttr (const Decl *D) {
582577 auto &ctx = D->getASTContext ();
583578 std::optional<SemanticAvailableAttr> result;
584- auto bestActive =
585- D->getActiveAvailableAttrForCurrentPlatform (ignoreAppExtensions);
579+ auto bestActive = D->getActiveAvailableAttrForCurrentPlatform ();
586580
587581 for (auto attr : D->getSemanticAvailableAttrs (/* includingInactive=*/ false )) {
588582 // If this is a platform-specific attribute and it isn't the most
589583 // specific attribute for the current platform, we're done.
590584 if (attr.isPlatformSpecific () && (!bestActive || attr != bestActive))
591585 continue ;
592586
593- if (ignoreAppExtensions &&
594- isApplicationExtensionPlatform (attr.getPlatform ()))
595- continue ;
596-
597587 // Unconditional unavailable.
598588 if (attr.isUnconditionallyUnavailable ())
599589 return attr;
@@ -612,9 +602,8 @@ getDeclUnavailableAttr(const Decl *D, bool ignoreAppExtensions) {
612602 return result;
613603}
614604
615- std::optional<SemanticAvailableAttr>
616- Decl::getUnavailableAttr (bool ignoreAppExtensions) const {
617- if (auto attr = getDeclUnavailableAttr (this , ignoreAppExtensions))
605+ std::optional<SemanticAvailableAttr> Decl::getUnavailableAttr () const {
606+ if (auto attr = getDeclUnavailableAttr (this ))
618607 return attr;
619608
620609 // If D is an extension member, check if the extension is unavailable.
@@ -626,7 +615,7 @@ Decl::getUnavailableAttr(bool ignoreAppExtensions) const {
626615 // and the availability of other categories. rdar://problem/53956555
627616 if (!getClangNode ())
628617 if (auto ext = dyn_cast<ExtensionDecl>(getDeclContext ()))
629- return ext->getUnavailableAttr (ignoreAppExtensions );
618+ return ext->getUnavailableAttr ();
630619
631620 return std::nullopt ;
632621}
0 commit comments