clang API Documentation
Abstract base class used to perform a contextual implicit conversion from an expression to any type passing a filter. More...
#include <Sema.h>
Public Member Functions | |
ContextualImplicitConverter (bool Suppress=false, bool SuppressConversion=false) | |
virtual bool | match (QualType T)=0 |
Determine whether the specified type is a valid destination type for this conversion. | |
virtual SemaDiagnosticBuilder | diagnoseNoMatch (Sema &S, SourceLocation Loc, QualType T)=0 |
Emits a diagnostic complaining that the expression does not have integral or enumeration type. | |
virtual SemaDiagnosticBuilder | diagnoseIncomplete (Sema &S, SourceLocation Loc, QualType T)=0 |
Emits a diagnostic when the expression has incomplete class type. | |
virtual SemaDiagnosticBuilder | diagnoseExplicitConv (Sema &S, SourceLocation Loc, QualType T, QualType ConvTy)=0 |
Emits a diagnostic when the only matching conversion function is explicit. | |
virtual SemaDiagnosticBuilder | noteExplicitConv (Sema &S, CXXConversionDecl *Conv, QualType ConvTy)=0 |
Emits a note for the explicit conversion function. | |
virtual SemaDiagnosticBuilder | diagnoseAmbiguous (Sema &S, SourceLocation Loc, QualType T)=0 |
Emits a diagnostic when there are multiple possible conversion functions. | |
virtual SemaDiagnosticBuilder | noteAmbiguous (Sema &S, CXXConversionDecl *Conv, QualType ConvTy)=0 |
Emits a note for one of the candidate conversions. | |
virtual SemaDiagnosticBuilder | diagnoseConversion (Sema &S, SourceLocation Loc, QualType T, QualType ConvTy)=0 |
Emits a diagnostic when we picked a conversion function (for cases when we are not allowed to pick a conversion function). | |
virtual | ~ContextualImplicitConverter () |
Public Attributes | |
bool | Suppress |
bool | SuppressConversion |
Abstract base class used to perform a contextual implicit conversion from an expression to any type passing a filter.
clang::Sema::ContextualImplicitConverter::ContextualImplicitConverter | ( | bool | Suppress = false , |
bool | SuppressConversion = false |
||
) | [inline] |
virtual clang::Sema::ContextualImplicitConverter::~ContextualImplicitConverter | ( | ) | [inline, virtual] |
virtual SemaDiagnosticBuilder clang::Sema::ContextualImplicitConverter::diagnoseAmbiguous | ( | Sema & | S, |
SourceLocation | Loc, | ||
QualType | T | ||
) | [pure virtual] |
Emits a diagnostic when there are multiple possible conversion functions.
Referenced by diagnoseAmbiguousConversion().
virtual SemaDiagnosticBuilder clang::Sema::ContextualImplicitConverter::diagnoseConversion | ( | Sema & | S, |
SourceLocation | Loc, | ||
QualType | T, | ||
QualType | ConvTy | ||
) | [pure virtual] |
Emits a diagnostic when we picked a conversion function (for cases when we are not allowed to pick a conversion function).
Referenced by recordConversion().
virtual SemaDiagnosticBuilder clang::Sema::ContextualImplicitConverter::diagnoseExplicitConv | ( | Sema & | S, |
SourceLocation | Loc, | ||
QualType | T, | ||
QualType | ConvTy | ||
) | [pure virtual] |
Emits a diagnostic when the only matching conversion function is explicit.
Referenced by diagnoseNoViableConversion().
virtual SemaDiagnosticBuilder clang::Sema::ContextualImplicitConverter::diagnoseIncomplete | ( | Sema & | S, |
SourceLocation | Loc, | ||
QualType | T | ||
) | [pure virtual] |
Emits a diagnostic when the expression has incomplete class type.
Referenced by clang::Sema::PerformContextualImplicitConversion().
virtual SemaDiagnosticBuilder clang::Sema::ContextualImplicitConverter::diagnoseNoMatch | ( | Sema & | S, |
SourceLocation | Loc, | ||
QualType | T | ||
) | [pure virtual] |
Emits a diagnostic complaining that the expression does not have integral or enumeration type.
Implemented in clang::Sema::ICEConvertDiagnoser.
Referenced by finishContextualImplicitConversion(), and clang::Sema::PerformContextualImplicitConversion().
virtual bool clang::Sema::ContextualImplicitConverter::match | ( | QualType | T | ) | [pure virtual] |
Determine whether the specified type is a valid destination type for this conversion.
Implemented in clang::Sema::ICEConvertDiagnoser.
Referenced by finishContextualImplicitConversion(), and clang::Sema::PerformContextualImplicitConversion().
virtual SemaDiagnosticBuilder clang::Sema::ContextualImplicitConverter::noteAmbiguous | ( | Sema & | S, |
CXXConversionDecl * | Conv, | ||
QualType | ConvTy | ||
) | [pure virtual] |
Emits a note for one of the candidate conversions.
Referenced by diagnoseAmbiguousConversion().
virtual SemaDiagnosticBuilder clang::Sema::ContextualImplicitConverter::noteExplicitConv | ( | Sema & | S, |
CXXConversionDecl * | Conv, | ||
QualType | ConvTy | ||
) | [pure virtual] |
Emits a note for the explicit conversion function.
Referenced by diagnoseNoViableConversion().
Definition at line 2157 of file Sema.h.
Referenced by diagnoseAmbiguousConversion(), diagnoseNoViableConversion(), finishContextualImplicitConversion(), and clang::Sema::PerformContextualImplicitConversion().
Definition at line 2158 of file Sema.h.
Referenced by recordConversion().