clang 8.0.0

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

`#include "clang/Sema/Sema.h"`

Inheritance diagram for clang::Sema::ICEConvertDiagnoser:
[legend]
Collaboration diagram for clang::Sema::ICEConvertDiagnoser:
[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 2701 of file Sema.h.

## Constructor & Destructor Documentation

## ◆ ICEConvertDiagnoser()

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

Definition at line 2705 of file Sema.h.

References clang::ast_matchers::match().

## Member Function Documentation

## ◆ diagnoseNoMatch()

SemaDiagnosticBuilder clang::Sema::ICEConvertDiagnoser::diagnoseNoMatch | ( | Sema & | S,
|  | SourceLocation | Loc,
|  | QualType | T
| ) |  |
| inline override virtual

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

Implements clang::Sema::ContextualImplicitConverter.

Definition at line 2714 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 | ) |
| override virtual

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

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

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

- include/clang/Sema/Sema.h
- lib/Sema/SemaOverload.cpp