Skip to content

Commit d1823eb

Browse files
committed
[NFC] Make prepareLookupTable lazier about loading Extension members
Use the same laziest-possible extension member loading path for everything.
1 parent e626cfb commit d1823eb

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

lib/AST/NameLookup.cpp

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1207,25 +1207,21 @@ void NominalTypeDecl::prepareLookupTable() {
12071207

12081208
if (hasLazyMembers()) {
12091209
assert(!hasUnparsedMembers());
1210-
1211-
// Lazy members: if the table needs population, populate the table _only
1212-
// from those members already in the IDC member list_ such as implicits or
1213-
// globals-as-members.
12141210
LookupTable->addMembers(getCurrentMembersWithoutLoading());
1215-
for (auto e : getExtensions()) {
1216-
// If we can lazy-load this extension, only take the members we've loaded
1217-
// so far.
1218-
if (e->wasDeserialized() || e->hasClangNode()) {
1219-
LookupTable->addMembers(e->getCurrentMembersWithoutLoading());
1220-
continue;
1221-
}
1222-
1223-
// Else, load all the members into the table.
1224-
LookupTable->addMembers(e->getMembers());
1225-
}
12261211
} else {
12271212
LookupTable->addMembers(getMembers());
1228-
LookupTable->updateLookupTable(this);
1213+
}
1214+
1215+
for (auto e : getExtensions()) {
1216+
// If we can lazy-load this extension, only take the members we've loaded
1217+
// so far.
1218+
if (e->wasDeserialized() || e->hasClangNode()) {
1219+
LookupTable->addMembers(e->getCurrentMembersWithoutLoading());
1220+
continue;
1221+
}
1222+
1223+
// Else, load all the members into the table.
1224+
LookupTable->addMembers(e->getMembers());
12291225
}
12301226
}
12311227

0 commit comments

Comments
 (0)