clang 20.0.0git
|
Provides information a specialization of a member of a class template, which may be a member function, static data member, member class or member enumeration. More...
#include "clang/AST/DeclTemplate.h"
Public Member Functions | |
MemberSpecializationInfo (NamedDecl *IF, TemplateSpecializationKind TSK, SourceLocation POI=SourceLocation()) | |
NamedDecl * | getInstantiatedFrom () const |
Retrieve the member declaration from which this member was instantiated. | |
TemplateSpecializationKind | getTemplateSpecializationKind () const |
Determine what kind of template specialization this is. | |
bool | isExplicitSpecialization () const |
void | setTemplateSpecializationKind (TemplateSpecializationKind TSK) |
Set the template specialization kind. | |
SourceLocation | getPointOfInstantiation () const |
Retrieve the first point of instantiation of this member. | |
void | setPointOfInstantiation (SourceLocation POI) |
Set the first point of instantiation. | |
Provides information a specialization of a member of a class template, which may be a member function, static data member, member class or member enumeration.
Definition at line 615 of file DeclTemplate.h.
|
inlineexplicit |
Definition at line 625 of file DeclTemplate.h.
References clang::TSK_Undeclared.
|
inline |
Retrieve the member declaration from which this member was instantiated.
Definition at line 634 of file DeclTemplate.h.
Referenced by clang::EnumDecl::getInstantiatedFromMemberEnum(), clang::FunctionDecl::getTemplateInstantiationPattern(), and clang::ASTDeclWriter::VisitFunctionDecl().
|
inline |
Retrieve the first point of instantiation of this member.
If the point of instantiation is an invalid location, then this member has not yet been instantiated.
Definition at line 655 of file DeclTemplate.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::CheckMemberSpecialization(), clang::ASTNodeImporter::ImportTemplateInformation(), clang::Sema::InstantiateClassMembers(), clang::EnumDecl::setTemplateSpecializationKind(), and clang::ASTDeclWriter::VisitFunctionDecl().
|
inline |
Determine what kind of template specialization this is.
Definition at line 637 of file DeclTemplate.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::CheckMemberSpecialization(), DoMarkVarDeclReferenced(), clang::FunctionDecl::getTemplateInstantiationPattern(), clang::Sema::InstantiateClassMembers(), isExplicitSpecialization(), clang::Sema::RequireCompleteEnumDecl(), and clang::ASTDeclWriter::VisitFunctionDecl().
|
inline |
Definition at line 641 of file DeclTemplate.h.
References getTemplateSpecializationKind(), and clang::TSK_ExplicitSpecialization.
|
inline |
Set the first point of instantiation.
Definition at line 660 of file DeclTemplate.h.
Referenced by clang::ASTNodeImporter::ImportTemplateInformation(), clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassMembers(), clang::EnumDecl::setTemplateSpecializationKind(), clang::ASTDeclReader::UpdateDecl(), clang::ASTDeclReader::VisitCXXRecordDeclImpl(), clang::ASTNodeImporter::VisitEnumDecl(), clang::ASTDeclReader::VisitEnumDecl(), clang::ASTDeclReader::VisitFunctionDecl(), clang::ASTNodeImporter::VisitRecordDecl(), and clang::ASTNodeImporter::VisitVarDecl().
|
inline |
Set the template specialization kind.
Definition at line 646 of file DeclTemplate.h.
References clang::TSK_Undeclared.
Referenced by clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassMembers(), and clang::EnumDecl::setTemplateSpecializationKind().