]> granicus.if.org Git - clang/commitdiff
[C++11] Replacing UsingDecl iterators shadow_begin() and shadow_end() with iterator_r...
authorAaron Ballman <aaron@aaronballman.com>
Thu, 13 Mar 2014 18:07:29 +0000 (18:07 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Thu, 13 Mar 2014 18:07:29 +0000 (18:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203825 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/DeclCXX.h
lib/Sema/SemaTemplateInstantiateDecl.cpp
lib/Sema/TreeTransform.h
tools/libclang/IndexDecl.cpp

index 3f1f7ae991b5c22a4c3d84da956683855401f09b..f64ef8b552378f57e7a63802c6e2c793272e54e9 100644 (file)
@@ -2882,6 +2882,11 @@ public:
     }
   };
 
+  typedef llvm::iterator_range<shadow_iterator> shadow_range;
+
+  shadow_range shadows() const {
+    return shadow_range(shadow_begin(), shadow_end());
+  }
   shadow_iterator shadow_begin() const {
     return shadow_iterator(FirstUsingShadow.getPointer());
   }
index d33613301df6e685c90122d54cc138ad5b71fd5a..c17eb198539d812978eb08ae471aed2b0fb2b213 100644 (file)
@@ -2189,9 +2189,7 @@ Decl *TemplateDeclInstantiator::VisitUsingDecl(UsingDecl *D) {
   bool isFunctionScope = Owner->isFunctionOrMethod();
 
   // Process the shadow decls.
-  for (UsingDecl::shadow_iterator I = D->shadow_begin(), E = D->shadow_end();
-         I != E; ++I) {
-    UsingShadowDecl *Shadow = *I;
+  for (auto *Shadow : D->shadows()) {
     NamedDecl *InstTarget =
         cast_or_null<NamedDecl>(SemaRef.FindInstantiatedDecl(
             Shadow->getLocation(), Shadow->getTargetDecl(), TemplateArgs));
index 0278facb39572cce6865c53d3263ea4bcf133679..073c48aaf26054605dbaaba1879ab0ebe319dc49 100644 (file)
@@ -7856,9 +7856,8 @@ TreeTransform<Derived>::TransformUnresolvedLookupExpr(
     // Expand using declarations.
     if (isa<UsingDecl>(InstD)) {
       UsingDecl *UD = cast<UsingDecl>(InstD);
-      for (UsingDecl::shadow_iterator I = UD->shadow_begin(),
-             E = UD->shadow_end(); I != E; ++I)
-        R.addDecl(*I);
+      for (auto *I : UD->shadows())
+        R.addDecl(I);
       continue;
     }
 
@@ -8724,9 +8723,8 @@ TreeTransform<Derived>::TransformUnresolvedMemberExpr(UnresolvedMemberExpr *Old)
     // Expand using declarations.
     if (isa<UsingDecl>(InstD)) {
       UsingDecl *UD = cast<UsingDecl>(InstD);
-      for (UsingDecl::shadow_iterator I = UD->shadow_begin(),
-             E = UD->shadow_end(); I != E; ++I)
-        R.addDecl(*I);
+      for (auto *I : UD->shadows())
+        R.addDecl(I);
       continue;
     }
 
index a8911f14148a778072afaa17d4e971073fc50f26..4372ab3466608759a7ff4c55953c1c1e0e8be20e 100644 (file)
@@ -260,11 +260,9 @@ public:
     // we should do better.
 
     IndexCtx.indexNestedNameSpecifierLoc(D->getQualifierLoc(), D);
-    for (UsingDecl::shadow_iterator
-           I = D->shadow_begin(), E = D->shadow_end(); I != E; ++I) {
-      IndexCtx.handleReference((*I)->getUnderlyingDecl(), D->getLocation(),
-                               D, D->getLexicalDeclContext());
-    }
+    for (const auto *I : D->shadows())
+      IndexCtx.handleReference(I->getUnderlyingDecl(), D->getLocation(), D,
+                               D->getLexicalDeclContext());
     return true;
   }