clang  6.0.0svn
AnalysisConsumer.h
Go to the documentation of this file.
1 //===--- AnalysisConsumer.h - Front-end Analysis Engine Hooks ---*- 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 // This header contains the functions necessary for a front-end to run various
11 // analyses.
12 //
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef LLVM_CLANG_STATICANALYZER_FRONTEND_ANALYSISCONSUMER_H
16 #define LLVM_CLANG_STATICANALYZER_FRONTEND_ANALYSISCONSUMER_H
17 
18 #include "clang/AST/ASTConsumer.h"
19 #include "clang/Basic/LLVM.h"
20 #include <memory>
21 
22 namespace clang {
23 
24 class Preprocessor;
25 class DiagnosticsEngine;
26 class CodeInjector;
27 class CompilerInstance;
28 
29 namespace ento {
30 class PathDiagnosticConsumer;
31 class CheckerManager;
32 
34 public:
35  virtual void AddDiagnosticConsumer(PathDiagnosticConsumer *Consumer) = 0;
36 };
37 
38 /// CreateAnalysisConsumer - Creates an ASTConsumer to run various code
39 /// analysis passes. (The set of analyses run is controlled by command-line
40 /// options.)
41 std::unique_ptr<AnalysisASTConsumer>
43 
44 } // end GR namespace
45 
46 } // end clang namespace
47 
48 #endif
virtual void AddDiagnosticConsumer(PathDiagnosticConsumer *Consumer)=0
ASTConsumer - This is an abstract interface that should be implemented by clients that read ASTs...
Definition: ASTConsumer.h:34
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
CompilerInstance - Helper class for managing a single instance of the Clang compiler.
Dataflow Directional Tag Classes.
std::unique_ptr< AnalysisASTConsumer > CreateAnalysisConsumer(CompilerInstance &CI)
CreateAnalysisConsumer - Creates an ASTConsumer to run various code analysis passes.