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

Provided by KDAB

Privacy Policy
Update your C++ knowledge – Modern C++11/14/17 Training
Find out more

source code of clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp