clang 20.0.0git
|
The result of a constraint satisfaction check, containing the necessary information to diagnose an unsatisfied constraint. More...
#include "clang/AST/ASTConcept.h"
Public Types | |
using | SubstitutionDiagnostic = std::pair< SourceLocation, StringRef > |
using | Detail = llvm::PointerUnion< Expr *, SubstitutionDiagnostic * > |
Public Member Functions | |
ConstraintSatisfaction ()=default | |
ConstraintSatisfaction (const NamedDecl *ConstraintOwner, ArrayRef< TemplateArgument > TemplateArgs) | |
void | Profile (llvm::FoldingSetNodeID &ID, const ASTContext &C) |
bool | HasSubstitutionFailure () |
Static Public Member Functions | |
static void | Profile (llvm::FoldingSetNodeID &ID, const ASTContext &C, const NamedDecl *ConstraintOwner, ArrayRef< TemplateArgument > TemplateArgs) |
Public Attributes | |
bool | IsSatisfied = false |
bool | ContainsErrors = false |
llvm::SmallVector< Detail, 4 > | Details |
The substituted constraint expr, if the template arguments could be substituted into them, or a diagnostic if substitution resulted in an invalid expression. | |
The result of a constraint satisfaction check, containing the necessary information to diagnose an unsatisfied constraint.
Definition at line 35 of file ASTConcept.h.
using clang::ConstraintSatisfaction::Detail = llvm::PointerUnion<Expr *, SubstitutionDiagnostic *> |
Definition at line 50 of file ASTConcept.h.
using clang::ConstraintSatisfaction::SubstitutionDiagnostic = std::pair<SourceLocation, StringRef> |
Definition at line 49 of file ASTConcept.h.
|
default |
|
inline |
Definition at line 45 of file ASTConcept.h.
|
inline |
Definition at line 68 of file ASTConcept.h.
References Details.
|
inline |
Definition at line 60 of file ASTConcept.h.
References clang::C, ID, and Profile().
Referenced by clang::Sema::CheckConstraintSatisfaction(), and Profile().
|
static |
Definition at line 78 of file ASTConcept.cpp.
References clang::C.
Definition at line 53 of file ASTConcept.h.
Referenced by calculateConstraintSatisfaction(), and readConstraintSatisfaction().
llvm::SmallVector<Detail, 4> clang::ConstraintSatisfaction::Details |
The substituted constraint expr, if the template arguments could be substituted into them, or a diagnostic if substitution resulted in an invalid expression.
Definition at line 58 of file ASTConcept.h.
Referenced by clang::ASTConstraintSatisfaction::ASTConstraintSatisfaction(), calculateConstraintSatisfaction(), clang::ASTConstraintSatisfaction::Create(), clang::Sema::DiagnoseUnsatisfiedConstraint(), HasSubstitutionFailure(), and readConstraintSatisfaction().
Definition at line 52 of file ASTConcept.h.
Referenced by clang::Sema::AddConversionCandidate(), clang::Sema::AddMethodCandidate(), clang::Sema::AddOverloadCandidate(), clang::Sema::AddSurrogateCandidate(), calculateConstraintSatisfaction(), checkAddressOfFunctionIsAvailable(), clang::Sema::CheckConstraintSatisfaction(), CheckConstraintSatisfaction(), CheckDeducedArgumentConstraints(), CheckDeducedPlaceholderConstraints(), clang::Sema::CheckFunctionConstraints(), clang::Sema::CheckInstantiatedFunctionTemplateConstraints(), clang::Sema::DiagnoseUnsatisfiedConstraint(), clang::Sema::DiagnoseUseOfDecl(), clang::Sema::EnsureTemplateArgumentListConstraints(), clang::Sema::FinishTemplateArgumentDeduction(), clang::Sema::InstantiateClassMembers(), readConstraintSatisfaction(), and SetEligibleMethods().