diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2014-03-13 21:47:07 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2014-03-13 21:47:07 +0000 |
commit | f53d8dd37dd2f81fa95a00a9e2dbd574030e112e (patch) | |
tree | 37c154722925220ac5509f9cdf75595ff51661ac /clang/lib/Sema/SemaDeclObjC.cpp | |
parent | 15063e19c64149247ba277128fafbbb8a51f4eaa (diff) | |
download | bcm5719-llvm-f53d8dd37dd2f81fa95a00a9e2dbd574030e112e.tar.gz bcm5719-llvm-f53d8dd37dd2f81fa95a00a9e2dbd574030e112e.zip |
[C++11] Replacing ObjCInterfaceDecl iterators visible_extensions_begin() and visible_extensions_end() with iterator_range visible_extensions(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203855
Diffstat (limited to 'clang/lib/Sema/SemaDeclObjC.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDeclObjC.cpp | 35 |
1 files changed, 8 insertions, 27 deletions
diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp index ebaae8f7b82..c3e511966cc 100644 --- a/clang/lib/Sema/SemaDeclObjC.cpp +++ b/clang/lib/Sema/SemaDeclObjC.cpp @@ -1179,11 +1179,7 @@ void Sema::CheckImplementationIvars(ObjCImplementationDecl *ImpDecl, continue; } // Check class extensions (unnamed categories) for duplicate ivars. - for (ObjCInterfaceDecl::visible_extensions_iterator - Ext = IDecl->visible_extensions_begin(), - ExtEnd = IDecl->visible_extensions_end(); - Ext != ExtEnd; ++Ext) { - ObjCCategoryDecl *CDecl = *Ext; + for (const auto *CDecl : IDecl->visible_extensions()) { if (const ObjCIvarDecl *ClsExtIvar = CDecl->getIvarDecl(ImplIvar->getIdentifier())) { Diag(ImplIvar->getLocation(), diag::err_duplicate_ivar_declaration); @@ -1883,21 +1879,16 @@ void Sema::MatchAllMethodDeclarations(const SelectorSet &InsMap, // i.e. when WarnCategoryMethodImpl is false, check declarations in class // extension; as well as those in categories. if (!WarnCategoryMethodImpl) { - for (auto *Cat : I->visible_categories()) { + for (auto *Cat : I->visible_categories()) MatchAllMethodDeclarations(InsMap, ClsMap, InsMapSeen, ClsMapSeen, IMPDecl, Cat, IncompleteImpl, false, WarnCategoryMethodImpl); - } } else { // Also methods in class extensions need be looked at next. - for (ObjCInterfaceDecl::visible_extensions_iterator - Ext = I->visible_extensions_begin(), - ExtEnd = I->visible_extensions_end(); - Ext != ExtEnd; ++Ext) { + for (auto *Ext : I->visible_extensions()) MatchAllMethodDeclarations(InsMap, ClsMap, InsMapSeen, ClsMapSeen, - IMPDecl, *Ext, IncompleteImpl, false, + IMPDecl, Ext, IncompleteImpl, false, WarnCategoryMethodImpl); - } } // Check for any implementation of a methods declared in protocol. @@ -2005,12 +1996,8 @@ void Sema::ImplMethodsVsClassMethods(Scope *S, ObjCImplDecl* IMPDecl, CheckProtocolMethodDefs(*this, IMPDecl->getLocation(), PI, IncompleteImpl, InsMap, ClsMap, I, ExplicitImplProtocols); // Check class extensions (unnamed categories) - for (ObjCInterfaceDecl::visible_extensions_iterator - Ext = I->visible_extensions_begin(), - ExtEnd = I->visible_extensions_end(); - Ext != ExtEnd; ++Ext) { - ImplMethodsVsClassMethods(S, IMPDecl, *Ext, IncompleteImpl); - } + for (auto *Ext : I->visible_extensions()) + ImplMethodsVsClassMethods(S, IMPDecl, Ext, IncompleteImpl); } else if (ObjCCategoryDecl *C = dyn_cast<ObjCCategoryDecl>(CDecl)) { // For extended class, unimplemented methods in its protocols will // be reported in the primary class. @@ -2655,10 +2642,7 @@ Decl *Sema::ActOnAtEnd(Scope *S, SourceRange AtEnd, ArrayRef<Decl *> allMethods, // of the other class extensions. Mark them as synthesized as // property will be synthesized when property with same name is // seen in the @implementation. - for (ObjCInterfaceDecl::visible_extensions_iterator - Ext = IDecl->visible_extensions_begin(), - ExtEnd = IDecl->visible_extensions_end(); - Ext != ExtEnd; ++Ext) { + for (const auto *Ext : IDecl->visible_extensions()) { for (const auto *Property : Ext->properties()) { // Skip over properties declared @dynamic if (const ObjCPropertyImplDecl *PIDecl @@ -2667,10 +2651,7 @@ Decl *Sema::ActOnAtEnd(Scope *S, SourceRange AtEnd, ArrayRef<Decl *> allMethods, == ObjCPropertyImplDecl::Dynamic) continue; - for (ObjCInterfaceDecl::visible_extensions_iterator - Ext = IDecl->visible_extensions_begin(), - ExtEnd = IDecl->visible_extensions_end(); - Ext != ExtEnd; ++Ext) { + for (const auto *Ext : IDecl->visible_extensions()) { if (ObjCMethodDecl *GetterMethod = Ext->getInstanceMethod(Property->getGetterName())) GetterMethod->setPropertyAccessor(true); |