1218887Sdim//===--- AnalysisConsumer.h - Front-end Analysis Engine Hooks ---*- C++ -*-===//
2218887Sdim//
3218887Sdim//                     The LLVM Compiler Infrastructure
4218887Sdim//
5218887Sdim// This file is distributed under the University of Illinois Open Source
6218887Sdim// License. See LICENSE.TXT for details.
7218887Sdim//
8218887Sdim//===----------------------------------------------------------------------===//
9218887Sdim//
10218887Sdim// This header contains the functions necessary for a front-end to run various
11218887Sdim// analyses.
12218887Sdim//
13218887Sdim//===----------------------------------------------------------------------===//
14218887Sdim
15218887Sdim#ifndef LLVM_CLANG_GR_ANALYSISCONSUMER_H
16218887Sdim#define LLVM_CLANG_GR_ANALYSISCONSUMER_H
17218887Sdim
18226633Sdim#include "clang/Basic/LLVM.h"
19243830Sdim#include "clang/StaticAnalyzer/Core/AnalyzerOptions.h"
20218887Sdim#include <string>
21218887Sdim
22218887Sdimnamespace clang {
23218887Sdim
24218887Sdimclass ASTConsumer;
25218887Sdimclass Preprocessor;
26226633Sdimclass DiagnosticsEngine;
27218887Sdim
28218887Sdimnamespace ento {
29218887Sdimclass CheckerManager;
30218887Sdim
31218887Sdim/// CreateAnalysisConsumer - Creates an ASTConsumer to run various code
32218887Sdim/// analysis passes.  (The set of analyses run is controlled by command-line
33218887Sdim/// options.)
34218887SdimASTConsumer* CreateAnalysisConsumer(const Preprocessor &pp,
35218887Sdim                                    const std::string &output,
36243830Sdim                                    AnalyzerOptionsRef opts,
37226633Sdim                                    ArrayRef<std::string> plugins);
38218887Sdim
39218887Sdim} // end GR namespace
40218887Sdim
41218887Sdim} // end clang namespace
42218887Sdim
43218887Sdim#endif
44