[6.2] [SymbolGraphGen] add flags to filter platforms out of availability metadata (#80806)

rdar://144379124
This commit is contained in:
QuietMisdreavus
2025-04-21 14:48:43 -06:00
committed by GitHub
parent bf0973650a
commit 61c4a0311f
7 changed files with 139 additions and 3 deletions

View File

@@ -203,6 +203,17 @@ int swift_symbolgraph_extract_main(ArrayRef<const char *> Args,
.Default(AccessLevel::Public);
}
if (auto *A = ParsedArgs.getLastArg(OPT_allow_availability_platforms,
OPT_block_availability_platforms)) {
llvm::SmallVector<StringRef> AvailabilityPlatforms;
StringRef(A->getValue())
.split(AvailabilityPlatforms, ',', /*MaxSplits*/ -1,
/*KeepEmpty*/ false);
Options.AvailabilityPlatforms = llvm::DenseSet<StringRef>(
AvailabilityPlatforms.begin(), AvailabilityPlatforms.end());
Options.AvailabilityIsBlockList = A->getOption().matches(OPT_block_availability_platforms);
}
Invocation.getLangOptions().setCxxInteropFromArgs(ParsedArgs, Diags);
std::string InstanceSetupError;