add new flag -symbol-graph-minimum-access-level

This commit is contained in:
Victoria Mitchell
2021-10-21 17:07:41 -06:00
parent 22aa3c5dbe
commit 6b5d884042
3 changed files with 20 additions and 1 deletions

View File

@@ -1104,8 +1104,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;