CheckerManager.h revision 695fb502825a53ccd178ec1c85c77929d88acb71
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 (*RegisterToEngFunc)(ExprEngine &Eng);
27
28  void addCheckerRegisterFunction(RegisterToEngFunc fn) {
29    Funcs.push_back(fn);
30  }
31
32  void registerCheckersToEngine(ExprEngine &eng);
33
34private:
35  llvm::SmallVector<RegisterToEngFunc, 8> Funcs;
36};
37
38} // end ento namespace
39
40} // end clang namespace
41
42#endif
43