clang API Documentation

Public Member Functions | Static Public Member Functions | Friends
clang::DependentNameType Class Reference

Represents a qualified type name for which the type name is dependent. More...

#include <Type.h>

Inheritance diagram for clang::DependentNameType:
Inheritance graph
[legend]
Collaboration diagram for clang::DependentNameType:
Collaboration graph
[legend]

List of all members.

Public Member Functions

NestedNameSpecifiergetQualifier () const
 Retrieve the qualification on this type.
const IdentifierInfogetIdentifier () const
 Retrieve the type named by the typename specifier as an identifier.
bool isSugared () const
QualType desugar () const
void Profile (llvm::FoldingSetNodeID &ID)

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &ID, ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS, const IdentifierInfo *Name)
static bool classof (const Type *T)

Friends

class ASTContext

Detailed Description

Represents a qualified type name for which the type name is dependent.

DependentNameType represents a class of dependent types that involve a possibly dependent nested-name-specifier (e.g., "T::") followed by a name of a type. The DependentNameType may start with a "typename" (for a typename-specifier), "class", "struct", "union", or "enum" (for a dependent elaborated-type-specifier), or nothing (in contexts where we know that we must be referring to a type, e.g., in a base class specifier). Typically the nested-name-specifier is dependent, but in MSVC compatibility mode, this type is used with non-dependent names to delay name lookup until instantiation.

Definition at line 4087 of file Type.h.


Member Function Documentation

static bool clang::DependentNameType::classof ( const Type T) [inline, static]

Reimplemented from clang::TypeWithKeyword.

Definition at line 4133 of file Type.h.

References clang::Type::getTypeClass().

Definition at line 4120 of file Type.h.

Retrieve the type named by the typename specifier as an identifier.

This routine will return a non-NULL identifier pointer when the form of the original typename was terminated by an identifier, e.g., "typename T::type".

Definition at line 4115 of file Type.h.

Referenced by IsStructurallyEquivalent().

Retrieve the qualification on this type.

Definition at line 4107 of file Type.h.

Referenced by IsStructurallyEquivalent().

Definition at line 4119 of file Type.h.

void clang::DependentNameType::Profile ( llvm::FoldingSetNodeID &  ID) [inline]

Definition at line 4122 of file Type.h.

Referenced by clang::ASTContext::getDependentNameType().

static void clang::DependentNameType::Profile ( llvm::FoldingSetNodeID &  ID,
ElaboratedTypeKeyword  Keyword,
NestedNameSpecifier NNS,
const IdentifierInfo Name 
) [inline, static]

Definition at line 4126 of file Type.h.


Friends And Related Function Documentation

friend class ASTContext [friend]

Reimplemented from clang::Type.

Definition at line 4103 of file Type.h.


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