clang API Documentation
00001 //===--- AnalysisConsumer.h - Front-end Analysis Engine Hooks ---*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This header contains the functions necessary for a front-end to run various 00011 // analyses. 00012 // 00013 //===----------------------------------------------------------------------===// 00014 00015 #ifndef LLVM_CLANG_GR_ANALYSISCONSUMER_H 00016 #define LLVM_CLANG_GR_ANALYSISCONSUMER_H 00017 00018 #include "clang/Basic/LLVM.h" 00019 #include <string> 00020 00021 namespace clang { 00022 00023 class AnalyzerOptions; 00024 class ASTConsumer; 00025 class Preprocessor; 00026 class DiagnosticsEngine; 00027 00028 namespace ento { 00029 class CheckerManager; 00030 00031 /// CreateAnalysisConsumer - Creates an ASTConsumer to run various code 00032 /// analysis passes. (The set of analyses run is controlled by command-line 00033 /// options.) 00034 ASTConsumer* CreateAnalysisConsumer(const Preprocessor &pp, 00035 const std::string &output, 00036 const AnalyzerOptions& opts, 00037 ArrayRef<std::string> plugins); 00038 00039 } // end GR namespace 00040 00041 } // end clang namespace 00042 00043 #endif