Home | History | Annotate | Download | only in Frontend
      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 "clang/Basic/LLVM.h"
     19 #include "clang/StaticAnalyzer/Core/AnalyzerOptions.h"
     20 #include <string>
     21 
     22 namespace clang {
     23 
     24 class ASTConsumer;
     25 class Preprocessor;
     26 class DiagnosticsEngine;
     27 
     28 namespace ento {
     29 class CheckerManager;
     30 
     31 /// CreateAnalysisConsumer - Creates an ASTConsumer to run various code
     32 /// analysis passes.  (The set of analyses run is controlled by command-line
     33 /// options.)
     34 ASTConsumer* CreateAnalysisConsumer(const Preprocessor &pp,
     35                                     const std::string &output,
     36                                     AnalyzerOptionsRef opts,
     37                                     ArrayRef<std::string> plugins);
     38 
     39 } // end GR namespace
     40 
     41 } // end clang namespace
     42 
     43 #endif
     44