| //===--- TextDiagnostics.h - Text Diagnostics Checkers ----------*- C++ -*-===// | 
 | // | 
 | //                     The LLVM Compiler Infrastructure | 
 | // | 
 | // This file is distributed under the University of Illinois Open Source | 
 | // License. See LICENSE.TXT for details. | 
 | // | 
 | //===----------------------------------------------------------------------===// | 
 | // | 
 | // This is the parent class for all text diagnostics. | 
 | // | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | #ifndef TEXT_DIAGNOSTICS_H_ | 
 | #define TEXT_DIAGNOSTICS_H_ | 
 |  | 
 | #include "clang/Basic/Diagnostic.h" | 
 |  | 
 | namespace clang { | 
 | class SourceManager; | 
 | class HeaderSearch; | 
 | class Preprocessor; | 
 |  | 
 | class TextDiagnostics : public DiagnosticClient { | 
 |   HeaderSearch *TheHeaderSearch; | 
 | protected: | 
 |   std::string FormatDiagnostic(Diagnostic &Diags, Diagnostic::Level Level, | 
 |                                diag::kind ID, | 
 |                                const std::string *Strs, | 
 |                                unsigned NumStrs); | 
 | public: | 
 |   TextDiagnostics() {} | 
 |   virtual ~TextDiagnostics(); | 
 |  | 
 |   void setHeaderSearch(HeaderSearch &HS) { TheHeaderSearch = &HS; } | 
 |  | 
 |   virtual bool IgnoreDiagnostic(Diagnostic::Level Level,  | 
 |                                 FullSourceLoc Pos); | 
 |  | 
 |   virtual void HandleDiagnostic(Diagnostic &Diags, Diagnostic::Level DiagLevel, | 
 |                                 FullSourceLoc Pos, | 
 |                                 diag::kind ID, | 
 |                                 const std::string *Strs, | 
 |                                 unsigned NumStrs, | 
 |                                 const SourceRange *Ranges,  | 
 |                                 unsigned NumRanges) = 0; | 
 | }; | 
 |  | 
 | } // end namspace clang | 
 |  | 
 | #endif |