clang 17.0.0git
|
Common data class for constructs that reference concepts with template arguments. More...
#include "clang/AST/ASTConcept.h"
Public Member Functions | |
ConceptReference (NestedNameSpecifierLoc NNS, SourceLocation TemplateKWLoc, DeclarationNameInfo ConceptNameInfo, NamedDecl *FoundDecl, ConceptDecl *NamedConcept, const ASTTemplateArgumentListInfo *ArgsAsWritten) | |
ConceptReference () | |
const NestedNameSpecifierLoc & | getNestedNameSpecifierLoc () const |
const DeclarationNameInfo & | getConceptNameInfo () const |
SourceLocation | getConceptNameLoc () const |
SourceLocation | getTemplateKWLoc () const |
NamedDecl * | getFoundDecl () const |
ConceptDecl * | getNamedConcept () const |
const ASTTemplateArgumentListInfo * | getTemplateArgsAsWritten () const |
bool | hasExplicitTemplateArgs () const |
Whether or not template arguments were explicitly specified in the concept reference (they might not be in type constraints, for example) | |
Protected Attributes | |
NestedNameSpecifierLoc | NestedNameSpec |
SourceLocation | TemplateKWLoc |
The location of the template keyword, if specified when naming the concept. | |
DeclarationNameInfo | ConceptName |
The concept name used. | |
NamedDecl * | FoundDecl |
The declaration found by name lookup when the expression was created. | |
ConceptDecl * | NamedConcept |
The concept named. | |
const ASTTemplateArgumentListInfo * | ArgsAsWritten |
The template argument list source info used to specialize the concept. | |
Common data class for constructs that reference concepts with template arguments.
Definition at line 112 of file ASTConcept.h.
|
inline |
Definition at line 138 of file ASTConcept.h.
|
inline |
Definition at line 146 of file ASTConcept.h.
|
inline |
Definition at line 153 of file ASTConcept.h.
References ConceptName.
Referenced by getConceptNameLoc(), clang::Sema::SubstTypeConstraint(), and clang::ASTDeclWriter::VisitTemplateTypeParmDecl().
|
inline |
Definition at line 155 of file ASTConcept.h.
References getConceptNameInfo(), and clang::DeclarationNameInfo::getLoc().
|
inline |
Definition at line 161 of file ASTConcept.h.
References FoundDecl.
|
inline |
Definition at line 165 of file ASTConcept.h.
References NamedConcept.
Referenced by diagnoseUnsatisfiedRequirement(), clang::ASTContext::isSameTypeConstraint(), substituteParameterMappings(), clang::Sema::SubstTypeConstraint(), and clang::ASTDeclWriter::VisitTemplateTypeParmDecl().
|
inline |
Definition at line 149 of file ASTConcept.h.
References NestedNameSpec.
Referenced by clang::ConceptSpecializationExpr::getBeginLoc(), clang::Sema::SubstTypeConstraint(), and clang::ASTDeclWriter::VisitTemplateTypeParmDecl().
|
inline |
Definition at line 169 of file ASTConcept.h.
References ArgsAsWritten.
Referenced by clang::computeDependence(), diagnoseUnsatisfiedRequirement(), clang::ASTContext::isSameTypeConstraint(), substituteParameterMappings(), clang::Sema::SubstTypeConstraint(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitConceptSpecializationExpr(), and clang::ASTDeclWriter::VisitTemplateTypeParmDecl().
|
inline |
Definition at line 159 of file ASTConcept.h.
References TemplateKWLoc.
|
inline |
Whether or not template arguments were explicitly specified in the concept reference (they might not be in type constraints, for example)
Definition at line 175 of file ASTConcept.h.
References ArgsAsWritten.
Referenced by clang::ASTContext::isSameTypeConstraint(), clang::TypeConstraint::print(), and clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitConceptSpecializationExpr().
|
protected |
The template argument list source info used to specialize the concept.
Definition at line 135 of file ASTConcept.h.
Referenced by clang::ConceptSpecializationExpr::Create(), clang::ConceptSpecializationExpr::getEndLoc(), getTemplateArgsAsWritten(), hasExplicitTemplateArgs(), and clang::TypeConstraint::print().
|
protected |
The concept name used.
Definition at line 122 of file ASTConcept.h.
Referenced by clang::ConceptSpecializationExpr::getBeginLoc(), getConceptNameInfo(), clang::ConceptSpecializationExpr::getEndLoc(), and clang::TypeConstraint::print().
|
protected |
The declaration found by name lookup when the expression was created.
Can differ from NamedConcept when, for example, the concept was found through a UsingShadowDecl.
Definition at line 128 of file ASTConcept.h.
Referenced by clang::ConceptSpecializationExpr::Create(), and getFoundDecl().
|
protected |
The concept named.
Definition at line 131 of file ASTConcept.h.
Referenced by clang::ConceptSpecializationExpr::Create(), and getNamedConcept().
|
protected |
Definition at line 115 of file ASTConcept.h.
Referenced by clang::ConceptSpecializationExpr::ConceptSpecializationExpr(), getNestedNameSpecifierLoc(), and clang::TypeConstraint::print().
|
protected |
The location of the template keyword, if specified when naming the concept.
Definition at line 119 of file ASTConcept.h.
Referenced by clang::ConceptSpecializationExpr::Create(), and getTemplateKWLoc().