Add an interface mode getter/setter in PrintOptions and ModuleInterfaceOptions

Update args parsing
This commit is contained in:
Ellie Shin
2023-11-13 13:47:30 -08:00
parent e5ca8e5c0b
commit 9d716394b1
7 changed files with 62 additions and 43 deletions

View File

@@ -417,7 +417,7 @@ static void ParseModuleInterfaceArgs(ModuleInterfaceOptions &Opts,
if (const Arg *A = Args.getLastArg(OPT_library_level)) {
StringRef contents = A->getValue();
if (contents == "spi") {
Opts.InterfaceContentMode = InterfaceMode::Private;
Opts.setInterfaceMode(PrintOptions::InterfaceMode::Private);
}
}
for (auto val: Args.getAllArgValues(OPT_skip_import_in_public_interface)) {
@@ -622,11 +622,6 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Opts.EnableAccessControl
= A->getOption().matches(OPT_enable_access_control);
}
if (auto A = Args.getLastArg(OPT_experimental_package_interface_load,
OPT_experimental_package_interface_load)) {
Opts.EnablePackageInterfaceLoad
= A->getOption().matches(OPT_experimental_package_interface_load);
}
Opts.ForceWorkaroundBrokenModules
|= Args.hasArg(OPT_force_workaround_broken_modules);
@@ -638,6 +633,10 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Opts.EnableExperimentalStringProcessing = true;
}
if (Args.hasArg(OPT_experimental_package_interface_load)) {
Opts.EnablePackageInterfaceLoad = true;
}
// Experimental string processing.
if (auto A = Args.getLastArg(OPT_enable_experimental_string_processing,
OPT_disable_experimental_string_processing)) {