]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/blob - contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
MFC r244628:
[FreeBSD/stable/9.git] / contrib / llvm / tools / clang / include / clang / StaticAnalyzer / Core / PathDiagnosticConsumers.h
1 //===--- PathDiagnosticClients.h - Path Diagnostic Clients ------*- 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 file defines the interface to create different path diagostic clients.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #ifndef LLVM_CLANG_GR_PATH_DIAGNOSTIC_CLIENTS_H
15 #define LLVM_CLANG_GR_PATH_DIAGNOSTIC_CLIENTS_H
16
17 #include <string>
18 #include <vector>
19
20 namespace clang {
21
22 class Preprocessor;
23
24 namespace ento {
25
26 class PathDiagnosticConsumer;
27 typedef std::vector<PathDiagnosticConsumer*> PathDiagnosticConsumers;
28
29 void createHTMLDiagnosticConsumer(PathDiagnosticConsumers &C,
30                                   const std::string& prefix,
31                                   const Preprocessor &PP);
32
33 void createPlistDiagnosticConsumer(PathDiagnosticConsumers &C,
34                                    const std::string& prefix,
35                                    const Preprocessor &PP);
36
37 void createPlistMultiFileDiagnosticConsumer(PathDiagnosticConsumers &C,
38                                             const std::string& prefix,
39                                             const Preprocessor &PP);
40
41 void createTextPathDiagnosticConsumer(PathDiagnosticConsumers &C,
42                                       const std::string& prefix,
43                                       const Preprocessor &PP);
44
45 } // end 'ento' namespace
46 } // end 'clang' namespace
47
48 #endif