We are observing an inconsistency (affecting our AST visitors) in the addition of UsingDirectiveDecl to their DeclContext.
When parsing a using directive, it gets added to its DeclContext only if it is NOT a function/method:
===================== SemaDeclCXX.cpp
void Sema::PushUsingDirective(Scope *S, UsingDirectiveDecl *UDir) {
// If the scope has an associated entity and the using directive is at
// namespace or translation unit scope, add the UsingDirectiveDecl into
// its lookup structure so qualified name lookup can find it.
DeclContext *Ctx = static_cast<DeclContext*>(S->getEntity());
if (Ctx && !Ctx->isFunctionOrMethod())
Ctx->addDecl(UDir);