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 620 of file DeclTemplate.h.
|
inlineexplicit |
Definition at line 630 of file DeclTemplate.h.
References clang::TSK_Undeclared.
|
inline |
Retrieve the member declaration from which this member was instantiated.
Definition at line 639 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 660 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 642 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 646 of file DeclTemplate.h.
References getTemplateSpecializationKind(), and clang::TSK_ExplicitSpecialization.
|
inline |
Set the first point of instantiation.
Definition at line 665 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 651 of file DeclTemplate.h.
References clang::TSK_Undeclared.
Referenced by clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassMembers(), and clang::EnumDecl::setTemplateSpecializationKind().