From: Aaron Ballman Date: Fri, 14 Mar 2014 13:13:27 +0000 (+0000) Subject: [C++11] Replacing ObjCCategoryDecl iterators ivar_begin() and ivar_end() with iterato... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=361cb669cfdd95f8248b8ce1ce94389a168f4415;p=clang [C++11] Replacing ObjCCategoryDecl iterators ivar_begin() and ivar_end() with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203924 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/DeclObjC.h b/include/clang/AST/DeclObjC.h index aad5d72229..2d9c5c8bb6 100644 --- a/include/clang/AST/DeclObjC.h +++ b/include/clang/AST/DeclObjC.h @@ -1797,6 +1797,9 @@ public: bool IsClassExtension() const { return getIdentifier() == 0; } typedef specific_decl_iterator ivar_iterator; + typedef llvm::iterator_range> ivar_range; + + ivar_range ivars() const { return ivar_range(ivar_begin(), ivar_end()); } ivar_iterator ivar_begin() const { return ivar_iterator(decls_begin()); } diff --git a/lib/AST/DeclPrinter.cpp b/lib/AST/DeclPrinter.cpp index 9989432312..f19edbad1b 100644 --- a/lib/AST/DeclPrinter.cpp +++ b/lib/AST/DeclPrinter.cpp @@ -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"; }