32 const auto *D = Result.Nodes.getNodeAs<Decl>(
"using_decl");
34 if (D->getBeginLoc().isMacroID())
38 if (Result.SourceManager->isInMainFile(
39 Result.SourceManager->getExpansionLoc(D->getBeginLoc()))) {
42 D->getBeginLoc(), *Result.SourceManager, HeaderFileExtensions))
46 if (
const auto *UsingDirective = dyn_cast<UsingDirectiveDecl>(D)) {
47 if (UsingDirective->getNominatedNamespace()->isAnonymousNamespace()) {
56 diag(D->getBeginLoc(),
57 "using declarations in the global namespace in headers are prohibited");
Every ClangTidyCheck reports errors through a DiagnosticsEngine provided by this context.