clang API Documentation

Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions
clang::TypeWithKeyword Class Reference

#include <Type.h>

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

List of all members.

Classes

class  CannotCastToThisType

Public Member Functions

ElaboratedTypeKeyword getKeyword () const

Static Public Member Functions

static ElaboratedTypeKeyword getKeywordForTypeSpec (unsigned TypeSpec)
static TagTypeKind getTagTypeKindForTypeSpec (unsigned TypeSpec)
static ElaboratedTypeKeyword getKeywordForTagTypeKind (TagTypeKind Tag)
static TagTypeKind getTagTypeKindForKeyword (ElaboratedTypeKeyword Keyword)
 getTagTypeKindForKeyword - Converts an elaborated type keyword into
static bool KeywordIsTagTypeKind (ElaboratedTypeKeyword Keyword)
static StringRef getKeywordName (ElaboratedTypeKeyword Keyword)
static StringRef getTagTypeKindName (TagTypeKind Kind)
static CannotCastToThisType classof (const Type *)

Protected Member Functions

 TypeWithKeyword (ElaboratedTypeKeyword Keyword, TypeClass tc, QualType Canonical, bool Dependent, bool InstantiationDependent, bool VariablyModified, bool ContainsUnexpandedParameterPack)

Detailed Description

A helper class for Type nodes having an ElaboratedTypeKeyword. The keyword in stored in the free bits of the base class. Also provides a few static helpers for converting and printing elaborated type keyword and tag type kind enumerations.

Definition at line 3967 of file Type.h.


Constructor & Destructor Documentation

clang::TypeWithKeyword::TypeWithKeyword ( ElaboratedTypeKeyword  Keyword,
TypeClass  tc,
QualType  Canonical,
bool  Dependent,
bool  InstantiationDependent,
bool  VariablyModified,
bool  ContainsUnexpandedParameterPack 
) [inline, protected]

Definition at line 3969 of file Type.h.


Member Function Documentation

StringRef TypeWithKeyword::getKeywordName ( ElaboratedTypeKeyword  Keyword) [static]

getTagTypeKindForKeyword - Converts an elaborated type keyword into

which *isn't* a tag kind here.

Definition at line 1405 of file Type.cpp.

References clang::ETK_Class, clang::ETK_Enum, clang::ETK_Interface, clang::ETK_None, clang::ETK_Struct, clang::ETK_Typename, clang::ETK_Union, clang::TTK_Class, clang::TTK_Enum, clang::TTK_Interface, clang::TTK_Struct, and clang::TTK_Union.

Referenced by clang::TreeTransform< Derived >::RebuildDependentNameType().

static StringRef clang::TypeWithKeyword::getTagTypeKindName ( TagTypeKind  Kind) [inline, static]

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