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:
Method Overview
- public static bool KeywordIsTagTypeKind(clang::ElaboratedTypeKeyword Keyword)
- protected TypeWithKeyword(clang::ElaboratedTypeKeyword Keyword, clang::Type::TypeClass tc, clang::QualType Canonical, clang::TypeDependence Dependence)
- public static clang::TypeWithKeyword::CannotCastToThisType classof(const clang::Type *)
- public clang::ElaboratedTypeKeyword getKeyword() const
- public static clang::ElaboratedTypeKeyword getKeywordForTagTypeKind(clang::TagTypeKind Tag)
- public static clang::ElaboratedTypeKeyword getKeywordForTypeSpec(unsigned int TypeSpec)
- public static llvm::StringRef getKeywordName(clang::ElaboratedTypeKeyword Keyword)
- public static clang::TagTypeKind getTagTypeKindForKeyword(clang::ElaboratedTypeKeyword Keyword)
- public static clang::TagTypeKind getTagTypeKindForTypeSpec(unsigned int TypeSpec)
- public static llvm::StringRef getTagTypeKindName(clang::TagTypeKind Kind)
Inherited from Type:
- public acceptsObjCTypeParams
- protected addDependence
- public canDecayToPointerType
- public canHaveNullability
- public castAs
- public castAsArrayTypeUnsafe
- public containsErrors
- public containsUnexpandedParameterPack
- public dump
- public dump
- public getArrayElementTypeNoTypeQual
- public getAs
- public getAsAdjusted
- public getAsArrayTypeUnsafe
- public getAsCXXRecordDecl
- public getAsComplexIntegerType
- public getAsObjCInterfacePointerType
- public getAsObjCInterfaceType
- public getAsObjCQualifiedClassType
- public getAsObjCQualifiedIdType
- public getAsObjCQualifiedInterfaceType
- public getAsPlaceholderType
- public getAsRecordDecl
- public getAsStructureType
- public getAsTagDecl
- public getAsUnionType
- public getBaseElementTypeUnsafe
- public getCanonicalTypeInternal
- public getCanonicalTypeUnqualified
- public getContainedAutoType
- public getContainedDeducedType
- public getDependence
- public getLinkage
- public getLinkageAndVisibility
- public getLocallyUnqualifiedSingleStepDesugaredType
- public getNullability
- public getObjCARCImplicitLifetime
- public getObjCSubstitutions
- public getPointeeCXXRecordDecl
- public getPointeeOrArrayElementType
- public getPointeeType
- public getScalarTypeKind
- public getSveEltType
- public getTypeClass
- public getTypeClassName
- public getUnqualifiedDesugaredType
- public getVisibility
- public hasAttr
- public hasAutoForTrailingReturnType
- public hasFloatingRepresentation
- public hasIntegerRepresentation
- public hasObjCPointerRepresentation
- public hasPointerRepresentation
- public hasSignedIntegerRepresentation
- public hasSizedVLAType
- public hasUnnamedOrLocalType
- public hasUnsignedIntegerRepresentation
- public isAggregateType
- public isAlignValT
- public isAnyCharacterType
- public isAnyComplexType
- public isAnyPointerType
- public isArithmeticType
- public isArrayType
- public isAtomicType
- public isBFloat16Type
- public isBitIntType
- public isBlockCompatibleObjCPointerType
- public isBlockPointerType
- public isBooleanType
- public isBuiltinType
- public isCARCBridgableType
- public isCUDADeviceBuiltinSurfaceType
- public isCUDADeviceBuiltinTextureType
- public isCanonicalUnqualified
- public isChar16Type
- public isChar32Type
- public isChar8Type
- public isCharType
- public isClassType
- public isClkEventT
- public isComplexIntegerType
- public isComplexType
- public isCompoundType
- public isConstantArrayType
- public isConstantMatrixType
- public isConstantSizeType
- public isDecltypeType
- public isDependentAddressSpaceType
- public isDependentSizedArrayType
- public isDependentType
- public isElaboratedTypeSpecifier
- public isEnumeralType
- public isEventT
- public isExtVectorBoolType
- public isExtVectorType
- public isFixedPointOrIntegerType
- public isFixedPointType
- public isFloat128Type
- public isFloat16Type
- public isFloatingType
- public isFromAST
- public isFunctionNoProtoType
- public isFunctionPointerType
- public isFunctionProtoType
- public isFunctionReferenceType
- public isFunctionType
- public isFundamentalType
- public isHalfType
- public isIbm128Type
- public isImageType
- public isIncompleteArrayType
- public isIncompleteOrObjectType
- public isIncompleteType
- public isInstantiationDependentType
- public isIntegerType
- public isIntegralOrEnumerationType
- public isIntegralOrUnscopedEnumerationType
- public isIntegralType
- public isInterfaceType
- public isLValueReferenceType
- public isLinkageValid
- public isLiteralType
- public isMatrixType
- public isMemberDataPointerType
- public isMemberFunctionPointerType
- public isMemberPointerType
- public isNonOverloadPlaceholderType
- public isNothrowT
- public isNullPtrType
- public isOCLExtOpaqueType
- public isOCLIntelSubgroupAVCType
- public isObjCARCBridgableType
- public isObjCARCImplicitlyUnretainedType
- public isObjCBoxableRecordType
- public isObjCBuiltinType
- public isObjCClassOrClassKindOfType
- public isObjCClassType
- public isObjCIdOrObjectKindOfType
- public isObjCIdType
- public isObjCIndependentClassType
- public isObjCIndirectLifetimeType
- public isObjCInertUnsafeUnretainedType
- public isObjCLifetimeType
- public isObjCNSObjectType
- public isObjCObjectOrInterfaceType
- public isObjCObjectPointerType
- public isObjCObjectType
- public isObjCQualifiedClassType
- public isObjCQualifiedIdType
- public isObjCQualifiedInterfaceType
- public isObjCRetainableType
- public isObjCSelType
- public isObjectPointerType
- public isObjectType
- public isOpenCLSpecificType
- public isOverloadableType
- public isPipeType
- public isPlaceholderType
- public isPointerType
- public isPromotableIntegerType
- public isQueueT
- public isRValueReferenceType
- public isRealFloatingType
- public isRealType
- public isRecordType
- public isReferenceType
- public isReserveIDT
- public isSamplerT
- public isSaturatedFixedPointType
- public isScalarType
- public isScopedEnumeralType
- public isSignedFixedPointType
- public isSignedIntegerOrEnumerationType
- public isSignedIntegerType
- public isSizelessBuiltinType
- public isSizelessType
- public isSpecificBuiltinType
- public isSpecificPlaceholderType
- public isSpecifierType
- public isStandardLayoutType
- public isStdByteType
- public isStructuralType
- public isStructureOrClassType
- public isStructureType
- public isTemplateTypeParmType
- public isTypedefNameType
- public isUndeducedAutoType
- public isUndeducedType
- public isUnionType
- public isUnsaturatedFixedPointType
- public isUnscopedEnumerationType
- public isUnsignedFixedPointType
- public isUnsignedIntegerOrEnumerationType
- public isUnsignedIntegerType
- public isVLSTBuiltinType
- public isVariableArrayType
- public isVariablyModifiedType
- public isVectorType
- public isVisibilityExplicit
- public isVoidPointerType
- public isVoidType
- public isWideCharType
- protected setDependence
- protected this_
Inherited from ExtQualsTypeCommonBase:
Methods
¶static bool KeywordIsTagTypeKind(
clang::ElaboratedTypeKeyword Keyword)
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)
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*)
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
clang::ElaboratedTypeKeyword getKeyword() const
Declared at: clang/include/clang/AST/Type.h:5499
¶static clang::ElaboratedTypeKeyword
getKeywordForTagTypeKind(clang::TagTypeKind Tag)
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)
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)
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)
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)
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)
static llvm::StringRef getTagTypeKindName(
clang::TagTypeKind Kind)
Declared at: clang/include/clang/AST/Type.h:5522
Parameters
- clang::TagTypeKind Kind