1//===-- CheckerRegistration.h - Checker Registration Function ---*- 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#ifndef LLVM_CLANG_STATICANALYZER_FRONTEND_CHECKERREGISTRATION_H
11#define LLVM_CLANG_STATICANALYZER_FRONTEND_CHECKERREGISTRATION_H
12
13#include "clang/AST/ASTContext.h"
14#include "clang/Basic/LLVM.h"
15#include <functional>
16#include <memory>
17#include <string>
18
19namespace clang {
20 class AnalyzerOptions;
21 class LangOptions;
22 class DiagnosticsEngine;
23
24namespace ento {
25 class CheckerManager;
26 class CheckerRegistry;
27
28 std::unique_ptr<CheckerManager> createCheckerManager(
29 ASTContext &context,
30 AnalyzerOptions &opts,
31 ArrayRef<std::string> plugins,
32 ArrayRef<std::function<void(CheckerRegistry &)>> checkerRegistrationFns,
33 DiagnosticsEngine &diags);
34
35} // end ento namespace
36
37} // end namespace clang
38
39#endif
40