[Concurrency] Add a request to retrieve default isolation of a file

The default isolation is computed based on `using` declaration
found in the file, if any.
This commit is contained in:
Pavel Yaskevich
2025-05-29 09:12:41 -07:00
parent c019b669a1
commit 36b77116bd
6 changed files with 78 additions and 0 deletions

View File

@@ -3829,6 +3829,12 @@ bool SourceFile::FileIDStr::matches(const SourceFile *file) const {
fileName == llvm::sys::path::filename(file->getFilename());
}
std::optional<DefaultIsolation> SourceFile::getDefaultIsolation() const {
auto &ctx = getASTContext();
return evaluateOrDefault(
ctx.evaluator, DefaultIsolationInSourceFileRequest{this}, std::nullopt);
}
namespace {
class LocalTypeDeclCollector : public ASTWalker {
SmallVectorImpl<TypeDecl *> &results;