1*7330f729Sjoerg #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" 2*7330f729Sjoerg #include "clang/StaticAnalyzer/Core/Checker.h" 3*7330f729Sjoerg #include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h" 4*7330f729Sjoerg #include "clang/StaticAnalyzer/Frontend/CheckerRegistry.h" 5*7330f729Sjoerg 6*7330f729Sjoerg using namespace clang; 7*7330f729Sjoerg using namespace ento; 8*7330f729Sjoerg 9*7330f729Sjoerg namespace { 10*7330f729Sjoerg struct Dependency : public Checker<check::BeginFunction> { checkBeginFunction__anon1c50d78a0111::Dependency11*7330f729Sjoerg void checkBeginFunction(CheckerContext &Ctx) const {} 12*7330f729Sjoerg }; 13*7330f729Sjoerg struct DependendentChecker : public Checker<check::BeginFunction> { checkBeginFunction__anon1c50d78a0111::DependendentChecker14*7330f729Sjoerg void checkBeginFunction(CheckerContext &Ctx) const {} 15*7330f729Sjoerg }; 16*7330f729Sjoerg } // end anonymous namespace 17*7330f729Sjoerg 18*7330f729Sjoerg // Register plugin! clang_registerCheckers(CheckerRegistry & registry)19*7330f729Sjoergextern "C" void clang_registerCheckers(CheckerRegistry ®istry) { 20*7330f729Sjoerg registry.addChecker<Dependency>("example.Dependency", "", ""); 21*7330f729Sjoerg registry.addChecker<DependendentChecker>("example.DependendentChecker", "", 22*7330f729Sjoerg ""); 23*7330f729Sjoerg 24*7330f729Sjoerg registry.addDependency("example.DependendentChecker", "example.Dependency"); 25*7330f729Sjoerg } 26*7330f729Sjoerg 27*7330f729Sjoerg extern "C" const char clang_analyzerAPIVersionString[] = 28*7330f729Sjoerg CLANG_ANALYZER_API_VERSION_STRING; 29