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:

public Suppress
public SuppressConversion

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:

Methods

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)

Description

Emits a diagnostic when there are multiple possible conversion functions.

Declared at: clang/lib/Sema/SemaStmt.cpp:1057

Parameters

clang::Sema& S
clang::SourceLocation Loc
clang::QualType T

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)

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)

Description

Emits a diagnostic when the expression has incomplete class type.

Declared at: clang/lib/Sema/SemaStmt.cpp:1040

Parameters

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& S
clang::SourceLocation Loc
clang::QualType T

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)

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