clang
8.0.0
|
Information about a template-id annotation token. More...
#include "clang/Sema/ParsedTemplate.h"
Public Member Functions | |
ParsedTemplateArgument * | getTemplateArgs () |
Retrieves a pointer to the template arguments. More... | |
void | Destroy () |
Static Public Member Functions | |
static TemplateIdAnnotation * | Create (CXXScopeSpec SS, SourceLocation TemplateKWLoc, SourceLocation TemplateNameLoc, IdentifierInfo *Name, OverloadedOperatorKind OperatorKind, ParsedTemplateTy OpaqueTemplateName, TemplateNameKind TemplateKind, SourceLocation LAngleLoc, SourceLocation RAngleLoc, ArrayRef< ParsedTemplateArgument > TemplateArgs, SmallVectorImpl< TemplateIdAnnotation *> &CleanupList) |
Creates a new TemplateIdAnnotation with NumArgs arguments and appends it to List. More... | |
Public Attributes | |
friend | TrailingObjects |
CXXScopeSpec | SS |
The nested-name-specifier that precedes the template name. More... | |
SourceLocation | TemplateKWLoc |
TemplateKWLoc - The location of the template keyword. 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 195 of file ParsedTemplate.h.
|
inline |
Definition at line 211 of file ParsedTemplate.h.
|
inline |
Retrieves a pointer to the template arguments.
Definition at line 188 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::DecomposeUnqualifiedId(), makeTemplateArgumentListInfo(), and clang::Parser::TryAnnotateTypeOrScopeToken().
TemplateNameKind clang::TemplateIdAnnotation::Kind |
The kind of template that Template refers to.
Definition at line 174 of file ParsedTemplate.h.
Referenced by clang::Parser::TryAnnotateTypeOrScopeToken(), and clang::Parser::TryAnnotateTypeOrScopeTokenAfterScopeSpec().
SourceLocation clang::TemplateIdAnnotation::LAngleLoc |
The location of the '<' before the template argument list.
Definition at line 178 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::DecomposeUnqualifiedId(), makeTemplateArgumentListInfo(), clang::Parser::ParseUnqualifiedId(), and clang::Parser::TryAnnotateTypeOrScopeToken().
IdentifierInfo* clang::TemplateIdAnnotation::Name |
FIXME: Temporarily stores the name of a specialization.
Definition at line 164 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnPseudoDestructorExpr(), clang::Parser::ParseUnqualifiedId(), and clang::Parser::TryAnnotateTypeOrScopeToken().
unsigned clang::TemplateIdAnnotation::NumArgs |
NumArgs - The number of template arguments.
Definition at line 185 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::DecomposeUnqualifiedId(), makeTemplateArgumentListInfo(), and clang::Parser::TryAnnotateTypeOrScopeToken().
OverloadedOperatorKind clang::TemplateIdAnnotation::Operator |
FIXME: Temporarily stores the overloaded operator kind.
Definition at line 167 of file ParsedTemplate.h.
SourceLocation clang::TemplateIdAnnotation::RAngleLoc |
The location of the '>' after the template argument list.
Definition at line 182 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::DecomposeUnqualifiedId(), makeTemplateArgumentListInfo(), 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 153 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), and clang::Sema::ActOnPseudoDestructorExpr().
ParsedTemplateTy clang::TemplateIdAnnotation::Template |
The declaration of the template corresponding to the template-name.
Definition at line 171 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::DecomposeUnqualifiedId(), and clang::Parser::TryAnnotateTypeOrScopeToken().
SourceLocation clang::TemplateIdAnnotation::TemplateKWLoc |
TemplateKWLoc - The location of the template keyword.
For e.g. typename T::template Y<U>
Definition at line 157 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 161 of file ParsedTemplate.h.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::DecomposeUnqualifiedId(), clang::Parser::ParseUnqualifiedId(), clang::UnqualifiedId::setConstructorTemplateId(), clang::UnqualifiedId::setTemplateId(), and clang::Parser::TryAnnotateTypeOrScopeToken().
friend clang::TemplateIdAnnotation::TrailingObjects |
Definition at line 151 of file ParsedTemplate.h.