Merge pull request #39865 from apple/QuietMisdreavus/private-swiftc-symbols

[Driver][SymbolGraph] add new flag -symbol-graph-minimum-access-level

rdar://79099869
This commit is contained in:
QuietMisdreavus
2021-10-29 13:01:22 -06:00
committed by GitHub
11 changed files with 58 additions and 34 deletions

View File

@@ -1107,8 +1107,20 @@ static void ParseSymbolGraphArgs(symbolgraphgen::SymbolGraphOptions &Opts,
Opts.SkipInheritedDocs = Args.hasArg(OPT_skip_inherited_docs);
Opts.IncludeSPISymbols = Args.hasArg(OPT_include_spi_symbols);
if (auto *A = Args.getLastArg(OPT_symbol_graph_minimum_access_level)) {
Opts.MinimumAccessLevel =
llvm::StringSwitch<AccessLevel>(A->getValue())
.Case("open", AccessLevel::Open)
.Case("public", AccessLevel::Public)
.Case("internal", AccessLevel::Internal)
.Case("fileprivate", AccessLevel::FilePrivate)
.Case("private", AccessLevel::Private)
.Default(AccessLevel::Public);
} else {
Opts.MinimumAccessLevel = AccessLevel::Public;
}
// default values for generating symbol graphs during a build
Opts.MinimumAccessLevel = AccessLevel::Public;
Opts.PrettyPrint = false;
Opts.EmitSynthesizedMembers = true;
Opts.PrintMessages = false;