brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 518f9e7 Raw
31 lines · cpp
1#include "clang/StaticAnalyzer/Core/Checker.h"2#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"3#include "clang/StaticAnalyzer/Frontend/CheckerRegistry.h"4 5// This barebones plugin is used by clang/test/Analysis/checker-plugins.c6// to test dependency handling among checkers loaded from plugins.7 8using namespace clang;9using namespace ento;10 11namespace {12struct Dependency : public Checker<check::BeginFunction> {13  void checkBeginFunction(CheckerContext &Ctx) const {}14};15struct DependendentChecker : public Checker<check::BeginFunction> {16  void checkBeginFunction(CheckerContext &Ctx) const {}17};18} // end anonymous namespace19 20// Register plugin!21extern "C" void clang_registerCheckers(CheckerRegistry &Registry) {22  Registry.addChecker<Dependency>("example.Dependency", "MockDescription");23  Registry.addChecker<DependendentChecker>("example.DependendentChecker",24                                           "MockDescription");25 26  Registry.addDependency("example.DependendentChecker", "example.Dependency");27}28 29extern "C" const char clang_analyzerAPIVersionString[] =30    CLANG_ANALYZER_API_VERSION_STRING;31