@@ -174,7 +174,7 @@ void ConformanceLookupTable::forEachInStage(ConformanceStage stage,
174174 if (loader.first ) {
175175 SmallVector<ProtocolConformance *, 2 > conformances;
176176 loader.first ->loadAllConformances (nominal, loader.second , conformances);
177- loadAllConformances (nominal, conformances);
177+ registerProtocolConformances (nominal, conformances);
178178 }
179179
180180 nominalFunc (nominal);
@@ -202,7 +202,7 @@ void ConformanceLookupTable::forEachInStage(ConformanceStage stage,
202202 if (loader.first ) {
203203 SmallVector<ProtocolConformance *, 2 > conformances;
204204 loader.first ->loadAllConformances (next, loader.second , conformances);
205- loadAllConformances (next, conformances);
205+ registerProtocolConformances (next, conformances);
206206 for (auto conf : conformances) {
207207 protocols.push_back (
208208 {conf->getProtocol (), SourceLoc (), SourceLoc (), SourceLoc ()});
@@ -433,19 +433,17 @@ void ConformanceLookupTable::updateLookupTable(NominalTypeDecl *nominal,
433433 }
434434}
435435
436- void ConformanceLookupTable::loadAllConformances (
436+ void ConformanceLookupTable::registerProtocolConformances (
437437 DeclContext *dc,
438438 ArrayRef<ProtocolConformance*> conformances) {
439439 // If this declaration context came from source, there's nothing to
440440 // do here.
441- if (dc->getParentSourceFile () ||
442- dc->getParentModule ()->isBuiltinModule ()) {
443- return ;
444- }
441+ assert (!dc->getParentSourceFile () &&
442+ !dc->getParentModule ()->isBuiltinModule ());
445443
446444 // Add entries for each loaded conformance.
447445 for (auto conformance : conformances) {
448- registerProtocolConformance (conformance);
446+ registerProtocolConformance (dc, conformance);
449447 }
450448}
451449
@@ -1019,10 +1017,9 @@ void ConformanceLookupTable::addSynthesizedConformance(
10191017}
10201018
10211019void ConformanceLookupTable::registerProtocolConformance (
1022- ProtocolConformance *conformance,
1020+ DeclContext *dc, ProtocolConformance *conformance,
10231021 bool synthesized) {
10241022 auto protocol = conformance->getProtocol ();
1025- auto dc = conformance->getDeclContext ();
10261023 auto nominal = dc->getSelfNominalTypeDecl ();
10271024
10281025 // If there is an entry to update, do so.
0 commit comments