18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//===--- AnalysisConsumer.h - Front-end Analysis Engine Hooks ---*- C++ -*-===// 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// The LLVM Compiler Infrastructure 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// This file is distributed under the University of Illinois Open Source 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// License. See LICENSE.TXT for details. 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//===----------------------------------------------------------------------===// 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// This header contains the functions necessary for a front-end to run various 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// analyses. 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//===----------------------------------------------------------------------===// 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef LLVM_CLANG_GR_ANALYSISCONSUMER_H 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define LLVM_CLANG_GR_ANALYSISCONSUMER_H 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "clang/Basic/LLVM.h" 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "clang/StaticAnalyzer/Core/AnalyzerOptions.h" 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <string> 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace clang { 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass ASTConsumer; 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass Preprocessor; 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass DiagnosticsEngine; 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace ento { 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass CheckerManager; 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/// CreateAnalysisConsumer - Creates an ASTConsumer to run various code 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/// analysis passes. (The set of analyses run is controlled by command-line 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/// options.) 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectASTConsumer* CreateAnalysisConsumer(const Preprocessor &pp, 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const std::string &output, 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project AnalyzerOptionsRef opts, 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ArrayRef<std::string> plugins); 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} // end GR namespace 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} // end clang namespace 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project