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_GR_ANALYSISCONSUMER_H 16 #define LLVM_CLANG_GR_ANALYSISCONSUMER_H 17 18 #include <string> 19 20 namespace clang { 21 22 class AnalyzerOptions; 23 class ASTConsumer; 24 class Preprocessor; 25 class Diagnostic; 26 27 namespace ento { 28 class CheckerManager; 29 30 /// CreateAnalysisConsumer - Creates an ASTConsumer to run various code 31 /// analysis passes. (The set of analyses run is controlled by command-line 32 /// options.) 33 ASTConsumer* CreateAnalysisConsumer(const Preprocessor &pp, 34 const std::string &output, 35 const AnalyzerOptions& Opts); 36 37 } // end GR namespace 38 39 } // end clang namespace 40 41 #endif 42