[DefaultOverrides] SIL de/serialization.

This commit is contained in:
Nate Chandler
2025-03-20 16:24:03 -07:00
parent 317a379693
commit a3ba93609e
12 changed files with 401 additions and 11 deletions

View File

@@ -308,6 +308,13 @@ SILModule::lookUpDefaultOverrideTable(const ClassDecl *decl,
auto found = DefaultOverrideTableMap.find(decl);
if (found == DefaultOverrideTableMap.end()) {
if (deserializeLazily) {
SILLinkage linkage = getSILLinkage(getDeclLinkage(decl), ForDefinition);
SILDefaultOverrideTable *otable =
SILDefaultOverrideTable::declare(*this, linkage, decl);
otable = getSILLoader()->lookupDefaultOverrideTable(otable);
if (otable)
DefaultOverrideTableMap[decl] = otable;
return otable;
}
return nullptr;