CheckerManager.h revision 43dee220252ef0b42c5f8a3bb1eca97f84f2565f
1//===--- CheckerManager.h - Static Analyzer Checker Manager -----*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// Defines the Static Analyzer Checker Manager. 11// 12//===----------------------------------------------------------------------===// 13 14#ifndef LLVM_CLANG_SA_CORE_CHECKERMANAGER_H 15#define LLVM_CLANG_SA_CORE_CHECKERMANAGER_H 16 17#include "llvm/ADT/SmallVector.h" 18 19namespace clang { 20 21namespace ento { 22 class ExprEngine; 23 24class CheckerManager { 25public: 26 typedef void (*RegisterFunc)(ExprEngine &Eng); 27 28 void addCheckerRegisterFunction(RegisterFunc fn) { 29 Funcs.push_back(fn); 30 } 31 32 void registerCheckersToEngine(ExprEngine &eng); 33 34private: 35 llvm::SmallVector<RegisterFunc, 8> Funcs; 36}; 37 38} // end ento namespace 39 40} // end clang namespace 41 42#endif 43