Pull out performWholeModuleTypeCheckingOnMainModule

This commit is contained in:
David Ungar
2017-08-27 17:46:03 -07:00
parent 3a7cc73043
commit 168a4bf0cc
2 changed files with 8 additions and 5 deletions

View File

@@ -435,6 +435,7 @@ public:
void freeContextAndSIL(); void freeContextAndSIL();
private: private:
void performWholeModuleTypeCheckingOnMainModule();
void finishTypeCheckingMainModule(); void finishTypeCheckingMainModule();
}; };

View File

@@ -569,16 +569,18 @@ void CompilerInstance::performSema() {
Invocation.getCodeCompletionFactory()); Invocation.getCodeCompletionFactory());
} }
// Perform whole-module type checking.
if (TypeCheckOptions & TypeCheckingFlags::DelayWholeModuleChecking) { if (TypeCheckOptions & TypeCheckingFlags::DelayWholeModuleChecking) {
for (auto File : MainModule->getFiles()) performWholeModuleTypeCheckingOnMainModule();
if (auto SF = dyn_cast<SourceFile>(File))
performWholeModuleTypeChecking(*SF);
} }
finishTypeCheckingMainModule(); finishTypeCheckingMainModule();
} }
void CompilerInstance::performWholeModuleTypeCheckingOnMainModule() {
for (auto File : MainModule->getFiles())
if (auto SF = dyn_cast<SourceFile>(File))
performWholeModuleTypeChecking(*SF);
}
void CompilerInstance::finishTypeCheckingMainModule() { void CompilerInstance::finishTypeCheckingMainModule() {
for (auto File : MainModule->getFiles()) for (auto File : MainModule->getFiles())
if (auto SF = dyn_cast<SourceFile>(File)) if (auto SF = dyn_cast<SourceFile>(File))