mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
(De-)serialized ProtocolConformance::DefaultedDefinitions.
Swift SVN r6166
This commit is contained in:
@@ -181,11 +181,12 @@ ProtocolConformance *ModuleFile::maybeReadConformance() {
|
||||
return nullptr;
|
||||
|
||||
lastRecordOffset.reset();
|
||||
unsigned valueCount, typeCount, inheritedCount;
|
||||
unsigned valueCount, typeCount, inheritedCount, defaultedCount;
|
||||
ArrayRef<uint64_t> rawIDs;
|
||||
|
||||
ProtocolConformanceLayout::readRecord(scratch, valueCount, typeCount,
|
||||
inheritedCount, rawIDs);
|
||||
inheritedCount, defaultedCount,
|
||||
rawIDs);
|
||||
|
||||
ProtocolConformance *conformance =
|
||||
ModuleContext->Ctx.Allocate<ProtocolConformance>(1);
|
||||
@@ -219,6 +220,12 @@ ProtocolConformance *ModuleFile::maybeReadConformance() {
|
||||
conformance->InheritedMapping.insert(std::make_pair(proto, inherited));
|
||||
}
|
||||
|
||||
while (defaultedCount--) {
|
||||
BCOffsetRAII restoreOffset(DeclTypeCursor);
|
||||
auto decl = cast<ValueDecl>(getDecl(*rawIDIter++));
|
||||
conformance->DefaultedDefinitions.insert(decl);
|
||||
}
|
||||
|
||||
return conformance;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user