10 #ifndef LLVM_CLANG_STATICANALYZER_CORE_CHECKERREGISTRY_H 11 #define LLVM_CLANG_STATICANALYZER_CORE_CHECKERREGISTRY_H 15 #include "llvm/ADT/StringMap.h" 16 #include "llvm/ADT/StringRef.h" 60 #ifndef CLANG_ANALYZER_API_VERSION_STRING 66 #define CLANG_ANALYZER_API_VERSION_STRING CLANG_VERSION_STRING 71 class AnalyzerOptions;
72 class DiagnosticsEngine;
96 : Initialize(fn), FullName(name), Desc(desc) {}
102 template <
typename T>
119 addChecker(&CheckerRegistry::initializeManager<T>, fullName, desc);
135 void printHelp(raw_ostream &out,
size_t maxNameChars = 30)
const;
141 mutable llvm::StringMap<size_t> Packages;
148 #endif // LLVM_CLANG_STATICANALYZER_CORE_CHECKERREGISTRY_H Manages a set of available checkers for running a static analysis.
void validateCheckerOptions(const AnalyzerOptions &opts, DiagnosticsEngine &diags) const
Check if every option corresponds to a specific checker or package.
InitializationFunction Initialize
void addChecker(StringRef fullName, StringRef desc)
Adds a checker to the registry.
CheckerInfo(InitializationFunction fn, StringRef name, StringRef desc)
void addChecker(InitializationFunction fn, StringRef fullName, StringRef desc)
Adds a checker to the registry.
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
Concrete class used by the front-end to report problems and issues.
Defines version macros and version-related utility functions for Clang.
CHECKER * registerChecker(AT... Args)
Used to register checkers.
void printList(raw_ostream &out, SmallVectorImpl< CheckerOptInfo > &opts) const
Dataflow Directional Tag Classes.
void(*)(CheckerManager &) InitializationFunction
Initialization functions perform any necessary setup for a checker.
std::vector< CheckerInfo > CheckerInfoList
void printHelp(raw_ostream &out, size_t maxNameChars=30) const
Prints the name and description of all checkers in this registry.