//===--- FooCheck.cpp - clang-tidy-----------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "FooCheck.h" #include "clang/AST/ASTContext.h" #include "clang/ASTMatchers/ASTMatchFinder.h" using namespace clang::ast_matchers; namespace clang { namespace tidy { namespace plugin { void FooCheck::registerMatchers(MatchFinder *Finder) { // FIXME: Add matchers. Finder->addMatcher(functionDecl().bind("x"), this); } void FooCheck::check(const MatchFinder::MatchResult &Result) { // FIXME: Add callback implementation. const auto *MatchedDecl = Result.Nodes.getNodeAs("x"); diag(MatchedDecl->getLocation(), "you should not use functions") << MatchedDecl; } } // namespace plugin } // namespace tidy } // namespace clang