clang API Documentation
Represents a qualified type name for which the type name is dependent. More...
#include <Type.h>


Public Member Functions | |
| NestedNameSpecifier * | getQualifier () const |
| Retrieve the qualification on this type. | |
| const IdentifierInfo * | getIdentifier () 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 |
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.
| 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().
| QualType clang::DependentNameType::desugar | ( | ) | const [inline] |
| const IdentifierInfo* clang::DependentNameType::getIdentifier | ( | ) | const [inline] |
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().
| NestedNameSpecifier* clang::DependentNameType::getQualifier | ( | ) | const [inline] |
Retrieve the qualification on this type.
Definition at line 4107 of file Type.h.
Referenced by IsStructurallyEquivalent().
| bool clang::DependentNameType::isSugared | ( | ) | const [inline] |
| 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] |
friend class ASTContext [friend] |
Reimplemented from clang::Type.