Serialize Fingerprints in Swift Modules

This commit is contained in:
Robert Widmann
2020-11-17 16:23:07 -08:00
parent beeefbc804
commit 9f79fd5df1
12 changed files with 189 additions and 7 deletions

View File

@@ -650,6 +650,24 @@ void ModuleFile::loadDerivativeFunctionConfigurations(
}
}
Optional<std::string>
ModuleFile::loadFingerprint(const IterableDeclContext *IDC) {
PrettyStackTraceDecl trace("loading fingerprints for", IDC->getDecl());
assert(IDC->wasDeserialized());
assert(IDC->getDeclID() != 0);
if (!Core->DeclFingerprints) {
return None;
}
auto it = Core->DeclFingerprints->find(IDC->getDeclID());
if (it == Core->DeclFingerprints->end()) {
return None;
}
return *it;
}
TinyPtrVector<ValueDecl *>
ModuleFile::loadNamedMembers(const IterableDeclContext *IDC, DeclBaseName N,
uint64_t contextData) {