clang API Documentation
Extends ASTTemplateArgumentListInfo with the source location information for the template keyword; this is used as part of the representation of qualified identifiers, such as S<T>::template apply<T>. More...
#include <TemplateBase.h>
Public Types | |
typedef ASTTemplateArgumentListInfo | Base |
Public Member Functions | |
SourceLocation | getTemplateKeywordLoc () const |
Get the source location of the template keyword. | |
void | setTemplateKeywordLoc (SourceLocation TemplateKWLoc) |
Sets the source location of the template keyword. | |
void | initializeFrom (SourceLocation TemplateKWLoc, const TemplateArgumentListInfo &List) |
void | initializeFrom (SourceLocation TemplateKWLoc, const TemplateArgumentListInfo &List, bool &Dependent, bool &InstantiationDependent, bool &ContainsUnexpandedParameterPack) |
void | initializeFrom (SourceLocation TemplateKWLoc) |
Static Public Member Functions | |
static const ASTTemplateKWAndArgsInfo * | Create (ASTContext &C, SourceLocation TemplateKWLoc, const TemplateArgumentListInfo &List) |
static std::size_t | sizeFor (unsigned NumTemplateArgs) |
Extends ASTTemplateArgumentListInfo with the source location information for the template keyword; this is used as part of the representation of qualified identifiers, such as S<T>::template apply<T>.
Definition at line 611 of file TemplateBase.h.
Definition at line 612 of file TemplateBase.h.
static const ASTTemplateKWAndArgsInfo* clang::ASTTemplateKWAndArgsInfo::Create | ( | ASTContext & | C, |
SourceLocation | TemplateKWLoc, | ||
const TemplateArgumentListInfo & | List | ||
) | [static] |
SourceLocation clang::ASTTemplateKWAndArgsInfo::getTemplateKeywordLoc | ( | ) | const [inline] |
Get the source location of the template keyword.
Definition at line 618 of file TemplateBase.h.
Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), clang::DeclRefExpr::getTemplateKeywordLoc(), clang::OverloadExpr::getTemplateKeywordLoc(), clang::MemberExpr::getTemplateKeywordLoc(), clang::DependentScopeDeclRefExpr::getTemplateKeywordLoc(), and clang::CXXDependentScopeMemberExpr::getTemplateKeywordLoc().
void ASTTemplateKWAndArgsInfo::initializeFrom | ( | SourceLocation | TemplateKWLoc, |
const TemplateArgumentListInfo & | List | ||
) |
Definition at line 566 of file TemplateBase.cpp.
References clang::ASTTemplateArgumentListInfo::initializeFrom(), and setTemplateKeywordLoc().
Referenced by clang::MemberExpr::Create(), clang::OverloadExpr::OverloadExpr(), and clang::ASTStmtReader::ReadTemplateKWAndArgsInfo().
void ASTTemplateKWAndArgsInfo::initializeFrom | ( | SourceLocation | TemplateKWLoc, |
const TemplateArgumentListInfo & | List, | ||
bool & | Dependent, | ||
bool & | InstantiationDependent, | ||
bool & | ContainsUnexpandedParameterPack | ||
) |
Definition at line 574 of file TemplateBase.cpp.
void ASTTemplateKWAndArgsInfo::initializeFrom | ( | SourceLocation | TemplateKWLoc | ) |
Definition at line 585 of file TemplateBase.cpp.
References clang::SourceLocation::isValid(), clang::ASTTemplateArgumentListInfo::LAngleLoc, clang::ASTTemplateArgumentListInfo::NumTemplateArgs, clang::ASTTemplateArgumentListInfo::RAngleLoc, and setTemplateKeywordLoc().
void clang::ASTTemplateKWAndArgsInfo::setTemplateKeywordLoc | ( | SourceLocation | TemplateKWLoc | ) | [inline] |
Sets the source location of the template keyword.
Definition at line 624 of file TemplateBase.h.
Referenced by initializeFrom().
std::size_t ASTTemplateKWAndArgsInfo::sizeFor | ( | unsigned | NumTemplateArgs | ) | [static] |
Reimplemented from clang::ASTTemplateArgumentListInfo.
Definition at line 595 of file TemplateBase.cpp.
References clang::ASTTemplateArgumentListInfo::sizeFor().
Referenced by clang::DeclRefExpr::Create(), clang::MemberExpr::Create(), clang::UnresolvedLookupExpr::Create(), clang::DependentScopeDeclRefExpr::Create(), clang::CXXDependentScopeMemberExpr::Create(), clang::UnresolvedMemberExpr::Create(), clang::DeclRefExpr::CreateEmpty(), clang::UnresolvedLookupExpr::CreateEmpty(), clang::DependentScopeDeclRefExpr::CreateEmpty(), clang::CXXDependentScopeMemberExpr::CreateEmpty(), and clang::UnresolvedMemberExpr::CreateEmpty().