ABI checker: exclude unavailable decls from ABI descriptors

Framework authors usually have different schemes for different deployment
targets. We should exclude platform-unavailable ABIs from the Json file so
developers will only be warned of the breakages that are relevant to the current
scheme.

rdar://54273296
This commit is contained in:
Xi Ge
2019-08-28 15:51:10 -07:00
parent 03bd71ce26
commit 6dd41f44db
3 changed files with 18 additions and 3090 deletions

View File

@@ -1570,9 +1570,9 @@ SDKContext::shouldIgnore(Decl *D, const Decl* Parent) const {
} else {
if (D->isPrivateStdlibDecl(false))
return true;
if (AvailableAttr::isUnavailable(D))
return true;
}
if (AvailableAttr::isUnavailable(D))
return true;
if (auto VD = dyn_cast<ValueDecl>(D)) {
switch (getAccessLevel(VD)) {
case AccessLevel::Internal: