clang API Documentation
00001 //===--- PathDiagnosticClients.h - Path Diagnostic Clients ------*- 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 file defines the interface to create different path diagostic clients. 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHDIAGNOSTICCONSUMERS_H 00015 #define LLVM_CLANG_STATICANALYZER_CORE_PATHDIAGNOSTICCONSUMERS_H 00016 00017 #include <string> 00018 #include <vector> 00019 00020 namespace clang { 00021 00022 class AnalyzerOptions; 00023 class Preprocessor; 00024 00025 namespace ento { 00026 00027 class PathDiagnosticConsumer; 00028 typedef std::vector<PathDiagnosticConsumer*> PathDiagnosticConsumers; 00029 00030 #define ANALYSIS_DIAGNOSTICS(NAME, CMDFLAG, DESC, CREATEFN)\ 00031 void CREATEFN(AnalyzerOptions &AnalyzerOpts,\ 00032 PathDiagnosticConsumers &C,\ 00033 const std::string &Prefix,\ 00034 const Preprocessor &PP); 00035 #include "clang/StaticAnalyzer/Core/Analyses.def" 00036 00037 } // end 'ento' namespace 00038 } // end 'clang' namespace 00039 00040 #endif