]> granicus.if.org Git - clang/commitdiff
[C++11] Replacing ObjCCategoryDecl iterators ivar_begin() and ivar_end() with iterato...
authorAaron Ballman <aaron@aaronballman.com>
Fri, 14 Mar 2014 13:13:27 +0000 (13:13 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Fri, 14 Mar 2014 13:13:27 +0000 (13:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203924 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/DeclObjC.h
lib/AST/DeclPrinter.cpp

index aad5d7222915d50ce6f679caedc0cedca1e12eb7..2d9c5c8bb636cca9c92a83498b40c05d88f566eb 100644 (file)
@@ -1797,6 +1797,9 @@ public:
   bool IsClassExtension() const { return getIdentifier() == 0; }
 
   typedef specific_decl_iterator<ObjCIvarDecl> ivar_iterator;
+  typedef llvm::iterator_range<specific_decl_iterator<ObjCIvarDecl>> ivar_range;
+
+  ivar_range ivars() const { return ivar_range(ivar_begin(), ivar_end()); }
   ivar_iterator ivar_begin() const {
     return ivar_iterator(decls_begin());
   }
index 998943231209968392a920f2750bcab44c40e89b..f19edbad1be6d94924fa78a1ff5a716b287f537b 100644 (file)
@@ -1052,11 +1052,9 @@ void DeclPrinter::VisitObjCCategoryDecl(ObjCCategoryDecl *PID) {
   if (PID->ivar_size() > 0) {
     Out << "{\n";
     Indentation += Policy.Indentation;
-    for (ObjCCategoryDecl::ivar_iterator I = PID->ivar_begin(),
-         E = PID->ivar_end(); I != E; ++I) {
+    for (const auto *I : PID->ivars())
       Indent() << I->getASTContext().getUnqualifiedObjCPointerType(I->getType()).
-                    getAsString(Policy) << ' ' << **I << ";\n";
-    }
+                    getAsString(Policy) << ' ' << *I << ";\n";
     Indentation -= Policy.Indentation;
     Out << "}\n";
   }