15d866256333fb6115a8a86ac4f89b2ca36e20c70Ted Kremenek//===--- PathDiagnosticClients.h - Path Diagnostic Clients ------*- C++ -*-===//
288f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek//
388f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek//                     The LLVM Compiler Infrastructure
488f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek//
588f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek// This file is distributed under the University of Illinois Open Source
688f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek// License. See LICENSE.TXT for details.
788f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek//
888f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek//===----------------------------------------------------------------------===//
988f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek//
105d866256333fb6115a8a86ac4f89b2ca36e20c70Ted Kremenek//  This file defines the interface to create different path diagostic clients.
1188f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek//
1288f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek//===----------------------------------------------------------------------===//
1388f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek
145a4f98ff943e6a501b0fe47ade007c9bbf96cb88Argyrios Kyrtzidis#ifndef LLVM_CLANG_GR_PATH_DIAGNOSTIC_CLIENTS_H
15b5ef3ca808b16aa2ba010251773e820f57190d1aSebastian Redl#define LLVM_CLANG_GR_PATH_DIAGNOSTIC_CLIENTS_H
1688f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek
1788f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek#include <string>
18c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek#include <vector>
1988f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek
2088f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremeneknamespace clang {
21339b9c27759d7b6a53e2370f83f66e78b3254595Ted Kremenek
22339b9c27759d7b6a53e2370f83f66e78b3254595Ted Kremenekclass Preprocessor;
231eb4433ac451dc16f4133a88af2d002ac26c58efMike Stump
249ef6537a894c33003359b1f9b9676e9178e028b7Ted Kremeneknamespace ento {
255a4f98ff943e6a501b0fe47ade007c9bbf96cb88Argyrios Kyrtzidis
26ef3643fbbbf66247c5e205497fae0f46e240c143David Blaikieclass PathDiagnosticConsumer;
27c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenektypedef std::vector<PathDiagnosticConsumer*> PathDiagnosticConsumers;
285a4f98ff943e6a501b0fe47ade007c9bbf96cb88Argyrios Kyrtzidis
29c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenekvoid createHTMLDiagnosticConsumer(PathDiagnosticConsumers &C,
30c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek                                  const std::string& prefix,
31c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek                                  const Preprocessor &PP);
321eb4433ac451dc16f4133a88af2d002ac26c58efMike Stump
33c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenekvoid createPlistDiagnosticConsumer(PathDiagnosticConsumers &C,
34c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek                                   const std::string& prefix,
35c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek                                   const Preprocessor &PP);
3688f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek
37c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenekvoid createPlistMultiFileDiagnosticConsumer(PathDiagnosticConsumers &C,
38c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek                                            const std::string& prefix,
39c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek                                            const Preprocessor &PP);
4029af3c7425b791daf5c9ec0a820d6b5baab2ddccTed Kremenek
41c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenekvoid createTextPathDiagnosticConsumer(PathDiagnosticConsumers &C,
42c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek                                      const std::string& prefix,
43c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek                                      const Preprocessor &PP);
44ebd4f52093b93fed57dcab6fa3a9033e3850ca4bArgyrios Kyrtzidis
45c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek} // end 'ento' namespace
46c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek} // end 'clang' namespace
475a4f98ff943e6a501b0fe47ade007c9bbf96cb88Argyrios Kyrtzidis
4888f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek#endif
49