clang API Documentation

Public Member Functions | Public Attributes
clang::Sema::ContextualImplicitConverter Class Reference

Abstract base class used to perform a contextual implicit conversion from an expression to any type passing a filter. More...

#include <Sema.h>

Inheritance diagram for clang::Sema::ContextualImplicitConverter:
Inheritance graph
[legend]
Collaboration diagram for clang::Sema::ContextualImplicitConverter:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

Abstract base class used to perform a contextual implicit conversion from an expression to any type passing a filter.

Definition at line 2155 of file Sema.h.


Constructor & Destructor Documentation

clang::Sema::ContextualImplicitConverter::ContextualImplicitConverter ( bool  Suppress = false,
bool  SuppressConversion = false 
) [inline]

Definition at line 2160 of file Sema.h.

Definition at line 2200 of file Sema.h.


Member Function Documentation

Emits a diagnostic when there are multiple possible conversion functions.

Referenced by diagnoseAmbiguousConversion().

Emits a diagnostic when we picked a conversion function (for cases when we are not allowed to pick a conversion function).

Referenced by recordConversion().

Emits a diagnostic when the only matching conversion function is explicit.

Referenced by diagnoseNoViableConversion().

Emits a diagnostic when the expression has incomplete class type.

Referenced by clang::Sema::PerformContextualImplicitConversion().

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

Emits a note for one of the candidate conversions.

Referenced by diagnoseAmbiguousConversion().

Emits a note for the explicit conversion function.

Referenced by diagnoseNoViableConversion().


Member Data Documentation

Definition at line 2158 of file Sema.h.

Referenced by recordConversion().


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