clang API Documentation

Public Member Functions
clang::Diagnostic Class Reference

#include <Diagnostic.h>

List of all members.

Public Member Functions

 Diagnostic (const DiagnosticsEngine *DO)
 Diagnostic (const DiagnosticsEngine *DO, StringRef storedDiagMessage)
const DiagnosticsEnginegetDiags () const
unsigned getID () const
const SourceLocationgetLocation () const
bool hasSourceManager () const
SourceManagergetSourceManager () const
unsigned getNumArgs () const
DiagnosticsEngine::ArgumentKind getArgKind (unsigned Idx) const
const std::string & getArgStdStr (unsigned Idx) const
 getArgStdStr - Return the provided argument string specified by Idx.
const char * getArgCStr (unsigned Idx) const
 getArgCStr - Return the specified C string argument.
int getArgSInt (unsigned Idx) const
 getArgSInt - Return the specified signed integer argument.
unsigned getArgUInt (unsigned Idx) const
 getArgUInt - Return the specified unsigned integer argument.
const IdentifierInfogetArgIdentifier (unsigned Idx) const
 getArgIdentifier - Return the specified IdentifierInfo argument.
intptr_t getRawArg (unsigned Idx) const
 getRawArg - Return the specified non-string argument in an opaque form.
unsigned getNumRanges () const
const CharSourceRangegetRange (unsigned Idx) const
ArrayRef< CharSourceRangegetRanges () const
 Return an array reference for this diagnostic's ranges.
unsigned getNumFixItHints () const
const FixItHintgetFixItHint (unsigned Idx) const
const FixItHintgetFixItHints () const
void FormatDiagnostic (SmallVectorImpl< char > &OutStr) const
void FormatDiagnostic (const char *DiagStr, const char *DiagEnd, SmallVectorImpl< char > &OutStr) const

Detailed Description

Diagnostic - This is a little helper class (which is basically a smart pointer that forward info from DiagnosticsEngine) that allows clients to enquire about the currently in-flight diagnostic.

Definition at line 917 of file Diagnostic.h.


Constructor & Destructor Documentation

clang::Diagnostic::Diagnostic ( const DiagnosticsEngine DO) [inline, explicit]

Definition at line 921 of file Diagnostic.h.

clang::Diagnostic::Diagnostic ( const DiagnosticsEngine DO,
StringRef  storedDiagMessage 
) [inline]

Definition at line 922 of file Diagnostic.h.


Member Function Documentation

void Diagnostic::FormatDiagnostic ( SmallVectorImpl< char > &  OutStr) const

FormatDiagnostic - Format this diagnostic into a string, substituting the formal arguments into the %0 slots. The result is appended onto the Str array.

Definition at line 658 of file Diagnostic.cpp.

References Diag(), clang::DiagnosticsEngine::getDiagnosticIDs(), getDiags(), and getID().

Referenced by clang::TextDiagnosticBuffer::HandleDiagnostic(), clang::TextDiagnosticPrinter::HandleDiagnostic(), clang::LogDiagnosticPrinter::HandleDiagnostic(), HandlePluralModifier(), HandleSelectModifier(), and clang::StoredDiagnostic::StoredDiagnostic().

void Diagnostic::FormatDiagnostic ( const char *  DiagStr,
const char *  DiagEnd,
SmallVectorImpl< char > &  OutStr 
) const

FormatDiagnostic - Format the given format-string into the output buffer using the arguments stored in this diagnostic.

FormattedArgs - Keep track of all of the arguments formatted by ConvertArgToString and pass them into subsequent calls to ConvertArgToString, allowing the implementation to avoid redundancies in obvious cases.

QualTypeVals - Pass a vector of arrays so that QualType names can be compared to see if more information is needed to be printed.

Definition at line 671 of file Diagnostic.cpp.

References clang::DiagnosticsEngine::ak_c_string, clang::DiagnosticsEngine::ak_declarationname, clang::DiagnosticsEngine::ak_declcontext, clang::DiagnosticsEngine::ak_identifierinfo, clang::DiagnosticsEngine::ak_nameddecl, clang::DiagnosticsEngine::ak_nestednamespec, clang::DiagnosticsEngine::ak_qualtype, clang::DiagnosticsEngine::ak_sint, clang::DiagnosticsEngine::ak_std_string, clang::DiagnosticsEngine::ak_uint, clang::DiagnosticsEngine::ConvertArgToString(), getArgCStr(), getArgIdentifier(), getArgKind(), getArgSInt(), getArgStdStr(), getArgUInt(), getDiags(), clang::IdentifierInfo::getName(), getNumArgs(), getRawArg(), HandleIntegerSModifier(), HandleOrdinalModifier(), HandlePluralModifier(), HandleSelectModifier(), ModifierIs(), S, and ScanFormat().

