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