clang API Documentation

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

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>

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

List of all members.

Public Member Functions

 ~ElaboratedType ()
NestedNameSpecifiergetQualifier () 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

Detailed Description

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.

Definition at line 4021 of file Type.h.


Constructor & Destructor Documentation


Member Function Documentation

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

Remove a single level of sugar.

Definition at line 4054 of file Type.h.

Retrieve the type named by the qualified-id.

Definition at line 4051 of file Type.h.

Referenced by IsStructurallyEquivalent(), and clang::ASTNodeImporter::VisitElaboratedType().

Retrieve the qualification on this type.

Definition at line 4048 of file Type.h.

Referenced by IsStructurallyEquivalent(), and clang::ASTNodeImporter::VisitElaboratedType().

Returns whether this type directly provides sugar.

Definition at line 4057 of file Type.h.

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


Friends And Related Function Documentation

friend class ASTContext [friend]

Reimplemented from clang::Type.

Definition at line 4042 of file Type.h.


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