clang API Documentation

Public Member Functions | Static Public Member Functions | Public Attributes
clang::TemplateIdAnnotation Struct Reference

Information about a template-id annotation token. More...

#include <ParsedTemplate.h>

Collaboration diagram for clang::TemplateIdAnnotation:
Collaboration graph
[legend]

List of all members.

Public Member Functions

ParsedTemplateArgumentgetTemplateArgs ()
 Retrieves a pointer to the template arguments.
void Destroy ()

Static Public Member Functions

static TemplateIdAnnotationAllocate (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
IdentifierInfoName
 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.

Detailed Description

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.


Member Function Documentation

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.

Definition at line 203 of file ParsedTemplate.h.

References SS.


Member Data Documentation

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().

FIXME: Temporarily stores the overloaded operator kind.

Definition at line 157 of file ParsedTemplate.h.

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().

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().


The documentation for this struct was generated from the following file: