clang API Documentation
Information about a template-id annotation token. More...
#include <ParsedTemplate.h>
Public Member Functions | |
ParsedTemplateArgument * | getTemplateArgs () |
Retrieves a pointer to the template arguments. | |
void | Destroy () |
Static Public Member Functions | |
static TemplateIdAnnotation * | Allocate (unsigned NumArgs, SmallVectorImpl< TemplateIdAnnotation * > &List) |
Creates a new TemplateIdAnnotation with NumArgs arguments and appends it to List. | |
Public Attributes | |
CXXScopeSpec | SS |
The nested-name-specifier that precedes the template name. | |
SourceLocation | TemplateKWLoc |
SourceLocation | TemplateNameLoc |
IdentifierInfo * | Name |
FIXME: Temporarily stores the name of a specialization. | |
OverloadedOperatorKind | Operator |
FIXME: Temporarily stores the overloaded operator kind. | |
ParsedTemplateTy | Template |
TemplateNameKind | Kind |
The kind of template that Template refers to. | |
SourceLocation | LAngleLoc |
SourceLocation | RAngleLoc |
unsigned | NumArgs |
NumArgs - The number of template arguments. |
Information about a template-id annotation token.
A template-id annotation token contains the template declaration, template arguments, whether those template arguments were types, expressions, or template names, and the source locations for important tokens. All of the information about template arguments is allocated directly after this structure.
Definition at line 141 of file ParsedTemplate.h.
static TemplateIdAnnotation* clang::TemplateIdAnnotation::Allocate | ( | unsigned | NumArgs, |
SmallVectorImpl< TemplateIdAnnotation * > & | List | ||
) | [inline, static] |
Creates a new TemplateIdAnnotation with NumArgs arguments and appends it to List.
Definition at line 185 of file ParsedTemplate.h.
References getTemplateArgs(), NumArgs, and SS.
void clang::TemplateIdAnnotation::Destroy | ( | ) | [inline] |
Definition at line 203 of file ParsedTemplate.h.
References SS.
Retrieves a pointer to the template arguments.
Definition at line 178 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnPseudoDestructorExpr(), Allocate(), clang::Sema::DecomposeUnqualifiedId(), makeTemplateArgumentListInfo(), and clang::Parser::TryAnnotateTypeOrScopeToken().
The kind of template that Template refers to.
Definition at line 164 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnIdExpression(), clang::Parser::TryAnnotateTypeOrScopeToken(), and clang::Parser::TryAnnotateTypeOrScopeTokenAfterScopeSpec().
The location of the '<' before the template argument list.
Definition at line 168 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnUsingDeclaration(), clang::Sema::DecomposeUnqualifiedId(), makeTemplateArgumentListInfo(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), clang::Parser::ParseUnqualifiedId(), and clang::Parser::TryAnnotateTypeOrScopeToken().
FIXME: Temporarily stores the name of a specialization.
Definition at line 154 of file ParsedTemplate.h.
Referenced by clang::Sema::GetNameFromUnqualifiedId(), and clang::Parser::ParseUnqualifiedId().
NumArgs - The number of template arguments.
Definition at line 175 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnPseudoDestructorExpr(), Allocate(), clang::Sema::DecomposeUnqualifiedId(), makeTemplateArgumentListInfo(), and clang::Parser::TryAnnotateTypeOrScopeToken().
FIXME: Temporarily stores the overloaded operator kind.
Definition at line 157 of file ParsedTemplate.h.
The location of the '>' after the template argument list.
Definition at line 172 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnUsingDeclaration(), clang::Sema::DecomposeUnqualifiedId(), makeTemplateArgumentListInfo(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), clang::Parser::ParseUnqualifiedId(), clang::UnqualifiedId::setConstructorTemplateId(), clang::UnqualifiedId::setTemplateId(), and clang::Parser::TryAnnotateTypeOrScopeToken().
The nested-name-specifier that precedes the template name.
Definition at line 143 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnPseudoDestructorExpr(), Allocate(), and Destroy().
The declaration of the template corresponding to the template-name.
Definition at line 161 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::DecomposeUnqualifiedId(), clang::Sema::GetNameFromUnqualifiedId(), and clang::Parser::TryAnnotateTypeOrScopeToken().
TemplateKWLoc - The location of the template keyword within the source.
Definition at line 147 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnPseudoDestructorExpr(), clang::Parser::ParseUnqualifiedId(), and clang::Parser::TryAnnotateTypeOrScopeToken().
TemplateNameLoc - The location of the template name within the source.
Definition at line 151 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::DecomposeUnqualifiedId(), clang::Sema::GetNameFromUnqualifiedId(), clang::Parser::ParseUnqualifiedId(), clang::UnqualifiedId::setConstructorTemplateId(), clang::UnqualifiedId::setTemplateId(), and clang::Parser::TryAnnotateTypeOrScopeToken().