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*7330f729Sjoerg extern "C" void clang_registerCheckers(CheckerRegistry &registry) {
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