class TypeWithKeyword

Declaration

class TypeWithKeyword : public Type { /* full declaration omitted */ };

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.

Declared at: clang/include/clang/AST/Type.h:5490

Inherits from: Type

Member Variables

Inherited from Type:

protected

Method Overview

Inherited from Type:

Inherited from ExtQualsTypeCommonBase:

    Methods

    static bool KeywordIsTagTypeKind(
        clang::ElaboratedTypeKeyword Keyword)

    Declared at: clang/include/clang/AST/Type.h:5518

    Parameters

    clang::ElaboratedTypeKeyword Keyword

    TypeWithKeyword(
        clang::ElaboratedTypeKeyword Keyword,
        clang::Type::TypeClass tc,
        clang::QualType Canonical,
        clang::TypeDependence Dependence)

    Declared at: clang/include/clang/AST/Type.h:5492

    Parameters

    clang::ElaboratedTypeKeyword Keyword
    clang::Type::TypeClass tc
    clang::QualType Canonical
    clang::TypeDependence Dependence

    static clang::TypeWithKeyword::
        CannotCastToThisType
        classof(const clang::Type*)

    Declared at: clang/include/clang/AST/Type.h:5527

    Parameters

    const clang::Type*

    clang::ElaboratedTypeKeyword getKeyword() const

    Declared at: clang/include/clang/AST/Type.h:5499

    static clang::ElaboratedTypeKeyword
    getKeywordForTagTypeKind(clang::TagTypeKind Tag)

    Description

    Converts a TagTypeKind into an elaborated type keyword.

    Declared at: clang/include/clang/AST/Type.h:5511

    Parameters

    clang::TagTypeKind Tag

    static clang::ElaboratedTypeKeyword
    getKeywordForTypeSpec(unsigned int TypeSpec)

    Description

    Converts a type specifier (DeclSpec::TST) into an elaborated type keyword.

    Declared at: clang/include/clang/AST/Type.h:5504

    Parameters

    unsigned int TypeSpec

    static llvm::StringRef getKeywordName(
        clang::ElaboratedTypeKeyword Keyword)

    Declared at: clang/include/clang/AST/Type.h:5520

    Parameters

    clang::ElaboratedTypeKeyword Keyword

    static clang::TagTypeKind
    getTagTypeKindForKeyword(
        clang::ElaboratedTypeKeyword Keyword)

    Description

    Converts an elaborated type keyword into a TagTypeKind. It is an error to provide an elaborated type keyword which *isn't* a tag kind here.

    Declared at: clang/include/clang/AST/Type.h:5516

    Parameters

    clang::ElaboratedTypeKeyword Keyword

    static clang::TagTypeKind
    getTagTypeKindForTypeSpec(unsigned int TypeSpec)

    Description

    Converts a type specifier (DeclSpec::TST) into a tag type kind. It is an error to provide a type specifier which *isn't* a tag kind here.

    Declared at: clang/include/clang/AST/Type.h:5508

    Parameters

    unsigned int TypeSpec

    static llvm::StringRef getTagTypeKindName(
        clang::TagTypeKind Kind)

    Declared at: clang/include/clang/AST/Type.h:5522

    Parameters

    clang::TagTypeKind Kind