Skip to content

Commit f7bf701

Browse files
parse symbol availability allow/block-list args together (#80968)
1 parent bf7ee49 commit f7bf701

File tree

2 files changed

+6
-22
lines changed

2 files changed

+6
-22
lines changed

lib/DriverTool/swift_symbolgraph_extract_main.cpp

+3-11
Original file line numberDiff line numberDiff line change
@@ -203,23 +203,15 @@ int swift_symbolgraph_extract_main(ArrayRef<const char *> Args,
203203
.Default(AccessLevel::Public);
204204
}
205205

206-
if (auto *A = ParsedArgs.getLastArg(OPT_allow_availability_platforms)) {
206+
if (auto *A = ParsedArgs.getLastArg(OPT_allow_availability_platforms,
207+
OPT_block_availability_platforms)) {
207208
llvm::SmallVector<StringRef> AvailabilityPlatforms;
208209
StringRef(A->getValue())
209210
.split(AvailabilityPlatforms, ',', /*MaxSplits*/ -1,
210211
/*KeepEmpty*/ false);
211212
Options.AvailabilityPlatforms = llvm::DenseSet<StringRef>(
212213
AvailabilityPlatforms.begin(), AvailabilityPlatforms.end());
213-
Options.AvailabilityIsBlockList = false;
214-
} else if (auto *A =
215-
ParsedArgs.getLastArg(OPT_block_availability_platforms)) {
216-
llvm::SmallVector<StringRef> AvailabilityPlatforms;
217-
StringRef(A->getValue())
218-
.split(AvailabilityPlatforms, ',', /*MaxSplits*/ -1,
219-
/*KeepEmpty*/ false);
220-
Options.AvailabilityPlatforms = llvm::DenseSet<StringRef>(
221-
AvailabilityPlatforms.begin(), AvailabilityPlatforms.end());
222-
Options.AvailabilityIsBlockList = true;
214+
Options.AvailabilityIsBlockList = A->getOption().matches(OPT_block_availability_platforms);
223215
}
224216

225217
Invocation.getLangOptions().setCxxInteropFromArgs(ParsedArgs, Diags);

lib/Frontend/CompilerInvocation.cpp

+3-11
Original file line numberDiff line numberDiff line change
@@ -2213,23 +2213,15 @@ static void ParseSymbolGraphArgs(symbolgraphgen::SymbolGraphOptions &Opts,
22132213
Opts.MinimumAccessLevel = AccessLevel::Public;
22142214
}
22152215

2216-
if (auto *A = Args.getLastArg(OPT_symbol_graph_allow_availability_platforms)) {
2216+
if (auto *A = Args.getLastArg(OPT_symbol_graph_allow_availability_platforms,
2217+
OPT_symbol_graph_block_availability_platforms)) {
22172218
llvm::SmallVector<StringRef> AvailabilityPlatforms;
22182219
StringRef(A->getValue())
22192220
.split(AvailabilityPlatforms, ',', /*MaxSplits*/ -1,
22202221
/*KeepEmpty*/ false);
22212222
Opts.AvailabilityPlatforms = llvm::DenseSet<StringRef>(
22222223
AvailabilityPlatforms.begin(), AvailabilityPlatforms.end());
2223-
Opts.AvailabilityIsBlockList = false;
2224-
} else if (auto *A = Args.getLastArg(
2225-
OPT_symbol_graph_block_availability_platforms)) {
2226-
llvm::SmallVector<StringRef> AvailabilityPlatforms;
2227-
StringRef(A->getValue())
2228-
.split(AvailabilityPlatforms, ',', /*MaxSplits*/ -1,
2229-
/*KeepEmpty*/ false);
2230-
Opts.AvailabilityPlatforms = llvm::DenseSet<StringRef>(
2231-
AvailabilityPlatforms.begin(), AvailabilityPlatforms.end());
2232-
Opts.AvailabilityIsBlockList = true;
2224+
Opts.AvailabilityIsBlockList = A->getOption().matches(OPT_symbol_graph_block_availability_platforms);
22332225
}
22342226

22352227
// default values for generating symbol graphs during a build

0 commit comments

Comments
 (0)