/// is a FunctionPrototypeScope.
bool containedInPrototypeScope() const;
- typedef UsingDirectivesTy::iterator udir_iterator;
- typedef UsingDirectivesTy::const_iterator const_udir_iterator;
-
void PushUsingDirective(UsingDirectiveDecl *UDir) {
UsingDirectives.push_back(UDir);
}
- udir_iterator using_directives_begin() {
- return UsingDirectives.begin();
- }
-
- udir_iterator using_directives_end() {
- return UsingDirectives.end();
- }
-
- const_udir_iterator using_directives_begin() const {
- return UsingDirectives.begin();
- }
+ typedef llvm::iterator_range<UsingDirectivesTy::iterator>
+ using_directives_range;
- const_udir_iterator using_directives_end() const {
- return UsingDirectives.end();
+ using_directives_range using_directives() {
+ return using_directives_range(UsingDirectives.begin(),
+ UsingDirectives.end());
}
/// Init - This is used by the parser to implement scope caching.
if (Ctx && Ctx->isFileContext()) {
visit(Ctx, Ctx);
} else if (!Ctx || Ctx->isFunctionOrMethod()) {
- Scope::udir_iterator I = S->using_directives_begin(),
- End = S->using_directives_end();
- for (; I != End; ++I)
- visit(*I, InnermostFileDC);
+ for (auto *I : S->using_directives())
+ visit(I, InnermostFileDC);
}
}
}