class SizeConvertDiagnoser

Declaration

class SizeConvertDiagnoser : 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/SemaExprCXX.cpp:2110

Inherits from: Sema::ICEConvertDiagnoser

Member Variables

protected clang::Expr* ArraySize

Inherited from Sema::ContextualImplicitConverter:

public Suppress
public SuppressConversion

Method Overview

  • public SizeConvertDiagnoser(clang::Expr * ArraySize)
  • 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

SizeConvertDiagnoser(clang::Expr* ArraySize)

Declared at: clang/lib/Sema/SemaExprCXX.cpp:2115

Parameters

clang::Expr* ArraySize

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/SemaExprCXX.cpp:2142

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/SemaExprCXX.cpp:2153

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/SemaExprCXX.cpp:2131

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/SemaExprCXX.cpp:2125

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/SemaExprCXX.cpp:2119

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/SemaExprCXX.cpp:2147

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/SemaExprCXX.cpp:2136

Parameters

clang::Sema& S
clang::CXXConversionDecl* Conv
clang::QualType ConvTy