[Serialization] Serialize/deserialize source file list

This commit is contained in:
Rintaro Ishizaki
2021-01-11 15:59:44 -08:00
parent 9f6d351bc7
commit 1b6e7857c2
12 changed files with 101 additions and 1 deletions

View File

@@ -1514,6 +1514,17 @@ const clang::Module *ModuleDecl::findUnderlyingClangModule() const {
return nullptr;
}
void ModuleDecl::collectSourceFileNames(
llvm::function_ref<void(StringRef)> callback) {
for (FileUnit *fileUnit : getFiles()) {
if (SourceFile *SF = dyn_cast<SourceFile>(fileUnit)) {
callback(SF->getFilename());
} else if (auto *serialized = dyn_cast<LoadedFile>(fileUnit)) {
serialized->collectSourceFileNames(callback);
}
}
}
//===----------------------------------------------------------------------===//
// Cross-Import Overlays
//===----------------------------------------------------------------------===//