clang  6.0.0svn
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]
Collaboration diagram for clang::Sema::ICEConvertDiagnoser:
Collaboration 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. More...
 
SemaDiagnosticBuilder diagnoseNoMatch (Sema &S, SourceLocation Loc, QualType T) override
 Emits a diagnostic complaining that the expression does not have integral or enumeration type. More...
 
virtual SemaDiagnosticBuilder diagnoseNotInt (Sema &S, SourceLocation Loc, QualType T)=0
 Emits a diagnostic complaining that the expression does not have integral or enumeration type. More...
 
- Public Member Functions inherited from clang::Sema::ContextualImplicitConverter
 ContextualImplicitConverter (bool Suppress=false, bool SuppressConversion=false)
 
virtual SemaDiagnosticBuilder diagnoseIncomplete (Sema &S, SourceLocation Loc, QualType T)=0
 Emits a diagnostic when the expression has incomplete class type. More...
 
virtual SemaDiagnosticBuilder diagnoseExplicitConv (Sema &S, SourceLocation Loc, QualType T, QualType ConvTy)=0
 Emits a diagnostic when the only matching conversion function is explicit. More...
 
virtual SemaDiagnosticBuilder noteExplicitConv (Sema &S, CXXConversionDecl *Conv, QualType ConvTy)=0
 Emits a note for the explicit conversion function. More...
 
virtual SemaDiagnosticBuilder diagnoseAmbiguous (Sema &S, SourceLocation Loc, QualType T)=0
 Emits a diagnostic when there are multiple possible conversion functions. More...
 
virtual SemaDiagnosticBuilder noteAmbiguous (Sema &S, CXXConversionDecl *Conv, QualType ConvTy)=0
 Emits a note for one of the candidate conversions. More...
 
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). More...
 
virtual ~ContextualImplicitConverter ()
 

Additional Inherited Members

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

Detailed Description

Definition at line 2639 of file Sema.h.

Constructor & Destructor Documentation

◆ ICEConvertDiagnoser()

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

Definition at line 2643 of file Sema.h.

References clang::ast_matchers::match().

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 2652 of file Sema.h.

◆ 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 5494 of file SemaOverload.cpp.

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


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