class SwitchConvertDiagnoser
Declaration
class SwitchConvertDiagnoser : public ICEConvertDiagnoser { /* full declaration omitted */ };
Description
Abstract base class used to perform a contextual implicit conversion from an expression to any type passing a filter.
Declared at: clang/lib/Sema/SemaStmt.cpp:1027
Inherits from: Sema::ICEConvertDiagnoser
Member Variables
- private clang::Expr* Cond
Inherited from Sema::ContextualImplicitConverter:
Method Overview
- public SwitchConvertDiagnoser(clang::Expr * Cond)
- public clang::Sema::SemaDiagnosticBuilder diagnoseAmbiguous(clang::Sema & S, clang::SourceLocation Loc, clang::QualType T)
- public clang::Sema::SemaDiagnosticBuilder diagnoseConversion(clang::Sema & S, clang::SourceLocation Loc, clang::QualType T, clang::QualType ConvTy)
- public clang::Sema::SemaDiagnosticBuilder diagnoseExplicitConv(clang::Sema & S, clang::SourceLocation Loc, clang::QualType T, clang::QualType ConvTy)
- public clang::Sema::SemaDiagnosticBuilder diagnoseIncomplete(clang::Sema & S, clang::SourceLocation Loc, clang::QualType T)
- public clang::Sema::SemaDiagnosticBuilder diagnoseNotInt(clang::Sema & S, clang::SourceLocation Loc, clang::QualType T)
- public clang::Sema::SemaDiagnosticBuilder noteAmbiguous(clang::Sema & S, clang::CXXConversionDecl * Conv, clang::QualType ConvTy)
- public clang::Sema::SemaDiagnosticBuilder noteExplicitConv(clang::Sema & S, clang::CXXConversionDecl * Conv, clang::QualType ConvTy)
Inherited from Sema::ICEConvertDiagnoser:
Inherited from Sema::ContextualImplicitConverter:
- public diagnoseAmbiguous
- public diagnoseConversion
- public diagnoseExplicitConv
- public diagnoseIncomplete
- public diagnoseNoMatch
- public match
- public noteAmbiguous
- public noteExplicitConv
Methods
¶SwitchConvertDiagnoser(clang::Expr* Cond)
SwitchConvertDiagnoser(clang::Expr* Cond)
Declared at: clang/lib/Sema/SemaStmt.cpp:1031
Parameters
- clang::Expr* Cond
¶clang::Sema::SemaDiagnosticBuilder
diagnoseAmbiguous(clang::Sema& S,
clang::SourceLocation Loc,
clang::QualType T)
clang::Sema::SemaDiagnosticBuilder
diagnoseAmbiguous(clang::Sema& S,
clang::SourceLocation Loc,
clang::QualType T)
Description
Emits a diagnostic when there are multiple possible conversion functions.
Declared at: clang/lib/Sema/SemaStmt.cpp:1057
Parameters
¶clang::Sema::SemaDiagnosticBuilder
diagnoseConversion(clang::Sema& S,
clang::SourceLocation Loc,
clang::QualType T,
clang::QualType ConvTy)
clang::Sema::SemaDiagnosticBuilder
diagnoseConversion(clang::Sema& S,
clang::SourceLocation Loc,
clang::QualType T,
clang::QualType ConvTy)
Description
Emits a diagnostic when we picked a conversion function (for cases when we are not allowed to pick a conversion function).
Declared at: clang/lib/Sema/SemaStmt.cpp:1068
Parameters
- clang::Sema& S
- clang::SourceLocation Loc
- clang::QualType T
- clang::QualType ConvTy
¶clang::Sema::SemaDiagnosticBuilder
diagnoseExplicitConv(clang::Sema& S,
clang::SourceLocation Loc,
clang::QualType T,
clang::QualType ConvTy)
clang::Sema::SemaDiagnosticBuilder
diagnoseExplicitConv(clang::Sema& S,
clang::SourceLocation Loc,
clang::QualType T,
clang::QualType ConvTy)
Description
Emits a diagnostic when the only matching conversion function is explicit.
Declared at: clang/lib/Sema/SemaStmt.cpp:1046
Parameters
- clang::Sema& S
- clang::SourceLocation Loc
- clang::QualType T
- clang::QualType ConvTy
¶clang::Sema::SemaDiagnosticBuilder
diagnoseIncomplete(clang::Sema& S,
clang::SourceLocation Loc,
clang::QualType T)
clang::Sema::SemaDiagnosticBuilder
diagnoseIncomplete(clang::Sema& S,
clang::SourceLocation Loc,
clang::QualType T)
Description
Emits a diagnostic when the expression has incomplete class type.
Declared at: clang/lib/Sema/SemaStmt.cpp:1040
Parameters
¶clang::Sema::SemaDiagnosticBuilder diagnoseNotInt(
clang::Sema& S,
clang::SourceLocation Loc,
clang::QualType T)
clang::Sema::SemaDiagnosticBuilder diagnoseNotInt(
clang::Sema& S,
clang::SourceLocation Loc,
clang::QualType T)
Description
Emits a diagnostic complaining that the expression does not have integral or enumeration type.
Declared at: clang/lib/Sema/SemaStmt.cpp:1035
Parameters
¶clang::Sema::SemaDiagnosticBuilder noteAmbiguous(
clang::Sema& S,
clang::CXXConversionDecl* Conv,
clang::QualType ConvTy)
clang::Sema::SemaDiagnosticBuilder noteAmbiguous(
clang::Sema& S,
clang::CXXConversionDecl* Conv,
clang::QualType ConvTy)
Description
Emits a note for one of the candidate conversions.
Declared at: clang/lib/Sema/SemaStmt.cpp:1062
Parameters
- clang::Sema& S
- clang::CXXConversionDecl* Conv
- clang::QualType ConvTy
¶clang::Sema::SemaDiagnosticBuilder
noteExplicitConv(clang::Sema& S,
clang::CXXConversionDecl* Conv,
clang::QualType ConvTy)
clang::Sema::SemaDiagnosticBuilder
noteExplicitConv(clang::Sema& S,
clang::CXXConversionDecl* Conv,
clang::QualType ConvTy)
Description
Emits a note for the explicit conversion function.
Declared at: clang/lib/Sema/SemaStmt.cpp:1051
Parameters
- clang::Sema& S
- clang::CXXConversionDecl* Conv
- clang::QualType ConvTy