mirror of
https://github.com/intel/llvm.git
synced 2026-01-27 06:06:34 +08:00
[C++11] Replacing ObjCInterfaceDecl iterators known_categories_begin() and known_categories_end() with iterator_range known_categories(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203854
This commit is contained in:
@@ -1126,6 +1126,13 @@ public:
|
||||
/// \brief Iterator that walks over all of the known categories and
|
||||
/// extensions, including those that are hidden.
|
||||
typedef filtered_category_iterator<isKnownCategory> known_categories_iterator;
|
||||
typedef llvm::iterator_range<known_categories_iterator>
|
||||
known_categories_range;
|
||||
|
||||
known_categories_range known_categories() const {
|
||||
return known_categories_range(known_categories_begin(),
|
||||
known_categories_end());
|
||||
}
|
||||
|
||||
/// \brief Retrieve an iterator to the beginning of the known-categories
|
||||
/// list.
|
||||
|
||||
@@ -3548,12 +3548,8 @@ bool ASTNodeImporter::ImportDefinition(ObjCInterfaceDecl *From,
|
||||
|
||||
// Import categories. When the categories themselves are imported, they'll
|
||||
// hook themselves into this interface.
|
||||
for (ObjCInterfaceDecl::known_categories_iterator
|
||||
Cat = From->known_categories_begin(),
|
||||
CatEnd = From->known_categories_end();
|
||||
Cat != CatEnd; ++Cat) {
|
||||
Importer.Import(*Cat);
|
||||
}
|
||||
for (auto *Cat : From->known_categories())
|
||||
Importer.Import(Cat);
|
||||
|
||||
// If we have an @implementation, import it as well.
|
||||
if (From->getImplementation()) {
|
||||
|
||||
@@ -980,13 +980,8 @@ static void CollectOverriddenMethodsRecurse(const ObjCContainerDecl *Container,
|
||||
for (const auto *P : Interface->protocols())
|
||||
CollectOverriddenMethodsRecurse(P, Method, Methods, MovedToSuper);
|
||||
|
||||
for (ObjCInterfaceDecl::known_categories_iterator
|
||||
Cat = Interface->known_categories_begin(),
|
||||
CatEnd = Interface->known_categories_end();
|
||||
Cat != CatEnd; ++Cat) {
|
||||
CollectOverriddenMethodsRecurse(*Cat, Method, Methods,
|
||||
MovedToSuper);
|
||||
}
|
||||
for (const auto *Cat : Interface->known_categories())
|
||||
CollectOverriddenMethodsRecurse(Cat, Method, Methods, MovedToSuper);
|
||||
|
||||
if (const ObjCInterfaceDecl *Super = Interface->getSuperClass())
|
||||
return CollectOverriddenMethodsRecurse(Super, Method, Methods,
|
||||
|
||||
@@ -3495,14 +3495,11 @@ static void AddObjCProperties(ObjCContainerDecl *Container,
|
||||
} else if (ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>(Container)){
|
||||
if (AllowCategories) {
|
||||
// Look through categories.
|
||||
for (ObjCInterfaceDecl::known_categories_iterator
|
||||
Cat = IFace->known_categories_begin(),
|
||||
CatEnd = IFace->known_categories_end();
|
||||
Cat != CatEnd; ++Cat)
|
||||
AddObjCProperties(*Cat, AllowCategories, AllowNullaryMethods,
|
||||
CurContext, AddedProperties, Results);
|
||||
for (auto *Cat : IFace->known_categories())
|
||||
AddObjCProperties(Cat, AllowCategories, AllowNullaryMethods, CurContext,
|
||||
AddedProperties, Results);
|
||||
}
|
||||
|
||||
|
||||
// Look through protocols.
|
||||
for (auto *I : IFace->all_referenced_protocols())
|
||||
AddObjCProperties(I, AllowCategories, AllowNullaryMethods, CurContext,
|
||||
@@ -4855,12 +4852,7 @@ static void AddObjCMethods(ObjCContainerDecl *Container,
|
||||
CurContext, Selectors, AllowSameLength, Results, false);
|
||||
|
||||
// Add methods in categories.
|
||||
for (ObjCInterfaceDecl::known_categories_iterator
|
||||
Cat = IFace->known_categories_begin(),
|
||||
CatEnd = IFace->known_categories_end();
|
||||
Cat != CatEnd; ++Cat) {
|
||||
ObjCCategoryDecl *CatDecl = *Cat;
|
||||
|
||||
for (auto *CatDecl : IFace->known_categories()) {
|
||||
AddObjCMethods(CatDecl, WantInstanceMethods, WantKind, SelIdents,
|
||||
CurContext, Selectors, AllowSameLength,
|
||||
Results, InOriginalClass);
|
||||
@@ -5132,10 +5124,7 @@ static ObjCMethodDecl *AddSuperSendCompletion(
|
||||
|
||||
// Check in categories or class extensions.
|
||||
if (!SuperMethod) {
|
||||
for (ObjCInterfaceDecl::known_categories_iterator
|
||||
Cat = Class->known_categories_begin(),
|
||||
CatEnd = Class->known_categories_end();
|
||||
Cat != CatEnd; ++Cat) {
|
||||
for (const auto *Cat : Class->known_categories()) {
|
||||
if ((SuperMethod = Cat->getMethod(CurMethod->getSelector(),
|
||||
CurMethod->isInstanceMethod())))
|
||||
break;
|
||||
|
||||
@@ -2909,12 +2909,8 @@ private:
|
||||
return;
|
||||
|
||||
// - categories,
|
||||
for (ObjCInterfaceDecl::known_categories_iterator
|
||||
cat = iface->known_categories_begin(),
|
||||
catEnd = iface->known_categories_end();
|
||||
cat != catEnd; ++cat) {
|
||||
search(*cat);
|
||||
}
|
||||
for (auto *Cat : iface->known_categories())
|
||||
search(Cat);
|
||||
|
||||
// - the super class, and
|
||||
if (ObjCInterfaceDecl *super = iface->getSuperClass())
|
||||
|
||||
@@ -2883,15 +2883,12 @@ namespace {
|
||||
Tail(0)
|
||||
{
|
||||
// Populate the name -> category map with the set of known categories.
|
||||
for (ObjCInterfaceDecl::known_categories_iterator
|
||||
Cat = Interface->known_categories_begin(),
|
||||
CatEnd = Interface->known_categories_end();
|
||||
Cat != CatEnd; ++Cat) {
|
||||
for (auto *Cat : Interface->known_categories()) {
|
||||
if (Cat->getDeclName())
|
||||
NameCategoryMap[Cat->getDeclName()] = *Cat;
|
||||
NameCategoryMap[Cat->getDeclName()] = Cat;
|
||||
|
||||
// Keep track of the tail of the category list.
|
||||
Tail = *Cat;
|
||||
Tail = Cat;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user