clang  10.0.0svn
CheckerRegistration.h
Go to the documentation of this file.
1 //===-- CheckerRegistration.h - Checker Registration Function ---*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_CLANG_STATICANALYZER_FRONTEND_CHECKERREGISTRATION_H
10 #define LLVM_CLANG_STATICANALYZER_FRONTEND_CHECKERREGISTRATION_H
11 
12 #include "clang/AST/ASTContext.h"
13 #include "clang/Basic/LLVM.h"
14 #include <functional>
15 #include <memory>
16 #include <string>
17 
18 namespace clang {
19  class AnalyzerOptions;
20  class LangOptions;
21  class DiagnosticsEngine;
22 
23 namespace ento {
24  class CheckerManager;
25  class CheckerRegistry;
26 
27  std::unique_ptr<CheckerManager> createCheckerManager(
28  ASTContext &context,
29  AnalyzerOptions &opts,
30  ArrayRef<std::string> plugins,
31  ArrayRef<std::function<void(CheckerRegistry &)>> checkerRegistrationFns,
32  DiagnosticsEngine &diags);
33 
34 } // end ento namespace
35 
36 } // end namespace clang
37 
38 #endif
Defines the clang::ASTContext interface.
std::unique_ptr< CheckerManager > createCheckerManager(ASTContext &context, AnalyzerOptions &opts, ArrayRef< std::string > plugins, ArrayRef< std::function< void(CheckerRegistry &)>> checkerRegistrationFns, DiagnosticsEngine &diags)
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
Dataflow Directional Tag Classes.