clang 20.0.0git
|
Abstract base class used to perform a contextual implicit conversion from an expression to any type passing a filter. More...
#include "clang/Sema/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.
|
inlinevirtual |
|
pure virtual |
Emits a diagnostic when there are multiple possible conversion functions.
Referenced by diagnoseAmbiguousConversion().
|
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().
|
pure virtual |
Emits a diagnostic when the only matching conversion function is explicit.
Referenced by diagnoseNoViableConversion().
|
pure virtual |
Emits a diagnostic when the expression has incomplete class type.
Referenced by clang::Sema::PerformContextualImplicitConversion().
|
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().
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().
|
pure virtual |
Emits a note for one of the candidate conversions.
Referenced by diagnoseAmbiguousConversion().
|
pure virtual |
Emits a note for the explicit conversion function.
Referenced by diagnoseNoViableConversion().
bool clang::Sema::ContextualImplicitConverter::Suppress |
Definition at line 10043 of file Sema.h.
Referenced by diagnoseAmbiguousConversion(), diagnoseNoViableConversion(), finishContextualImplicitConversion(), and clang::Sema::PerformContextualImplicitConversion().
bool clang::Sema::ContextualImplicitConverter::SuppressConversion |
Definition at line 10044 of file Sema.h.
Referenced by recordConversion().