[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

@@ -2221,6 +2221,17 @@ static void ParseSymbolGraphArgs(symbolgraphgen::SymbolGraphOptions &Opts,
Opts.MinimumAccessLevel = AccessLevel::Public;
}
if (auto *A = Args.getLastArg(OPT_symbol_graph_allow_availability_platforms,
OPT_symbol_graph_block_availability_platforms)) {
llvm::SmallVector<StringRef> AvailabilityPlatforms;
StringRef(A->getValue())
.split(AvailabilityPlatforms, ',', /*MaxSplits*/ -1,
/*KeepEmpty*/ false);
Opts.AvailabilityPlatforms = llvm::DenseSet<StringRef>(
AvailabilityPlatforms.begin(), AvailabilityPlatforms.end());
Opts.AvailabilityIsBlockList = A->getOption().matches(OPT_symbol_graph_block_availability_platforms);
}
// default values for generating symbol graphs during a build
Opts.PrettyPrint = false;
Opts.EmitSynthesizedMembers = true;