Simplify: don't try to complete the list of decls twice when iterating over the
lookups for a DeclContext. llvm-svn: 204691
This commit is contained in:
parent
78cf02a07b
commit
05332ab354
|
@ -69,45 +69,39 @@ public:
|
|||
};
|
||||
|
||||
inline DeclContext::lookups_range DeclContext::lookups() const {
|
||||
return lookups_range(lookups_begin(), lookups_end());
|
||||
DeclContext *Primary = const_cast<DeclContext*>(this)->getPrimaryContext();
|
||||
if (Primary->hasExternalVisibleStorage())
|
||||
getParentASTContext().getExternalSource()->completeVisibleDeclsMap(Primary);
|
||||
if (StoredDeclsMap *Map = Primary->buildLookup())
|
||||
return lookups_range(all_lookups_iterator(Map->begin(), Map->end()),
|
||||
all_lookups_iterator(Map->end(), Map->end()));
|
||||
return lookups_range();
|
||||
}
|
||||
|
||||
inline DeclContext::all_lookups_iterator DeclContext::lookups_begin() const {
|
||||
DeclContext *Primary = const_cast<DeclContext*>(this)->getPrimaryContext();
|
||||
if (Primary->hasExternalVisibleStorage())
|
||||
getParentASTContext().getExternalSource()->completeVisibleDeclsMap(Primary);
|
||||
if (StoredDeclsMap *Map = Primary->buildLookup())
|
||||
return all_lookups_iterator(Map->begin(), Map->end());
|
||||
return all_lookups_iterator();
|
||||
return lookups().begin();
|
||||
}
|
||||
|
||||
inline DeclContext::all_lookups_iterator DeclContext::lookups_end() const {
|
||||
DeclContext *Primary = const_cast<DeclContext*>(this)->getPrimaryContext();
|
||||
if (Primary->hasExternalVisibleStorage())
|
||||
getParentASTContext().getExternalSource()->completeVisibleDeclsMap(Primary);
|
||||
if (StoredDeclsMap *Map = Primary->buildLookup())
|
||||
return all_lookups_iterator(Map->end(), Map->end());
|
||||
return all_lookups_iterator();
|
||||
return lookups().end();
|
||||
}
|
||||
|
||||
inline DeclContext::lookups_range DeclContext::noload_lookups() const {
|
||||
return lookups_range(noload_lookups_begin(), noload_lookups_end());
|
||||
DeclContext *Primary = const_cast<DeclContext*>(this)->getPrimaryContext();
|
||||
if (StoredDeclsMap *Map = Primary->getLookupPtr())
|
||||
return lookups_range(all_lookups_iterator(Map->begin(), Map->end()),
|
||||
all_lookups_iterator(Map->end(), Map->end()));
|
||||
return lookups_range();
|
||||
}
|
||||
|
||||
inline
|
||||
DeclContext::all_lookups_iterator DeclContext::noload_lookups_begin() const {
|
||||
DeclContext *Primary = const_cast<DeclContext*>(this)->getPrimaryContext();
|
||||
if (StoredDeclsMap *Map = Primary->getLookupPtr())
|
||||
return all_lookups_iterator(Map->begin(), Map->end());
|
||||
return all_lookups_iterator();
|
||||
return noload_lookups().begin();
|
||||
}
|
||||
|
||||
inline
|
||||
DeclContext::all_lookups_iterator DeclContext::noload_lookups_end() const {
|
||||
DeclContext *Primary = const_cast<DeclContext*>(this)->getPrimaryContext();
|
||||
if (StoredDeclsMap *Map = Primary->getLookupPtr())
|
||||
return all_lookups_iterator(Map->end(), Map->end());
|
||||
return all_lookups_iterator();
|
||||
return noload_lookups().end();
|
||||
}
|
||||
|
||||
} // end namespace clang
|
||||
|
|
Loading…
Reference in New Issue