clang API Documentation
#include <CheckerRegistry.h>
Classes | |
struct | CheckerInfo |
Public Types | |
typedef void(* | InitializationFunction )(CheckerManager &) |
typedef std::vector< CheckerInfo > | CheckerInfoList |
Public Member Functions | |
void | addChecker (InitializationFunction fn, StringRef fullName, StringRef desc) |
template<class T > | |
void | addChecker (StringRef fullName, StringRef desc) |
void | initializeManager (CheckerManager &mgr, SmallVectorImpl< CheckerOptInfo > &opts) const |
void | printHelp (raw_ostream &out, size_t maxNameChars=30) const |
Manages a set of available checkers for running a static analysis. The checkers are organized into packages by full name, where including a package will recursively include all subpackages and checkers within it. For example, the checker "core.builtin.NoReturnFunctionChecker" will be included if initializeManager() is called with an option of "core", "core.builtin", or the full name "core.builtin.NoReturnFunctionChecker".
Definition at line 77 of file CheckerRegistry.h.
typedef std::vector<CheckerInfo> clang::ento::CheckerRegistry::CheckerInfoList |
Definition at line 91 of file CheckerRegistry.h.
typedef void(* clang::ento::CheckerRegistry::InitializationFunction)(CheckerManager &) |
Initialization functions perform any necessary setup for a checker. They should include a call to CheckerManager::registerChecker.
Definition at line 81 of file CheckerRegistry.h.
void CheckerRegistry::addChecker | ( | InitializationFunction | fn, |
StringRef | fullName, | ||
StringRef | desc | ||
) |
Adds a checker to the registry. Use this non-templated overload when your checker requires custom initialization.
Definition at line 81 of file CheckerRegistry.cpp.
References PackageSeparator.
Referenced by addChecker().
void clang::ento::CheckerRegistry::addChecker | ( | StringRef | fullName, |
StringRef | desc | ||
) | [inline] |
Adds a checker to the registry. Use this templated overload when your checker does not require any custom initialization.
Definition at line 108 of file CheckerRegistry.h.
References addChecker().
void CheckerRegistry::initializeManager | ( | CheckerManager & | mgr, |
SmallVectorImpl< CheckerOptInfo > & | opts | ||
) | const |
Initializes a CheckerManager by calling the initialization functions for all checkers specified by the given CheckerOptInfo list. The order of this list is significant; later options can be used to reverse earlier ones. This can be used to exclude certain checkers in an included package.
Definition at line 94 of file CheckerRegistry.cpp.
References checkerNameLT(), collectCheckers(), and clang::ento::CheckerManager::setCurrentCheckName().
void CheckerRegistry::printHelp | ( | raw_ostream & | out, |
size_t | maxNameChars = 30 |
||
) | const |
Prints the name and description of all checkers in this registry. This output is not intended to be machine-parseable.
Definition at line 114 of file CheckerRegistry.cpp.
References checkerNameLT().