clang 18.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 632 of file DeclTemplate.h.
|
inlineexplicit |
Definition at line 642 of file DeclTemplate.h.
References clang::TSK_Undeclared.
|
inline |
Retrieve the member declaration from which this member was instantiated.
Definition at line 651 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 672 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 654 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 658 of file DeclTemplate.h.
References getTemplateSpecializationKind(), and clang::TSK_ExplicitSpecialization.
Referenced by hasExplicitMemberDefinition().
|
inline |
Set the first point of instantiation.
Definition at line 677 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(), and clang::ASTNodeImporter::VisitRecordDecl().
|
inline |
Set the template specialization kind.
Definition at line 663 of file DeclTemplate.h.
References clang::TSK_Undeclared.
Referenced by clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassMembers(), and clang::EnumDecl::setTemplateSpecializationKind().