clang 20.0.0git
Public Member Functions | List of all members
clang::Sema::ICEConvertDiagnoser Class Referenceabstract

#include "clang/Sema/Sema.h"

Inheritance diagram for clang::Sema::ICEConvertDiagnoser:
Inheritance graph
[legend]

Public Member Functions

 ICEConvertDiagnoser (bool AllowScopedEnumerations, bool Suppress, bool SuppressConversion)
 
bool match (QualType T) override
 Match an integral or (possibly scoped) enumeration type.
 
SemaDiagnosticBuilder diagnoseNoMatch (Sema &S, SourceLocation Loc, QualType T) override
 Emits a diagnostic complaining that the expression does not have integral or enumeration type.
 
virtual SemaDiagnosticBuilder diagnoseNotInt (Sema &S, SourceLocation Loc, QualType T)=0
 Emits a diagnostic complaining that the expression does not have integral or enumeration type.
 
- Public Member Functions inherited from clang::Sema::ContextualImplicitConverter
 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 ()
 

Additional Inherited Members

- Public Attributes inherited from clang::Sema::ContextualImplicitConverter
bool Suppress
 
bool SuppressConversion
 

Detailed Description

Definition at line 10108 of file Sema.h.

Constructor & Destructor Documentation

◆ ICEConvertDiagnoser()

clang::Sema::ICEConvertDiagnoser::ICEConvertDiagnoser ( bool  AllowScopedEnumerations,
bool  Suppress,
bool  SuppressConversion 
)
inline

Definition at line 10112 of file Sema.h.

Member Function Documentation

◆ diagnoseNoMatch()

SemaDiagnosticBuilder clang::Sema::ICEConvertDiagnoser::diagnoseNoMatch ( Sema S,
SourceLocation  Loc,
QualType  T 
)
inlineoverridevirtual

Emits a diagnostic complaining that the expression does not have integral or enumeration type.

Implements clang::Sema::ContextualImplicitConverter.

Definition at line 10120 of file Sema.h.

References Loc, and clang::T.

◆ diagnoseNotInt()

virtual SemaDiagnosticBuilder clang::Sema::ICEConvertDiagnoser::diagnoseNotInt ( Sema S,
SourceLocation  Loc,
QualType  T 
)
pure virtual

Emits a diagnostic complaining that the expression does not have integral or enumeration type.

◆ match()

bool Sema::ICEConvertDiagnoser::match ( QualType  T)
overridevirtual

Match an integral or (possibly scoped) enumeration type.

Determine whether the provided type is an integral type, or an enumeration type of a permitted flavor.

Implements clang::Sema::ContextualImplicitConverter.

Definition at line 6440 of file SemaOverload.cpp.

References clang::Type::isIntegralOrEnumerationType(), clang::Type::isIntegralOrUnscopedEnumerationType(), and clang::T.


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