[Dependency Scanning] Model main module as separate dependency kind: SwiftSource

These kinds of modules differ from `SwiftTextual` modules in that they do not have an interface and have source-files.
It is cleaner to enforce this distinction with types, instead of checking for interface optionality everywhere.
This commit is contained in:
Artem Chikin
2021-09-13 16:46:54 -07:00
parent 8cd8ca01ad
commit e64a40451b
16 changed files with 473 additions and 158 deletions

View File

@@ -1662,7 +1662,11 @@ Optional<ModuleDependencies> ASTContext::getModuleDependencies(
if (!isUnderlyingClangModule) {
if (auto found = cache.findDependencies(
moduleName,
{ModuleDependenciesKind::SwiftTextual, searchPathSet}))
{ModuleDependenciesKind::SwiftSource, searchPathSet}))
return found;
if (auto found = cache.findDependencies(
moduleName,
{ModuleDependenciesKind::SwiftInterface, searchPathSet}))
return found;
if (auto found = cache.findDependencies(
moduleName, {ModuleDependenciesKind::SwiftBinary, searchPathSet}))