Merge pull request #33114 from brentdax/check-your-interfaces-at-the-door

Verify that just-emitted module interfaces parse and typecheck
This commit is contained in:
Brent Royal-Gordon
2020-08-24 20:33:58 -07:00
committed by GitHub
23 changed files with 203 additions and 26 deletions

View File

@@ -285,6 +285,8 @@ private:
};
struct ModuleInterfaceLoaderOptions {
FrontendOptions::ActionType requestedAction =
FrontendOptions::ActionType::EmitModuleOnly;
bool remarkOnRebuildFromInterface = false;
bool disableInterfaceLock = false;
bool disableImplicitSwiftModule = false;
@@ -293,7 +295,17 @@ struct ModuleInterfaceLoaderOptions {
remarkOnRebuildFromInterface(Opts.RemarkOnRebuildFromModuleInterface),
disableInterfaceLock(Opts.DisableInterfaceFileLock),
disableImplicitSwiftModule(Opts.DisableImplicitModules),
mainExecutablePath(Opts.MainExecutablePath) {}
mainExecutablePath(Opts.MainExecutablePath)
{
switch (Opts.RequestedAction) {
case FrontendOptions::ActionType::TypecheckModuleFromInterface:
requestedAction = FrontendOptions::ActionType::Typecheck;
break;
default:
requestedAction = FrontendOptions::ActionType::EmitModuleOnly;
break;
}
}
ModuleInterfaceLoaderOptions() = default;
};