clang
9.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 147 of file ParsedTemplate.h.
|
inlinestatic |
Creates a new TemplateIdAnnotation with NumArgs arguments and appends it to List.
Definition at line 194 of file ParsedTemplate.h.
|
inline |
Definition at line 210 of file ParsedTemplate.h.
|
inline |
Retrieves a pointer to the template arguments.
Definition at line 187 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 173 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 177 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 163 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 184 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 166 of file ParsedTemplate.h.
SourceLocation clang::TemplateIdAnnotation::RAngleLoc |
The location of the '>' after the template argument list.
Definition at line 181 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 152 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 170 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 156 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 160 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 150 of file ParsedTemplate.h.