clang API Documentation
Represents a type that was referred to using an elaborated type keyword, e.g., struct S, or via a qualified name, e.g., N::M::type, or both. More...
#include <Type.h>
Public Member Functions | |
~ElaboratedType () | |
NestedNameSpecifier * | getQualifier () const |
Retrieve the qualification on this type. | |
QualType | getNamedType () const |
Retrieve the type named by the qualified-id. | |
QualType | desugar () const |
Remove a single level of sugar. | |
bool | isSugared () const |
Returns whether this type directly provides sugar. | |
void | Profile (llvm::FoldingSetNodeID &ID) |
Static Public Member Functions | |
static void | Profile (llvm::FoldingSetNodeID &ID, ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS, QualType NamedType) |
static bool | classof (const Type *T) |
Friends | |
class | ASTContext |
Represents a type that was referred to using an elaborated type keyword, e.g., struct S, or via a qualified name, e.g., N::M::type, or both.
This type is used to keep track of a type name as written in the source code, including tag keywords and any nested-name-specifiers. The type itself is always "sugar", used to express what was written in the source code but containing no additional semantic information.
static bool clang::ElaboratedType::classof | ( | const Type * | T | ) | [inline, static] |
Reimplemented from clang::TypeWithKeyword.
Definition at line 4070 of file Type.h.
References clang::Type::getTypeClass().
QualType clang::ElaboratedType::desugar | ( | ) | const [inline] |
QualType clang::ElaboratedType::getNamedType | ( | ) | const [inline] |
Retrieve the type named by the qualified-id.
Definition at line 4051 of file Type.h.
Referenced by IsStructurallyEquivalent(), and clang::ASTNodeImporter::VisitElaboratedType().
NestedNameSpecifier* clang::ElaboratedType::getQualifier | ( | ) | const [inline] |
Retrieve the qualification on this type.
Definition at line 4048 of file Type.h.
Referenced by IsStructurallyEquivalent(), and clang::ASTNodeImporter::VisitElaboratedType().
bool clang::ElaboratedType::isSugared | ( | ) | const [inline] |
void clang::ElaboratedType::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | [inline] |
Definition at line 4059 of file Type.h.
Referenced by clang::ASTContext::getElaboratedType().
static void clang::ElaboratedType::Profile | ( | llvm::FoldingSetNodeID & | ID, |
ElaboratedTypeKeyword | Keyword, | ||
NestedNameSpecifier * | NNS, | ||
QualType | NamedType | ||
) | [inline, static] |
Definition at line 4063 of file Type.h.
References clang::QualType::Profile().
friend class ASTContext [friend] |
Reimplemented from clang::Type.