const char* clang::Diagnostic::getArgCStr ( unsigned  Idx) const [inline]

getArgCStr - Return the specified C string argument.

Definition at line 948 of file Diagnostic.h.

References clang::DiagnosticsEngine::ak_c_string, and getArgKind().

Referenced by FormatDiagnostic().

const IdentifierInfo* clang::Diagnostic::getArgIdentifier ( unsigned  Idx) const [inline]

getArgIdentifier - Return the specified IdentifierInfo argument.

Definition at line 969 of file Diagnostic.h.

References clang::DiagnosticsEngine::ak_identifierinfo, and getArgKind().

Referenced by FormatDiagnostic().

DiagnosticsEngine::ArgumentKind clang::Diagnostic::getArgKind ( unsigned  Idx) const [inline]

getArgKind - Return the kind of the specified index. Based on the kind of argument, the accessors below can be used to get the value.

Definition at line 935 of file Diagnostic.h.

References getNumArgs().

Referenced by FormatDiagnostic(), getArgCStr(), getArgIdentifier(), getArgSInt(), getArgStdStr(), getArgUInt(), getRawArg(), and clang::PartialDiagnostic::PartialDiagnostic().

int clang::Diagnostic::getArgSInt ( unsigned  Idx) const [inline]

getArgSInt - Return the specified signed integer argument.

Definition at line 955 of file Diagnostic.h.

References clang::DiagnosticsEngine::ak_sint, and getArgKind().

Referenced by FormatDiagnostic().

const std::string& clang::Diagnostic::getArgStdStr ( unsigned  Idx) const [inline]

getArgStdStr - Return the provided argument string specified by Idx.

Definition at line 941 of file Diagnostic.h.

References clang::DiagnosticsEngine::ak_std_string, and getArgKind().

Referenced by FormatDiagnostic(), and clang::PartialDiagnostic::PartialDiagnostic().

unsigned clang::Diagnostic::getArgUInt ( unsigned  Idx) const [inline]

getArgUInt - Return the specified unsigned integer argument.

Definition at line 962 of file Diagnostic.h.

References clang::DiagnosticsEngine::ak_uint, and getArgKind().

Referenced by FormatDiagnostic().

const DiagnosticsEngine* clang::Diagnostic::getDiags ( ) const [inline]

Definition at line 925 of file Diagnostic.h.

Referenced by FormatDiagnostic().

const FixItHint& clang::Diagnostic::getFixItHint ( unsigned  Idx) const [inline]
const FixItHint* clang::Diagnostic::getFixItHints ( ) const [inline]

Definition at line 1007 of file Diagnostic.h.

References getNumFixItHints().

Referenced by clang::TextDiagnosticPrinter::HandleDiagnostic().

unsigned clang::Diagnostic::getID ( ) const [inline]
const SourceLocation& clang::Diagnostic::getLocation ( ) const [inline]
unsigned clang::Diagnostic::getNumArgs ( ) const [inline]
unsigned clang::Diagnostic::getNumFixItHints ( ) const [inline]
unsigned clang::Diagnostic::getNumRanges ( ) const [inline]

getNumRanges - Return the number of source ranges associated with this diagnostic.

Definition at line 985 of file Diagnostic.h.

Referenced by clang::PartialDiagnostic::PartialDiagnostic(), and clang::StoredDiagnostic::StoredDiagnostic().

const CharSourceRange& clang::Diagnostic::getRange ( unsigned  Idx) const [inline]
ArrayRef<CharSourceRange> clang::Diagnostic::getRanges ( ) const [inline]

Return an array reference for this diagnostic's ranges.

Definition at line 995 of file Diagnostic.h.

Referenced by clang::TextDiagnosticPrinter::HandleDiagnostic().

intptr_t clang::Diagnostic::getRawArg ( unsigned  Idx) const [inline]

getRawArg - Return the specified non-string argument in an opaque form.

Definition at line 976 of file Diagnostic.h.

References clang::DiagnosticsEngine::ak_std_string, and getArgKind().

Referenced by FormatDiagnostic(), and clang::PartialDiagnostic::PartialDiagnostic().

SourceManager& clang::Diagnostic::getSourceManager ( ) const [inline]
bool clang::Diagnostic::hasSourceManager ( ) const [inline]

The documentation for this class was generated from the following files: