[AST] Make it possible to find what Swift version was used to build a module

For imported modules the version is empty because they don't carry
this information.
This commit is contained in:
Pavel Yaskevich
2024-01-22 15:32:00 -08:00
parent b98d7a5679
commit 182ba1bb2d
7 changed files with 34 additions and 2 deletions

View File

@@ -3935,3 +3935,17 @@ bool IsNonUserModuleRequest::evaluate(Evaluator &evaluator, ModuleDecl *mod) con
return (!runtimePath.empty() && pathStartsWith(runtimePath, modulePath)) ||
(!sdkPath.empty() && pathStartsWith(sdkPath, modulePath));
}
version::Version ModuleDecl::getLanguageVersionBuiltWith() const {
for (auto *F : getFiles()) {
auto *LD = dyn_cast<LoadedFile>(F);
if (!LD)
continue;
auto version = LD->getLanguageVersionBuiltWith();
if (!version.empty())
return version;
}
return version::Version();
}