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().