clang API Documentation

AnalysisConsumer.h
Go to the documentation of this file.
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