Skip to content

Commit 793c7a1

Browse files
committed
Serialization: Use forEachAssociatedConformance()
1 parent ab7c853 commit 793c7a1

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

lib/Serialization/Serialization.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1694,12 +1694,15 @@ void Serializer::writeLocalNormalProtocolConformance(
16941694
SmallVector<DeclID, 32> data;
16951695
unsigned numValueWitnesses = 0;
16961696
unsigned numTypeWitnesses = 0;
1697-
unsigned numSignatureConformances =
1698-
conformance->getSignatureConformances().size();
1699-
1700-
for (auto sigConformance : conformance->getSignatureConformances()) {
1701-
data.push_back(addConformanceRef(sigConformance));
1702-
}
1697+
unsigned numSignatureConformances = 0;
1698+
1699+
conformance->forEachAssociatedConformance(
1700+
[&](Type t, ProtocolDecl *proto, unsigned index) {
1701+
auto assocConf = conformance->getAssociatedConformance(t, proto);
1702+
data.push_back(addConformanceRef(assocConf));
1703+
++numSignatureConformances;
1704+
return false;
1705+
});
17031706

17041707
conformance->forEachTypeWitness([&](AssociatedTypeDecl *assocType,
17051708
Type type, TypeDecl *typeDecl) {

0 commit comments

Comments
 (0)