clang
3.9.0
|
Information about a template-id annotation token. More...
#include <ParsedTemplate.h>
Public Member Functions | |
ParsedTemplateArgument * | getTemplateArgs () |
Retrieves a pointer to the template arguments. More... | |
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. More... | |
Public Attributes | |
CXXScopeSpec | SS |
The nested-name-specifier that precedes the template name. More... | |
SourceLocation | TemplateKWLoc |
TemplateKWLoc - The location of the template keyword within the source. More... | |
SourceLocation | TemplateNameLoc |
TemplateNameLoc - The location of the template name within the source. More... | |
IdentifierInfo * | Name |
FIXME: Temporarily stores the name of a specialization. More... | |
OverloadedOperatorKind | Operator |
FIXME: Temporarily stores the overloaded operator kind. More... | |
ParsedTemplateTy | Template |
The declaration of the template corresponding to the template-name. More... | |
TemplateNameKind | Kind |
The kind of template that Template refers to. More... | |
SourceLocation | LAngleLoc |
The location of the '<' before the template argument list. More... | |
SourceLocation | RAngleLoc |
The location of the '>' after the template argument list. More... | |
unsigned | NumArgs |
NumArgs - The number of template arguments. More... | |
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 148 of file ParsedTemplate.h.
|
inlinestatic |
Creates a new TemplateIdAnnotation with NumArgs arguments and appends it to List.
Definition at line 192 of file ParsedTemplate.h.
References getTemplateArgs(), I, NumArgs, and SS.
|
inline |
Definition at line 210 of file ParsedTemplate.h.
References SS.
|
inline |
Retrieves a pointer to the template arguments.
Definition at line 185 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnPseudoDestructorExpr(), Allocate(), clang::Sema::DecomposeUnqualifiedId(), makeTemplateArgumentListInfo(), and clang::Parser::TryAnnotateTypeOrScopeToken().
TemplateNameKind clang::TemplateIdAnnotation::Kind |
The kind of template that Template refers to.
Definition at line 171 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnIdExpression(), clang::Parser::TryAnnotateTypeOrScopeToken(), and clang::Parser::TryAnnotateTypeOrScopeTokenAfterScopeSpec().
SourceLocation clang::TemplateIdAnnotation::LAngleLoc |
The location of the '<' before the template argument list.
Definition at line 175 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().
IdentifierInfo* clang::TemplateIdAnnotation::Name |
FIXME: Temporarily stores the name of a specialization.
Definition at line 161 of file ParsedTemplate.h.
Referenced by clang::Sema::GetNameFromUnqualifiedId(), and clang::Parser::ParseUnqualifiedId().
unsigned clang::TemplateIdAnnotation::NumArgs |
NumArgs - The number of template arguments.
Definition at line 182 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnPseudoDestructorExpr(), Allocate(), clang::Sema::DecomposeUnqualifiedId(), makeTemplateArgumentListInfo(), and clang::Parser::TryAnnotateTypeOrScopeToken().
OverloadedOperatorKind clang::TemplateIdAnnotation::Operator |
FIXME: Temporarily stores the overloaded operator kind.
Definition at line 164 of file ParsedTemplate.h.
SourceLocation clang::TemplateIdAnnotation::RAngleLoc |
The location of the '>' after the template argument list.
Definition at line 179 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().
CXXScopeSpec clang::TemplateIdAnnotation::SS |
The nested-name-specifier that precedes the template name.
Definition at line 150 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnPseudoDestructorExpr(), Allocate(), and Destroy().
ParsedTemplateTy clang::TemplateIdAnnotation::Template |
The declaration of the template corresponding to the template-name.
Definition at line 168 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::DecomposeUnqualifiedId(), clang::Sema::GetNameFromUnqualifiedId(), and clang::Parser::TryAnnotateTypeOrScopeToken().
SourceLocation clang::TemplateIdAnnotation::TemplateKWLoc |
TemplateKWLoc - The location of the template keyword within the source.
Definition at line 154 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnPseudoDestructorExpr(), clang::Parser::ParseUnqualifiedId(), and clang::Parser::TryAnnotateTypeOrScopeToken().
SourceLocation clang::TemplateIdAnnotation::TemplateNameLoc |
TemplateNameLoc - The location of the template name within the source.
Definition at line 158 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().