A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/classclang_1_1Type.html below:

clang: clang::Type Class Reference

The base class of the type hierarchy. More...

#include "clang/AST/Type.h"

  Type (const Type &)=delete     Type (Type &&)=delete   Typeoperator= (const Type &)=delete   Typeoperator= (Type &&)=delete   TypeClass  getTypeClass () const   bool  isFromAST () const   Whether this type comes from an AST file.
  bool  containsUnexpandedParameterPack () const   Whether this type is or contains an unexpanded parameter pack, used to support C++0x variadic templates.
  bool  isCanonicalUnqualified () const   Determines if this type would be canonical if it had no further qualification.
  QualType  getLocallyUnqualifiedSingleStepDesugaredType () const   Pull a single level of sugar off of this locally-unqualified type.
  bool  isSizelessType () const   As an extension, we classify types as one of "sized" or "sizeless"; every type is one or the other.
  bool  isSizelessBuiltinType () const   bool  isSizelessVectorType () const   Returns true for all scalable vector types.
  bool  isSVESizelessBuiltinType () const   Returns true for SVE scalable vector types.
  bool  isRVVSizelessBuiltinType () const   Returns true for RVV scalable vector types.
  bool  isWebAssemblyExternrefType () const   Check if this is a WebAssembly Externref Type.
  bool  isWebAssemblyTableType () const   Returns true if this is a WebAssembly table type: either an array of reference types, or a pointer to a reference type (which can only be created by array to pointer decay).
  bool  isSveVLSBuiltinType () const   Determines if this is a sizeless type supported by the 'arm_sve_vector_bits' type attribute, which can be applied to a single SVE vector or predicate, excluding tuple types such as svint32x4_t.
  QualType  getSveEltType (const ASTContext &Ctx) const   Returns the representative type for the element of an SVE builtin type.
  bool  isRVVVLSBuiltinType () const   Determines if this is a sizeless type supported by the 'riscv_rvv_vector_bits' type attribute, which can be applied to a single RVV vector or mask.
  QualType  getRVVEltType (const ASTContext &Ctx) const   Returns the representative type for the element of an RVV builtin type.
  QualType  getSizelessVectorEltType (const ASTContext &Ctx) const   Returns the representative type for the element of a sizeless vector builtin type.
  bool  isIncompleteType (NamedDecl **Def=nullptr) const   Types are partitioned into 3 broad categories (C99 6.2.5p1): object types, function types, and incomplete types.
  bool  isIncompleteOrObjectType () const   Return true if this is an incomplete or object type, in other words, not a function type.
  bool  isObjectType () const   Determine whether this type is an object type.
  bool  isLiteralType (const ASTContext &Ctx) const   Return true if this is a literal type (C++11 [basic.types]p10)
  bool  isStructuralType () const   Determine if this type is a structural type, per C++20 [temp.param]p7.
  bool  isStandardLayoutType () const   Test if this type is a standard-layout type.
  bool  isBuiltinType () const   Helper methods to distinguish type categories.
  bool  isSpecificBuiltinType (unsigned K) const   Test for a particular builtin type.
  bool  isPlaceholderType () const   Test for a type which does not represent an actual type-system type but is instead used as a placeholder for various convenient purposes within Clang.
  const BuiltinTypegetAsPlaceholderType () const   bool  isSpecificPlaceholderType (unsigned K) const   Test for a specific placeholder type.
  bool  isNonOverloadPlaceholderType () const   Test for a placeholder type other than Overload; see BuiltinType::isNonOverloadPlaceholderType.
  bool  isIntegerType () const   isIntegerType() does not include complex integers (a GCC extension).
  bool  isEnumeralType () const   bool  isScopedEnumeralType () const   Determine whether this type is a scoped enumeration type.
  bool  isBooleanType () const   bool  isCharType () const   bool  isWideCharType () const   bool  isChar8Type () const   bool  isChar16Type () const   bool  isChar32Type () const   bool  isAnyCharacterType () const   Determine whether this type is any of the built-in character types.
  bool  isIntegralType (const ASTContext &Ctx) const   Determine whether this type is an integral type.
  bool  isIntegralOrEnumerationType () const   Determine whether this type is an integral or enumeration type.
  bool  isIntegralOrUnscopedEnumerationType () const   Determine whether this type is an integral or unscoped enumeration type.
  bool  isUnscopedEnumerationType () const   bool  isRealFloatingType () const   Floating point categories.
  bool  isComplexType () const   isComplexType() does not include complex integers (a GCC extension).
  bool  isAnyComplexType () const   bool  isFloatingType () const   bool  isHalfType () const   bool  isFloat16Type () const   bool  isFloat32Type () const   bool  isDoubleType () const   bool  isBFloat16Type () const   bool  isMFloat8Type () const   bool  isFloat128Type () const   bool  isIbm128Type () const   bool  isRealType () const   bool  isArithmeticType () const   bool  isVoidType () const   bool  isScalarType () const   bool  isAggregateType () const   Determines whether the type is a C++ aggregate type or C aggregate or union type.
  bool  isFundamentalType () const   Tests whether the type is categorized as a fundamental type.
  bool  isCompoundType () const   Tests whether the type is categorized as a compound type.
  bool  isFunctionType () const   bool  isFunctionNoProtoType () const   bool  isFunctionProtoType () const   bool  isPointerType () const   bool  isPointerOrReferenceType () const   bool  isSignableType () const   bool  isAnyPointerType () const   bool  isCountAttributedType () const   bool  isBlockPointerType () const   bool  isVoidPointerType () const   bool  isReferenceType () const   bool  isLValueReferenceType () const   bool  isRValueReferenceType () const   bool  isObjectPointerType () const   bool  isFunctionPointerType () const   bool  isFunctionReferenceType () const   bool  isMemberPointerType () const   bool  isMemberFunctionPointerType () const   bool  isMemberDataPointerType () const   bool  isArrayType () const   bool  isConstantArrayType () const   bool  isIncompleteArrayType () const   bool  isVariableArrayType () const   bool  isArrayParameterType () const   bool  isDependentSizedArrayType () const   bool  isRecordType () const   bool  isClassType () const   bool  isStructureType () const   bool  isStructureTypeWithFlexibleArrayMember () const   bool  isObjCBoxableRecordType () const   bool  isInterfaceType () const   bool  isStructureOrClassType () const   bool  isUnionType () const   bool  isComplexIntegerType () const   bool  isVectorType () const   bool  isExtVectorType () const   bool  isExtVectorBoolType () const   bool  isSubscriptableVectorType () const   bool  isMatrixType () const   bool  isConstantMatrixType () const   bool  isDependentAddressSpaceType () const   bool  isObjCObjectPointerType () const   bool  isObjCRetainableType () const   bool  isObjCLifetimeType () const   Returns true if objects of this type have lifetime semantics under ARC.
  bool  isObjCIndirectLifetimeType () const   bool  isObjCNSObjectType () const   bool  isObjCIndependentClassType () const   bool  isObjCObjectType () const   bool  isObjCQualifiedInterfaceType () const   bool  isObjCQualifiedIdType () const   bool  isObjCQualifiedClassType () const   bool  isObjCObjectOrInterfaceType () const   bool  isObjCIdType () const   bool  isDecltypeType () const   bool  isObjCInertUnsafeUnretainedType () const   Was this type written with the special inert-in-ARC __unsafe_unretained qualifier?
  bool  isObjCIdOrObjectKindOfType (const ASTContext &ctx, const ObjCObjectType *&bound) const   Whether the type is Objective-C 'id' or a __kindof type of an object type, e.g., __kindof NSView * or __kindof id <NSCopying>.
  bool  isObjCClassType () const   bool  isObjCClassOrClassKindOfType () const   Whether the type is Objective-C 'Class' or a __kindof type of an Class type, e.g., __kindof Class <NSCopying>.
  bool  isBlockCompatibleObjCPointerType (ASTContext &ctx) const   bool  isObjCSelType () const   bool  isObjCBuiltinType () const   bool  isObjCARCBridgableType () const   Determine whether the given type T is a "bridgable" Objective-C type, which is either an Objective-C object pointer type or an.
  bool  isCARCBridgableType () const   Determine whether the given type T is a "bridgeable" C type.
  bool  isTemplateTypeParmType () const   bool  isNullPtrType () const   bool  isNothrowT () const   bool  isAlignValT () const   bool  isStdByteType () const   bool  isAtomicType () const   bool  isUndeducedAutoType () const   bool  isTypedefNameType () const   Determines whether this type is written as a typedef-name.
  bool  isImageType () const   bool  isSamplerT () const   bool  isEventT () const   bool  isClkEventT () const   bool  isQueueT () const   bool  isReserveIDT () const   bool  isOCLIntelSubgroupAVCType () const   bool  isOCLExtOpaqueType () const   bool  isPipeType () const   bool  isBitIntType () const   bool  isOpenCLSpecificType () const   bool  isHLSLSpecificType () const   bool  isHLSLBuiltinIntangibleType () const   bool  isHLSLAttributedResourceType () const   bool  isHLSLIntangibleType () const   bool  isObjCARCImplicitlyUnretainedType () const   Determines if this type, which must satisfy isObjCLifetimeType(), is implicitly __unsafe_unretained rather than implicitly __strong.
  bool  isCUDADeviceBuiltinSurfaceType () const   Check if the type is the CUDA device builtin surface type.
  bool  isCUDADeviceBuiltinTextureType () const   Check if the type is the CUDA device builtin texture type.
  Qualifiers::ObjCLifetime  getObjCARCImplicitLifetime () const   Return the implicit lifetime for this type, which must not be dependent.
  ScalarTypeKind  getScalarTypeKind () const   Given that this is a scalar type, classify it.
  TypeDependence  getDependence () const   bool  containsErrors () const   Whether this type is an error type.
  bool  isDependentType () const   Whether this type is a dependent type, meaning that its definition somehow depends on a template parameter (C++ [temp.dep.type]).
  bool  isInstantiationDependentType () const   Determine whether this type is an instantiation-dependent type, meaning that the type involves a template parameter (even if the definition does not actually depend on the type substituted for that template parameter).
  bool  isUndeducedType () const   Determine whether this type is an undeduced type, meaning that it somehow involves a C++11 'auto' type or similar which has not yet been deduced.
  bool  isVariablyModifiedType () const   Whether this type is a variably-modified type (C99 6.7.5).
  bool  hasSizedVLAType () const   Whether this type involves a variable-length array type with a definite size.
  bool  hasUnnamedOrLocalType () const   Whether this type is or contains a local or unnamed type.
  bool  isOverloadableType () const   Determines whether this is a type for which one can define an overloaded operator.
  bool  isElaboratedTypeSpecifier () const   Determine wither this type is a C++ elaborated-type-specifier.
  bool  canDecayToPointerType () const   Determines whether this type can decay to a pointer type.
  bool  hasPointerRepresentation () const   Whether this type is represented natively as a pointer.
  bool  hasObjCPointerRepresentation () const   Whether this type can represent an objective pointer type for the purpose of GC'ability.
  bool  hasIntegerRepresentation () const   Determine whether this type has an integer representation of some sort, e.g., it is an integer type or a vector.
  bool  hasSignedIntegerRepresentation () const   Determine whether this type has an signed integer representation of some sort, e.g., it is an signed integer type or a vector.
  bool  hasUnsignedIntegerRepresentation () const   Determine whether this type has an unsigned integer representation of some sort, e.g., it is an unsigned integer type or a vector.
  bool  hasFloatingRepresentation () const   Determine whether this type has a floating-point representation of some sort, e.g., it is a floating-point type or a vector thereof.
  const RecordTypegetAsStructureType () const   const RecordTypegetAsUnionType () const   NOTE: getAs*ArrayType are methods on ASTContext.
  const ComplexTypegetAsComplexIntegerType () const   const ObjCObjectTypegetAsObjCInterfaceType () const   const ObjCObjectPointerTypegetAsObjCInterfacePointerType () const   const ObjCObjectPointerTypegetAsObjCQualifiedIdType () const   const ObjCObjectPointerTypegetAsObjCQualifiedClassType () const   const ObjCObjectTypegetAsObjCQualifiedInterfaceType () const   CXXRecordDeclgetAsCXXRecordDecl () const   Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or because it is the injected-class-name type of a class template or class template partial specialization.
  RecordDeclgetAsRecordDecl () const   Retrieves the RecordDecl this type refers to.
  TagDeclgetAsTagDecl () const   Retrieves the TagDecl that this type refers to, either because the type is a TagType or because it is the injected-class-name type of a class template or class template partial specialization.
  const CXXRecordDeclgetPointeeCXXRecordDecl () const   If this is a pointer or reference to a RecordType, return the CXXRecordDecl that the type refers to.
  DeducedTypegetContainedDeducedType () const   Get the DeducedType whose type will be deduced for a variable with an initializer of this type.
  AutoTypegetContainedAutoType () const   Get the AutoType whose type will be deduced for a variable with an initializer of this type.
  bool  hasAutoForTrailingReturnType () const   Determine whether this type was written with a leading 'auto' corresponding to a trailing return type (possibly for a nested function type within a pointer to function type or similar).
  template<typename T > const TgetAs () const   Member-template getAs<specific type>'.
  template<typename T > const TgetAsAdjusted () const   Member-template getAsAdjusted<specific type>.
  const ArrayTypegetAsArrayTypeUnsafe () const   A variant of getAs<> for array types which silently discards qualifiers from the outermost type.
  template<typename T > const TcastAs () const   Member-template castAs<specific type>.
  const ArrayTypecastAsArrayTypeUnsafe () const   A variant of castAs<> for array type which silently discards qualifiers from the outermost type.
  bool  hasAttr (attr::Kind AK) const   Determine whether this type had the specified attribute applied to it (looking through top-level type sugar).
  const TypegetBaseElementTypeUnsafe () const   Get the base element type of this type, potentially discarding type qualifiers.
  const TypegetArrayElementTypeNoTypeQual () const   If this is an array type, return the element type of the array, potentially with type qualifiers missing.
  const TypegetPointeeOrArrayElementType () const   If this is a pointer type, return the pointee type.
  QualType  getPointeeType () const   If this is a pointer, ObjC object pointer, or block pointer, this returns the respective pointee.
  const TypegetUnqualifiedDesugaredType () const   Return the specified type with any "sugar" removed from the type, removing any typedefs, typeofs, etc., as well as any qualifiers.
  bool  isSignedIntegerType () const   Return true if this is an integer type that is signed, according to C99 6.2.5p4 [char, signed char, short, int, long..], or an enum decl which has a signed representation.
  bool  isUnsignedIntegerType () const   Return true if this is an integer type that is unsigned, according to C99 6.2.5p6 [which returns true for _Bool], or an enum decl which has an unsigned representation.
  bool  isSignedIntegerOrEnumerationType () const   Determines whether this is an integer type that is signed or an enumeration types whose underlying type is a signed integer type.
  bool  isUnsignedIntegerOrEnumerationType () const   Determines whether this is an integer type that is unsigned or an enumeration types whose underlying type is a unsigned integer type.
  bool  isFixedPointType () const   Return true if this is a fixed point type according to ISO/IEC JTC1 SC22 WG14 N1169.
  bool  isFixedPointOrIntegerType () const   Return true if this is a fixed point or integer type.
  bool  isConvertibleToFixedPointType () const   Return true if this can be converted to (or from) a fixed point type.
  bool  isSaturatedFixedPointType () const   Return true if this is a saturated fixed point type according to ISO/IEC JTC1 SC22 WG14 N1169.
  bool  isUnsaturatedFixedPointType () const   Return true if this is a saturated fixed point type according to ISO/IEC JTC1 SC22 WG14 N1169.
  bool  isSignedFixedPointType () const   Return true if this is a fixed point type that is signed according to ISO/IEC JTC1 SC22 WG14 N1169.
  bool  isUnsignedFixedPointType () const   Return true if this is a fixed point type that is unsigned according to ISO/IEC JTC1 SC22 WG14 N1169.
  bool  isConstantSizeType () const   Return true if this is not a variable sized type, according to the rules of C99 6.7.5p3.
  bool  isSpecifierType () const   Returns true if this type can be represented by some set of type specifiers.
  Linkage  getLinkage () const   Determine the linkage of this type.
  Visibility  getVisibility () const   Determine the visibility of this type.
  bool  isVisibilityExplicit () const   Return true if the visibility was explicitly set is the code.
  LinkageInfo  getLinkageAndVisibility () const   Determine the linkage and visibility of this type.
  bool  isLinkageValid () const   True if the computed linkage is valid.
  std::optional< NullabilityKindgetNullability () const   Determine the nullability of the given type.
  bool  canHaveNullability (bool ResultIfUnknown=true) const   Determine whether the given type can have a nullability specifier applied to it, i.e., if it is any kind of pointer type.
  std::optional< ArrayRef< QualType > >  getObjCSubstitutions (const DeclContext *dc) const   Retrieve the set of substitutions required when accessing a member of the Objective-C receiver type that is declared in the given context.
  bool  acceptsObjCTypeParams () const   Determines if this is an ObjC interface type that may accept type parameters.
  const char *  getTypeClassName () const   QualType  getCanonicalTypeInternal () const   CanQualType  getCanonicalTypeUnqualified () const   void  dump () const   void  dump (llvm::raw_ostream &OS, const ASTContext &Context) const   template<> const TypedefTypegetAs () const   This will check for a TypedefType by removing any existing sugar until it reaches a TypedefType or a non-sugared type.
 

The base class of the type hierarchy.

A central concept with types is that each type always has a canonical type. A canonical type is the type with any typedef names stripped out of it or the types it references. For example, consider:

typedef int foo; typedef foo* bar; 'int *' 'foo *' 'bar'

There will be a Type object created for 'int'. Since int is canonical, its CanonicalType pointer points to itself. There is also a Type for 'foo' (a TypedefType). Its CanonicalType pointer points to the 'int' Type. Next there is a PointerType that represents 'int*', which, like 'int', is canonical. Finally, there is a PointerType type for 'foo*' whose canonical type is 'int*', and there is a TypedefType for 'bar', whose canonical type is also 'int*'.

Non-canonical types are useful for emitting diagnostics, without losing information about typedefs being used. Canonical types are useful for type comparisons (they allow by-pointer equality tests) and useful for reasoning about whether something has a particular form (e.g. is a function type), because they implicitly, recursively, strip all typedefs out of a type.

Types, once created, are immutable.

Definition at line 1828 of file Type.h.

◆ anonymous enum Enumerator NumArrayTypeBits 

Definition at line 1904 of file Type.h.

◆ anonymous enum Enumerator NumTypeWithKeywordBits 

Definition at line 2050 of file Type.h.

◆ ScalarTypeKind Enumerator STK_CPointer  STK_BlockPointer  STK_ObjCObjectPointer  STK_MemberPointer  STK_Bool  STK_Integral  STK_Floating  STK_IntegralComplex  STK_FloatingComplex  STK_FixedPoint 

Definition at line 2680 of file Type.h.

◆ TypeClass ◆ Type() [1/3] ◆ Type() [2/3] clang::Type::Type ( const Type &  ) delete ◆ Type() [3/3] clang::Type::Type ( Type &&  ) delete ◆ acceptsObjCTypeParams() bool Type::acceptsObjCTypeParams ( ) const ◆ addDependence() ◆ canDecayToPointerType() bool clang::Type::canDecayToPointerType ( ) const inline ◆ canHaveNullability() bool Type::canHaveNullability ( bool  ResultIfUnknown = true ) const ◆ castAs() const T * clang::Type::castAs

Member-template castAs<specific type>.

Look through sugar for the underlying instance of <specific type>.

This method has the same relationship to getAs<T> as cast<T> has to dyn_cast<T>; which is to say, the underlying type must have the intended type, and this method will never return null.

Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 8810 of file Type.h.

References clang::T.

Referenced by __clang_Interpreter_SetValueNoAlloc(), clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnCapScopeReturnStmt(), clang::SemaObjC::ActOnClassPropertyRefExpr(), clang::SemaObjC::ActOnCompatibilityAlias(), clang::Sema::ActOnConversionDeclarator(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNumericConstant(), clang::SemaObjC::ActOnPropertyImplDecl(), clang::SemaObjC::ActOnSuperClassOfClassInterface(), addBlockPointerConversion(), clang::Sema::AddConversionCandidate(), addFunctionPointerConversions(), AddObjCKeyValueCompletions(), clang::Sema::adjustCCAndNoReturn(), clang::TemplateDeclInstantiator::adjustForRewrite(), AdjustFunctionParmAndArgTypesForDeduction(), clang::ASTContext::adjustFunctionResultType(), adjustFunctionTypeForInstantiation(), adjustVectorType(), AnalyzeBitFieldAssignment(), clang::Sema::anyAltivecTypes(), clang::applyObjCTypeArgs(), clang::ASTContext::areCommonBaseCompatible(), clang::ASTContext::areCompatibleVectorTypes(), clang::ast_matchers::libc_func_matchers::AST_MATCHER(), clang::ast_matchers::libc_func_matchers::AST_MATCHER_P(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildCXXMemberCallExpr(), BuildExpressionFromNonTypeTemplateArgumentValue(), clang::Sema::BuildFieldReferenceExpr(), clang::Sema::BuildMemberReferenceExpr(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCExceptionDecl(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::BuildResolvedCallExpr(), buildTypeForLambdaCallOperator(), clang::Sema::BuildVectorLiteral(), clang::Sema::BuiltinShuffleVector(), clang::ASTContext::canAssignObjCInterfaces(), clang::Sema::canCalleeThrow(), clang::SemaPPC::checkAIXMemberAlignment(), checkArithmeticOnObjCPointer(), checkArithmeticOrEnumeralThreeWayCompare(), clang::Sema::CheckBaseClassAccess(), clang::checkBlockArgs(), clang::SemaOpenCL::checkBuiltinEnqueueKernel(), clang::SemaRISCV::CheckBuiltinFunctionCall(), clang::SemaHLSL::CheckBuiltinFunctionCall(), checkCastFunctionType(), clang::Sema::CheckCompareOperands(), CheckCompleteParameterTypesForMangler(), checkConditionalObjectPointersCompatibility(), checkConditionalPointerCompatibility(), CheckConstexprParameterTypes(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), clang::Sema::checkEnumArithmeticConversions(), clang::Sema::CheckEquivalentExceptionSpec(), CheckEvaluationResult(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), CheckExtVectorComponent(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::CheckImplicitConversion(), CheckIncrementDecrementOperand(), clang::SemaObjC::checkInitMethod(), clang::CheckInvalidVLENandLMUL(), checkIsValidOpenCLKernelParameter(), clang::Sema::CheckMain(), clang::Sema::CheckMemberOperatorAccess(), clang::Sema::CheckMSVCRTEntryPoint(), checkObjCPointerTypesForAssignment(), clang::checkOpenCLEnqueueVariadicArgs(), CheckOperatorNewDeleteTypes(), clang::Sema::CheckOverloadedOperatorDeclaration(), clang::Sema::CheckOverridingFunctionAttributes(), clang::Sema::CheckOverridingFunctionExceptionSpec(), clang::Sema::CheckOverridingFunctionReturnType(), clang::SemaRISCV::checkRVVTypeSupport(), clang::Sema::CheckSizelessVectorConditionalTypes(), checkSizelessVectorShift(), clang::Sema::CheckSpecifiedExceptionType(), clang::checkSwiftAsyncErrorBlock(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentIsCompatibleWithParameter(), clang::Sema::CheckTransparentUnionArgumentConstraints(), clang::Sema::CheckUnresolvedMemberAccess(), checkVAStartABI(), clang::Sema::CheckVectorCompareOperands(), clang::Sema::CheckVectorConditionalTypes(), clang::SemaCodeCompletion::CodeCompleteMemberReferenceExpr(), commonEmitCXXMemberOrOperatorCall(), compareConversionFunctions(), CompareDerivedToBaseConversions(), clang::CodeGen::CGDebugInfo::completeClass(), completeFunctionType(), CompleteNonViableCandidate(), clang::CodeGen::CGDebugInfo::completeType(), clang::ObjCObjectType::computeSuperClassTypeSlow(), convertHalfVecBinOp(), clang::ConvertQualTypeToKind(), convertToComplexValue(), clang::Sema::ConvertVectorExpr(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedUnaryOp(), clang::Sema::DeduceReturnType(), DeduceTemplateSpecArguments(), clang::Sema::DefineDefaultedComparison(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitLambdaToFunctionPointerConversion(), clang::Sema::DefineImplicitMoveAssignment(), clang::InitializationSequence::Diagnose(), clang::Sema::DiagnoseAssignmentResult(), DiagnoseCallingConvCast(), diagnoseListInit(), clang::ODRDiagsEmitter::diagnoseMismatch(), EmitBaseInitializer(), emitCombinerOrInitializer(), emitDeclTargetVarDeclLValue(), emitDestructorsFunction(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CodeGen::CGCXXABI::EmitLoadOfMemberFunctionPointer(), clang::CodeGen::CodeGenModule::EmitNullConstant(), emitOutlinedFunctionPrologue(), emitPointerArithmetic(), emitProxyTaskFunction(), emitTaskDupFunction(), clang::CodeGen::CGOpenMPRuntime::emitTaskOutlinedFunction(), emitTaskPrivateMappingFunction(), emitWritebackArg(), EncodeBitField(), encodeTypeForFunctionPointerAuth(), EvaluateBuiltinClassifyType(), clang::Sema::EvaluateImplicitExceptionSpec(), evaluateLValueAsAllocSize(), clang::exceptionSpecNotKnownYet(), clang::Sema::FindAllocationFunctions(), clang::SemaObjC::FindCompositeObjCPointerType(), FindConversionForRefInit(), FindDesignatorMismatch(), clang::Sema::findInheritingConstructor(), findMethodDecl(), findSubobject(), funcHasParameterSizeMangling(), clang::CodeGen::CodeGenModule::GenKernelArgMetadata(), clang::CXXNewExpr::getAllocatedType(), clang::QualType::getBaseTypeIdentifier(), clang::Expr::getBestDynamicClassType(), getCallingConvMangling(), clang::FunctionDecl::getCallResultType(), clang::CallExpr::getCallReturnType(), getConversionOpReturnTyAsFunction(), clang::CXXConversionDecl::getConversionType(), clang::ASTContext::getCorrespondingSaturatedType(), clang::ASTContext::getCorrespondingSignedFixedPointType(), clang::ASTContext::getCorrespondingSignedType(), clang::ASTContext::getCorrespondingUnsaturatedType(), clang::ASTContext::getCorrespondingUnsignedType(), getCXXRecord(), clang::FunctionDecl::getDeclaredReturnType(), clang::CodeGen::CGOpenMPRuntime::getDepobjElements(), clang::TemplateTypeParmDecl::getDepth(), clang::CXXDeleteExpr::getDestroyedType(), clang::CXXMethodDecl::getDevirtualizedMethod(), GetEnumUnderlyingType(), clang::ASTContext::getExtVectorType(), getFixedEnumPromtion(), clang::ASTContext::getFixedPointIBits(), clang::ASTContext::getFixedPointScale(), getFloatingRank(), clang::ASTContext::getFloatTypeSemantics(), GetFullTypeForDeclarator(), clang::CXXMethodDecl::getFunctionObjectParameterReferenceType(), clang::BlockExpr::getFunctionType(), clang::Decl::getFunctionType(), clang::CodeGen::CodeGenTypes::GetFunctionTypeForVTable(), clang::ASTContext::getFunctionTypeWithExceptionSpec(), clang::TemplateTypeParmDecl::getIndex(), clang::ObjCObjectPointerType::getInterfaceType(), clang::CXXRecordDecl::getLambdaStaticInvoker(), clang::CodeGen::CGCXXABI::getMemberPointerAdjustment(), clang::CXXMethodDecl::getMethodQualifiers(), clang::Sema::getMoreSpecializedTemplate(), getMostInformativeDerivedClassImpl(), clang::UnresolvedMemberExpr::getNamingClass(), clang::OverloadCandidate::getNumParams(), clang::ASTContext::getObjCEncodingForBlock(), clang::ASTContext::getObjCGCAttrKind(), getObjCSubstitutions(), clang::ObjCObjectPointerType::getObjectType(), clang::TemplateArgument::getPackExpansionPattern(), clang::CodeGen::CGOpenCLRuntime::getPipeElemAlign(), clang::CodeGen::CGOpenCLRuntime::getPipeElemSize(), clang::ReferenceType::getPointeeType(), clang::ASTContext::getPointerAuthTypeDiscriminator(), clang::CXXMethodDecl::getRefQualifier(), clang::FunctionDecl::getReturnType(), clang::ObjCInterfaceDecl::getSuperClassType(), clang::CastExpr::getTargetFieldForToUnionCast(), getUsualDeleteParams(), clang::AtomicExpr::getValueType(), clang::ASTContext::getVectorType(), HandleArmSveVectorBitsTypeAttr(), clang::SemaSwift::handleAsyncAttr(), handleComplexFloatConversion(), handleComplexIntegerToFloatConversion(), clang::CompletionContextHandler::handleDeclaration(), handleFormatArgAttr(), handleFormatAttr(), clang::Sema::HandleFunctionTypeMismatch(), handleIntegerVectorBinOpConversion(), HandleOpenCLAccessAttr(), HandleRISCVRVVVectorBitsTypeAttr(), handleSentinelAttr(), clang::SemaHLSL::handleVectorBinOpConversion(), handleVectorVectorBinOp(), hasDeducedReturnType(), hasDefaultCXXMethodCC(), HasNoThrowOperator(), clang::ASTContext::hasUniqueObjectRepresentations(), clang::Sema::InstantiateExceptionSpec(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::CXXMethodDecl::isConst(), clang::Expr::isConstantInitializer(), clang::CXXConstructorDecl::isConvertingConstructor(), isDesignatorAtObjectEnd(), isIdiomaticBraceElisionEntity(), isInitializerOfDynamicClass(), isNoexcept(), clang::SemaOpenMP::isOpenMPCapturedByRef(), clang::TemplateTypeParmDecl::isParameterPack(), clang::Sema::IsPointerConversion(), clang::ento::cocoa::isRefType(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::FunctionDecl::isReservedGlobalPlacementOperator(), isStdBuiltin(), IsStructurallyEquivalent(), isSwiftAsyncCallee(), clang::CXXMethodDecl::isVolatile(), isZeroInitialized(), LookupMethodInReceiverType(), clang::Sema::LookupParsedName(), lookupPromiseType(), clang::Sema::LookupTemplateName(), clang::MangleContext::mangleName(), clang::Sema::MarkVirtualBaseDestructorsReferenced(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MergeFunctionDecl(), clang::ASTContext::mergeFunctionTypes(), clang::ASTContext::mergeObjCGCQualifiers(), clang::Sema::MergeTypedefNameDecl(), clang::ASTContext::mergeTypes(), clang::Sema::MergeVarDeclExceptionSpecs(), clang::InitializationSequence::Perform(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformObjectMemberConversion(), PrepareArgumentsForCallToObjectOfClassType(), clang::Sema::PrepareScalarCast(), clang::Sema::prepareVectorSplat(), clang::APValue::printPretty(), ProcessAPINotes(), clang::TreeTransform< Derived >::RebuildCXXPseudoDestructorExpr(), clang::Sema::RefersToMemberWithReducedAlignment(), clang::Sema::ResolveExceptionSpec(), clang::CXXRecordDecl::setBases(), clang::ASTContext::setCFConstantStringType(), setObjCGCLValueClass(), clang::CXXNewExpr::shouldNullCheckAllocation(), shouldSkipNotingLambdaConversionDecl(), clang::Expr::skipRValueSubobjectAdjustments(), clang::ObjCObjectPointerType::stripObjCKindOfTypeAndQuals(), clang::CodeGen::CodeGenModule::TryEmitBaseDestructorAsAlias(), clang::CodeGen::ConstantEmitter::tryEmitPrivate(), tryEmitSpecializedAllocInit(), tryGCCVectorConvertAndSplat(), TryListConversion(), TryReferenceInit(), TryReferenceInitialization(), TryReferenceListInitialization(), TryRefInitWithConversionFunction(), TryStaticCast(), clang::interp::Compiler< Emitter >::VisitConvertVectorExpr(), clang::ASTDeclReader::VisitFunctionDecl(), clang::ento::ExprEngine::VisitOffsetOfExpr(), and clang::interp::Compiler< Emitter >::VisitShuffleVectorExpr().

◆ castAsArrayTypeUnsafe() const ArrayType * clang::Type::castAsArrayTypeUnsafe ( ) const inline ◆ containsErrors() bool clang::Type::containsErrors ( ) const inline ◆ containsUnexpandedParameterPack() bool clang::Type::containsUnexpandedParameterPack ( ) const inline

Whether this type is or contains an unexpanded parameter pack, used to support C++0x variadic templates.

A type that contains a parameter pack shall be expanded by the ellipsis operator at some point. For example, the typedef in the following example contains an unexpanded parameter pack 'T':

template<typename ...T>

typedef T

* pointer_types;

};

const FunctionProtoType * T

Note that this routine does not specify which

Definition at line 2361 of file Type.h.

Referenced by clang::Sema::ActOnFriendTypeDecl(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnPackIndexingType(), clang::Sema::BuildBaseInitializer(), buildDeclareReductionRef(), buildUserDefinedMapperRef(), clang::Sema::CheckBaseSpecifier(), clang::Sema::CheckPackExpansion(), clang::DeclarationNameInfo::containsUnexpandedParameterPack(), clang::Sema::containsUnexpandedParameterPacks(), clang::Sema::CreateGenericSelectionExpr(), clang::Sema::DiagnoseUnexpandedParameterPack(), GetFullTypeForDeclarator(), getLambdaType(), clang::ASTContext::getPackExpansionType(), handleAlignedAttr(), hasUserDefinedMapper(), clang::Sema::SubstParmVarDecl(), clang::TreeTransform< Derived >::TransformFunctionTypeParams(), clang::JSONNodeDumper::Visit(), and clang::TextNodeDumper::Visit().

◆ dump() [1/2] LLVM_DUMP_METHOD void Type::dump ( ) const ◆ dump() [2/2] LLVM_DUMP_METHOD void Type::dump ( llvm::raw_ostream &  OS, const ASTContextContext  ) const ◆ getArrayElementTypeNoTypeQual() const Type * Type::getArrayElementTypeNoTypeQual ( ) const ◆ getAs() [1/2] const T * clang::Type::getAs

Member-template getAs<specific type>'.

Look through sugar for an instance of <specific type>. This scheme will eventually replace the specific getAsXXXX methods above.

There are some specializations of this member template listed immediately following this class.

Definition at line 8741 of file Type.h.

References clang::T.

Referenced by __clang_Interpreter_SetValueNoAlloc(), clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnConversionDeclarator(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnFunctionDeclarator(), clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers(), actOnOMPReductionKindClause(), clang::SemaObjC::ActOnPropertyImplDecl(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnStartOfFunctionDef(), clang::Sema::ActOnTag(), clang::SemaObjC::ActOnTypedefedProtocols(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::ActOnVariableDeclarator(), AddClassMessageCompletions(), clang::Sema::AddConversionCandidate(), clang::Sema::AddKnownFunctionAttributes(), clang::Sema::AddMemberOperatorCandidates(), clang::Sema::AddMethodCandidate(), clang::Sema::AddModeAttr(), AddTypedNameChunk(), AdjustFunctionParmAndArgTypesForDeduction(), clang::ASTContext::adjustFunctionResultType(), adjustVectorType(), AlignOfType(), AnalyzeBitFieldAssignment(), AnalyzeCompoundAssignment(), clang::AnyCall::AnyCall(), appendFunctionType(), appendType(), clang::applyObjCTypeArgs(), clang::ASTContext::areComparableObjCPointerTypes(), clang::ASTContext::areCompatibleRVVTypes(), clang::ASTContext::areCompatibleSveTypes(), clang::ASTContext::areLaxCompatibleRVVTypes(), clang::ASTContext::areLaxCompatibleSveTypes(), clang::Sema::areMatrixTypesOfTheSameDimension(), clang::Sema::areMultiversionVariantFunctionsCompatible(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2(), clang::Sema::AttachBaseSpecifiers(), clang::ASTDeclReader::attachPreviousDeclImpl(), BitsContainNoUserData(), clang::Sema::BuildAddressSpaceAttr(), clang::Sema::BuildArrayType(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToObjectOfClassType(), clang::SemaObjC::BuildClassMessage(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildCXXTypeId(), buildDeclareReductionRef(), clang::Sema::BuildDeclRefExpr(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), BuildExpressionFromIntegralTemplateArgumentValue(), clang::Sema::BuildExtVectorType(), clang::Sema::BuildFieldReferenceExpr(), clang::SemaObjC::BuildInstanceMessage(), clang::Sema::BuildMatrixType(), clang::Sema::BuildMemberExpr(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCAtThrowStmt(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCDictionaryLiteral(), clang::Sema::BuildQualifiedType(), clang::Sema::BuildReferenceType(), clang::Sema::BuildResolvedCallExpr(), buildSingleCopyAssignRecursively(), clang::Sema::BuildTypeofExprType(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVectorType(), clang::Sema::BuiltinChangeSignedness(), BuiltinDumpStruct(), BuiltinIsWithinLifetime(), BuiltinOverflow(), calculateElementType(), calculateLegacyCbufferSize(), clang::Sema::ImplicitExceptionSpecification::CalledDecl(), canAssignObjCObjectTypes(), clang::Sema::canCalleeThrow(), clang::FunctionProtoType::canThrow(), CanThrow(), captureInBlock(), captureInLambda(), castVector(), CheckAggExprForMemSetUse(), CheckAnyScalarOrVector(), CheckArgTypeIsCorrect(), checkArithmeticIncompletePointerType(), checkArithmeticOpPointerOperand(), clang::SemaARM::CheckARMBuiltinExclusiveCall(), clang::SemaObjC::checkArrayLiteral(), CheckArrow(), clang::Sema::CheckAssignmentConstraints(), CheckBitcastType(), clang::SemaRISCV::CheckBuiltinFunctionCall(), clang::SemaHLSL::CheckBuiltinFunctionCall(), clang::Sema::CheckCastAlign(), checkCastFunctionType(), clang::checkCollectionLiteralElement(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompatibleReinterpretCast(), clang::Sema::CheckCompleteDecompositionDeclaration(), clang::Sema::CheckCompleteVariableDeclaration(), clang::Sema::CheckConditionalOperands(), checkConditionalPointerCompatibility(), clang::SemaObjC::CheckConversionToObjCLiteral(), CheckCXX98CompatAccessibleCopy(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::CheckDestructorDeclarator(), clang::SemaObjC::checkDictionaryLiteral(), clang::Sema::CheckDistantExceptionSpec(), checkEnumTypesInSwitchStmt(), clang::Sema::CheckEnumUnderlyingType(), clang::Sema::CheckEquivalentExceptionSpec(), CheckEvaluationResult(), clang::Sema::CheckExceptionSpecSubset(), CheckFallThroughForBody(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckFloatComparison(), checkFormatStringExpr(), checkFoundationAPI(), checkFPMathBuiltinElementType(), clang::Sema::CheckFunctionDeclaration(), checkFunParamsAreScopedLockable(), CheckIdentityFieldAssignment(), clang::Sema::checkIllFormedTrivialABIStruct(), clang::Sema::CheckImplicitConversion(), CheckIncrementDecrementOperand(), CheckIndirectionOperand(), checkIsValidOpenCLKernelParameter(), clang::Sema::CheckLiteralOperatorDeclaration(), checkLiteralOperatorTemplateParameterList(), clang::Sema::CheckLValueToRValueConversionOperand(), clang::Sema::CheckMain(), checkMathBuiltinElementType(), clang::Sema::CheckMatrixElementwiseOperands(), clang::Sema::CheckMatrixMultiplyOperands(), clang::Sema::CheckMemberPointerConversion(), clang::SemaObjC::CheckMessageArgumentTypes(), CheckMethodOverrideParam(), CheckMethodOverrideReturn(), clang::Sema::CheckNontrivialField(), CheckNullabilityTypeSpecifier(), clang::SemaObjC::CheckObjCARCUnavailableWeakConversion(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::SemaObjC::CheckObjCConversion(), clang::SemaObjC::CheckObjCForCollectionOperand(), checkOpenCLConditionVector(), CheckOperatorNewDeleteTypes(), CheckOriginalCallArgDeduction(), clang::Sema::CheckOverridingFunctionReturnType(), clang::Sema::CheckParameterPacksForExpansion(), clang::checkPipePacketType(), clang::Sema::CheckPointerConversion(), clang::Sema::CheckPointerToMemberOperands(), checkQualifiedFunction(), clang::Sema::CheckQualifiedFunctionForTypeId(), CheckRelatedResultTypeCompatibility(), CheckResourceHandle(), CheckScalarOrVector(), clang::Sema::CheckShiftOperands(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckSizelessVectorCompareOperands(), clang::Sema::CheckSizelessVectorConditionalTypes(), clang::Sema::CheckSizelessVectorOperands(), clang::SemaARM::CheckSMEFunctionDefAttributes(), clang::Sema::CheckSpecifiedExceptionType(), clang::SemaSPIRV::CheckSPIRVBuiltinFunctionCall(), clang::SemaObjC::CheckSubscriptingKind(), clang::Sema::CheckSubtractionOperands(), clang::checkSwiftAsyncErrorBlock(), CheckTautologicalComparison(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentIsCompatibleWithParameter(), checkTypedefTypeForCapability(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::Sema::CheckVectorConditionalTypes(), CheckVectorElementCallArgs(), clang::Sema::CheckVectorLogicalOperands(), clang::Sema::CheckVectorOperands(), checkVectorResult(), CheckVectorSelect(), checkVectorShift(), CheckWaveActive(), clang::interp::Context::classify(), clang::CodeGen::DefaultABIInfo::classifyArgumentType(), PNaClABIInfo::classifyArgumentType(), ClassifyDiagnostic(), clang::CodeGen::classifyReturnType(), clang::CodeGen::DefaultABIInfo::classifyReturnType(), PNaClABIInfo::classifyReturnType(), ClassifyUnnamed(), clang::SemaCodeCompletion::CodeCompleteMemberReferenceExpr(), CollectVRQualifiers(), CompareDerivedToBaseConversions(), CompareStandardConversionSequences(), CompleteNonViableCandidate(), clang::Sema::computeDeclContext(), clang::PredefinedExpr::ComputeName(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), ConvertAPValueToString(), clang::ConvertQualTypeToKind(), ConvertTypeToDiagnosticString(), convertVector(), CopyObject(), create_call_once(), create_dispatch_once(), create_OSAtomicCompareAndSwap(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::interp::Program::createDescriptor(), CreateFunctionRefExpr(), clang::CodeGen::CodeGenModule::CreateKCFITypeId(), clang::SemaObjC::CreatePropertyDecl(), CXXRecordMembersNamed(), clang::Sema::DeclClonePragmaWeak(), decomposeTypeForEH(), clang::Sema::DeduceAutoType(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::Sema::DeduceReturnType(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), DeduceTemplateSpecArguments(), clang::Sema::DefaultArgumentPromotion(), defaultedSpecialMemberIsConstexpr(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), clang::CodeGen::CGObjCRuntime::destroyCalleeDestroyedArguments(), clang::desugarForDiagnostic(), clang::InitializationSequence::Diagnose(), clang::Sema::DiagnoseAssignmentEnum(), diagnoseBadCast(), DiagnoseBadConversion(), DiagnoseBadTarget(), DiagnoseCastOfObjCSEL(), DiagnoseDirectIsaAccess(), clang::SemaHLSL::diagnoseInputIDType(), clang::ODRDiagsEmitter::diagnoseMismatch(), DiagnoseNarrowingInInitList(), clang::SemaObjC::DiagnosePropertyAccessorMismatch(), DiagnoseRecursiveConstFields(), DiagnoseSelfAssignment(), clang::Sema::DiagnoseSentinelCalls(), diagnoseSubMismatchMethodParameters(), clang::Sema::DiagnoseUnusedButSetDecl(), DiagnoseVariableSizedIvars(), doesUsualArrayDeleteWantSize(), doRewriteToUTF8StringBoxedExpressionHelper(), EmitCompare(), clang::CodeGen::ConstantEmitter::emitForMemory(), clang::CodeGen::CGCXXABI::EmitLoadOfMemberFunctionPointer(), clang::CodeGen::CodeGenModule::EmitNullConstant(), EmitObjectDelete(), emitPointerArithmetic(), EmitPointerWithAlignment(), EncodeBitField(), EvaluateBinaryTypeTrait(), EvaluateUnaryTypeTrait(), evenFlexibleArraySize(), extractPBaseFlags(), clang::Sema::ExtractUnqualifiedFunctionType(), FieldHasTrivialDestructorBody(), clang::Sema::FindCompositePointerType(), FindConversionForRefInit(), clang::FieldDecl::findCountedByField(), findEnumForBlockReturn(), clang::Sema::FindInstantiatedDecl(), findSubobject(), FixDependencyOfIdExpressionsInLambdaWithDependentObjectParameter(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), clang::CXXRecordDecl::forallBases(), GeneralizeFunctionType(), clang::CodeGen::CodeGenModule::GenKernelArgMetadata(), clang::FunctionEffectsRef::get(), getAbsoluteValueArgumentType(), clang::ento::BasicValueFactory::getAPSIntType(), getAsRecordDecl(), GetAssumedMessageSendExprType(), clang::QualType::getAtomicUnqualifiedType(), clang::interp::Record::getBase(), GetBaseType(), clang::Expr::getBestDynamicClassType(), clang::Sema::getCallingConvAttributedType(), clang::CallExpr::getCallReturnType(), clang::ASTContext::getCanonicalNestedNameSpecifier(), clang::ASTContext::getCommentForDecl(), getConversionOpReturnTyAsFunction(), clang::CXXMethodDecl::getCorrespondingMethodInClass(), clang::ASTContext::getCorrespondingSignedType(), clang::ASTContext::getCorrespondingUnsignedType(), getCXXRecord(), clang::ento::MemRegionManager::getCXXThisRegion(), clang::ASTContext::getDeclAlign(), clang::ento::CallEvent::getDeclaredResultType(), clang::getDeclUsageType(), getDependentArraySubscriptType(), clang::interp::Descriptor::getElemQualType(), clang::FunctionDecl::getEllipsisLoc(), clang::FunctionDecl::getExceptionSpecType(), GetExprType(), GetFixedPointRank(), clang::VarDecl::getFlexibleArrayInitChars(), getFloatingRank(), getFuchsiaHandleSymbols(), GetFullTypeForDeclarator(), clang::Sema::getFullyPackExpandedSize(), clang::TypeName::getFullyQualifiedNestedNameSpecifier(), clang::TypeName::getFullyQualifiedType(), clang::getFunctionExtInfo(), clang::CodeGen::CodeGenModule::getFunctionPointer(), clang::CodeCompleteConsumer::OverloadCandidate::getFunctionType(), clang::Decl::getFunctionType(), clang::CodeGen::CGDebugInfo::getFunctionType(), clang::ASTContext::getFunctionTypeWithoutParamABIs(), clang::ASTContext::getFunctionTypeWithoutPtrSizes(), GetGCAttrTypeForType(), clang::ASTContext::getInnerObjCOwnership(), clang::ObjCObjectType::getInterface(), clang::ASTContext::getIntWidth(), getLastTemplateSpecType(), clang::ASTContext::getLegacyIntegralTypeEncoding(), clang::ento::TypedValueRegion::getLocationType(), clang::ASTContext::getLValueReferenceType(), clang::CodeGen::CodeGenModule::getMemberFunctionPointerAuthInfo(), clang::StandardConversionSequence::getNarrowingKind(), clang::CodeGen::CodeGenModule::getNaturalTypeAlignment(), clang::NSAPI::GetNSIntegralKind(), clang::NSAPI::getNSNumberFactoryMethodKind(), getNullability(), clang::ento::getNullabilityAnnotation(), GetNumNonZeroBytesInInit(), clang::FunctionDecl::getNumParams(), getObjCBridgeAttr(), clang::ASTContext::getObjCGCQualType(), clang::ASTContext::getObjCObjectType(), clang::interp::Program::getOrCreateDummy(), getPointeeCXXRecordDecl(), clang::ASTContext::getPointerAuthTypeDiscriminator(), clang::ASTContext::getPreferredTypeAlign(), getPrettyTypeName(), clang::ASTContext::getPromotedIntegerType(), clang::UsingEnumDecl::getQualifierLoc(), getRangeForType(), clang::ObjCMessageExpr::getReceiverInterface(), clang::CodeGen::getRecordArgABI(), clang::interp::Compiler< Emitter >::getRecordTy(), getRecordType(), GetReturnType(), clang::ASTContext::getRValueReferenceType(), clang::getSimplifiedTypeClass(), clang::extractapi::TypedefUnderlyingTypeResolver::getSymbolReferenceForType(), getTemplateArgsFromVariant(), clang::ASTContext::getTypeAlignIfKnown(), getTypeExpansion(), clang::ASTContext::getTypeInfoDataSizeInChars(), clang::ASTContext::getTypeUnadjustedAlign(), clang::ASTContext::getUnconstrainedType(), clang::GetUnderlyingFunction(), clang::extractapi::TypedefUnderlyingTypeResolver::getUnderlyingTypeDecl(), clang::Expr::getValueKindForType(), clang::AtomicExpr::getValueType(), clang::ento::MemRegionManager::getVarRegion(), handleAsDoubleBuiltin(), HandleBaseToDerivedCast(), handleCleanupAttr(), handleFormatArgAttr(), handleFunctionTypeAttr(), clang::Sema::HandleFunctionTypeMismatch(), handleGlobalAttr(), handleHlslClip(), handleHlslSplitdouble(), handleInitPriorityAttr(), HandleMemberPointerAccess(), handleMIGServerRoutineAttr(), handleNonBlockingNonAllocatingTypeAttr(), HandleOpenCLAccessAttr(), clang::SemaHLSL::handlePackOffsetAttr(), handlePreferredName(), clang::SemaObjC::HandlePropertyInClassExtension(), clang::Sema::handlerCanCatch(), clang::SemaHLSL::handleVectorBinOpConversion(), clang::hasArmZAState(), clang::hasArmZT0State(), hasAttr(), HasAttribute(), hasBooleanRepresentation(), clang::RecordType::hasConstFields(), clang::FunctionProtoType::hasDependentExceptionSpec(), clang::Sema::hasExplicitCallingConv(), HasExplicitOwnershipAttr(), clang::VarDecl::hasFlexibleArrayInit(), hasIsEqualMethod(), HasNonDllImportDtor(), clang::ASTNodeImporter::hasReturnTypeDeclaredInside(), hasTemplateSpecializationInEncodedString(), hasTypedefNamed(), clang::ASTContext::hasUniqueObjectRepresentations(), clang::CodeGen::CodeGenFunction::hasVolatileMember(), clang::Sema::IgnoredValueConversions(), clang::ASTNodeImporter::ImportFieldDeclDefinition(), clang::SemaCUDA::inferTargetForImplicitSpecialMember(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), clang::ASTReader::InitializeContext(), clang::InitializationSequence::InitializeFrom(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::interp::interp__builtin_atomic_lock_free(), clang::interp::InterpretOffsetOf(), is32Or64BitBasicType(), IsAddressSpaceConversion(), isArithmeticArgumentPromotion(), isAtLeastAsSpecializedAs(), clang::Sema::IsBlockPointerConversion(), isBooleanType(), isCanonicalExceptionSpecification(), IsCFError(), clang::SemaObjC::isCFStringType(), clang::ento::cocoa::isCocoaObjectRef(), clang::Sema::IsComplexPromotion(), clang::CXXMethodDecl::isCopyAssignmentOperator(), clang::sema::isCopyLikeConstructor(), clang::CXXConstructorDecl::isCopyOrMoveConstructor(), clang::QualType::isCXX11PODType(), IsDerivedFromInclusive(), clang::ParmVarDecl::isDestroyedInCallee(), isDispatchBlock(), clang::CodeGen::isEmptyField(), clang::CodeGen::isEmptyRecord(), clang::CodeGen::isEmptyRecordForLayout(), clang::isErrorParameter(), clang::Sema::IsFloatingPointPromotion(), isForwardingReference(), clang::CodeGen::CodeGenTypes::isFuncParamTypeConvertible(), clang::Sema::IsFunctionConversion(), clang::CodeGen::ABIInfo::isHomogeneousAggregate(), clang::Sema::isInitListConstructor(), isIntegerLikeType(), clang::Sema::IsIntegralPromotion(), isKnownNonNilCollectionType(), clang::Sema::isLaxVectorConversion(), isLiteralType(), IsLLVMStringRef(), clang::Sema::IsMemberPointerConversion(), IsNSError(), isNSStringType(), clang::SemaObjC::isNSStringType(), clang::BinaryOperator::isNullPointerArithmeticExtension(), clang::Expr::isNullPointerConstant(), isObjCIdOrObjectKindOfType(), clang::Sema::isObjCPointerConversion(), clang::SemaObjC::isObjCWritebackConversion(), clang::RecordDecl::isOrContainsUnion(), clang::NonTypeTemplateParmDecl::isPackExpansion(), IsPartOfAST(), isPermittedNeonBaseType(), clang::Sema::IsPointerConversion(), clang::StandardConversionSequence::isPointerConversionToVoidPointer(), isPointerToRecordType(), clang::ASTContext::isPromotableIntegerType(), clang::CodeGen::ABIInfo::isPromotableIntegerTypeForABI(), clang::CodeGen::isRecordWithSIMDVectorType(), clang::ento::cocoa::isRefType(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), IsSameCharType(), clang::ASTContext::isSameEntity(), clang::Sema::isSameOrCompatibleFunctionType(), isScopedEnumerationType(), clang::CodeGen::isSIMDVectorType(), isSimpleTemplateIdType(), clang::CodeGen::isSingleElementStruct(), IsSmallVector(), IsStandardConversion(), isStandardLayoutType(), clang::Sema::isStdInitializerList(), IsStdString(), IsStdVector(), isStreamingCompatible(), clang::Sema::IsStringLiteralToNonConstPointerConversion(), isSubstitutedType(), isTemplateArgumentTemplateParameter(), isTriviallyCopyableTypeImpl(), clang::QualType::isTrivialType(), clang::SemaHLSL::IsTypedResourceElementCompatible(), isTypeSubstitutable(), IsUserDefinedConversion(), isValidBaseType(), clang::isValidPreserveEnumValueArg(), clang::isValidPreserveTypeInfoArg(), clang::isValidSwiftErrorResultType(), clang::isValidSwiftIndirectResultType(), clang::Sema::isValidVarArgType(), isVarDeclStrongDefinition(), isVariableCapturable(), IsVariableSizedType(), isVector(), IsVectorConversion(), isVoidPointerToNonConst(), clang::CodeGen::CodeGenTypes::isZeroInitializable(), clang::FieldDecl::isZeroSize(), loadToBegin(), LookupDirect(), clang::CXXRecordDecl::lookupInBases(), clang::Sema::LookupInlineAsmField(), clang::Sema::LookupInlineAsmVarDeclField(), LookupMemberExpr(), LookupMethodInReceiverType(), clang::Sema::LookupParsedName(), clang::Sema::LookupTemplateName(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), MarkUsedTemplateParameters(), clang::analyze_format_string::ArgType::matchesType(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), maybeAdjustInterfaceForSubscriptingCheck(), clang::Sema::MaybeBindToTemporary(), clang::CodeGen::CodeGenModule::MayDropFunctionReturn(), clang::CodeGen::CGCXXABI::mayNeedDestruction(), clang::Sema::MergeFunctionDecl(), clang::ASTContext::mergeFunctionTypes(), clang::ASTContext::mergeTypes(), clang::Sema::MergeVarDeclExceptionSpecs(), clang::analyze_format_string::FormatSpecifier::namedTypeToLengthModifier(), needsConversionOfHalfVec(), NoteIndirectBases(), NoteSurrogateCandidate(), ObjCBridgeRelatedAttrFromType(), ObjCEnumerationCollection(), clang::ASTContext::ObjCObjectAdoptsQTypeProtocols(), OpenCLConvertScalarsToVectors(), clang::InitializationSequence::Perform(), clang::Sema::PerformContextualImplicitConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitObjectArgumentInitialization(), clang::Sema::PerformObjectMemberConversion(), clang::DeclarationName::print(), printCXXConstructorDestructorName(), printIntegral(), clang::APValue::printPretty(), ProcessAPINotes(), clang::ento::ExprEngine::processSwitch(), clang::SemaCodeCompletion::ProduceCallSignatureHelp(), pushTemporaryCleanup(), clang::ASTContext::QIdProtocolsAdoptObjCObjectProtocols(), clang::TreeTransform< Derived >::RebuildCXXPseudoDestructorExpr(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), REGISTER_MAP_WITH_PROGRAMSTATE(), clang::ASTContext::removePtrSizeAddrSpace(), clang::Sema::RequireCompleteType(), clang::Sema::RequireLiteralType(), clang::CodeGen::CodeGenModule::ReturnTypeUsesFP2Ret(), clang::CodeGen::CodeGenModule::ReturnTypeUsesFPRet(), rewriteToNumericBoxedExpression(), SetElementTypeAsReturnType(), setUsedBits(), shouldAddReversedEqEq(), ShouldDiagnoseUnusedDecl(), shouldNotPrintDirectly(), ShouldTryAgainWithRedefinitionType(), clang::Expr::skipRValueSubobjectAdjustments(), skipTopLevelReferences(), clang::Sema::SpecialMemberIsTrivial(), clang::ObjCObjectType::stripObjCKindOfTypeAndQuals(), threadSafetyCheckIsPointer(), clang::TreeTransform< Derived >::TransformExceptionSpec(), TryAddressSpaceCast(), tryAtomicConversion(), TryClassUnification(), TryConstCast(), TryConstructorInitialization(), TryDeconstructFunctionLike(), clang::Sema::tryExprAsCall(), tryGCCVectorConvertAndSplat(), tryGetFunctionProtoType(), TryImplicitConversion(), TryListInitialization(), TryLValueToRValueCast(), TryObjectArgumentInitialization(), TryOrBuildParenListInitialization(), TryReferenceInit(), TryRefInitWithConversionFunction(), TryReinterpretCast(), TryStaticCast(), TryStaticMemberPointerUpcast(), TryStaticPointerDowncast(), TryStaticReferenceDowncast(), TryUserDefinedConversion(), TryValueInitialization(), TypeHasMayAlias(), unsupportedTypeConversion(), clang::ASTContext::UnwrapSimilarTypes(), clang::QualType::UseExcessPrecision(), clang::Sema::UsualArithmeticConversions(), clang::FunctionCallFilterCCC::ValidateCandidate(), clang::Value::Value(), clang::interp::Compiler< Emitter >::VisitCastExpr(), clang::interp::Compiler< Emitter >::VisitComplexBinOp(), clang::UsedDeclVisitor< Derived >::VisitCXXDeleteExpr(), clang::ento::ExprEngine::VisitCXXNewAllocatorCall(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::interp::Compiler< Emitter >::VisitCXXScalarValueInitExpr(), clang::interp::Compiler< Emitter >::VisitExtVectorElementExpr(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::interp::Compiler< Emitter >::VisitImplicitValueInitExpr(), clang::interp::Compiler< Emitter >::visitInitList(), clang::ASTNodeImporter::VisitRecordDecl(), clang::ento::SValExplainer::VisitSymbolicRegion(), clang::interp::Compiler< Emitter >::VisitUnaryExprOrTypeTraitExpr(), clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr(), clang::interp::Compiler< Emitter >::VisitVectorBinOp(), clang::interp::Compiler< Emitter >::VisitVectorUnaryOperator(), and clang::serialization::DataStreamBasicWriter< Impl >::writeLValuePathSerializationHelper().

◆ getAs() [2/2] ◆ getAsAdjusted() const T * clang::Type::getAsAdjusted ◆ getAsArrayTypeUnsafe() const ArrayType * clang::Type::getAsArrayTypeUnsafe ( ) const inline

A variant of getAs<> for array types which silently discards qualifiers from the outermost type.

Definition at line 8796 of file Type.h.

Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::SemaOpenMP::ActOnOMPArraySectionExpr(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPDependClause(), clang::SemaOpenMP::ActOnOpenMPUsesAllocatorClause(), clang::Sema::ActOnSourceLocExpr(), clang::ODRHash::AddStructuralValue(), appendType(), clang::Sema::BuildCXXForRangeStmt(), clang::SemaObjC::BuildObjCEncodeExpression(), buildUserDefinedMapperRef(), BuiltinLaunder(), canInitializeArrayWithEmbedDataString(), clang::interp::CheckFieldsInitialized(), clang::interp::EvaluationResult::checkFullyInitialized(), CheckStringInit(), clang::interp::Program::createDescriptor(), EmitOMPAggregateInit(), EmitOMPAggregateReduction(), clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsInit(), clang::ASTContext::getBaseElementType(), getCanonicalParamType(), clang::ASTContext::getConstantArrayElementCount(), getDependentArraySubscriptType(), getDesignatedType(), clang::interp::Descriptor::getElemQualType(), getTypeString(), handleDefaultInitValue(), hasSizedVLAType(), clang::InitListExpr::isStringLiteralInit(), and processImplicitMapsWithDefaultMappers().

◆ getAsComplexIntegerType() const ComplexType * Type::getAsComplexIntegerType ( ) const ◆ getAsCXXRecordDecl()

Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or because it is the injected-class-name type of a class template or class template partial specialization.

Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 1916 of file Type.cpp.

References getAsTagDecl().

Referenced by clang::Sema::ActOnCXXTryBlock(), clang::CodeGen::CGOpenMPRuntimeGPU::adjustTargetSpecificDataForLambdas(), clang::CodeGen::CGHLSLRuntime::annotateHLSLResource(), clang::ASTContext::BlockRequiresCopying(), clang::Sema::BuildCXXConstructExpr(), BuildNonArrayForRange(), clang::Sema::BuildUnresolvedCoawaitExpr(), calculateOffset(), canCaptureVariableByCopy(), canRecoverDotPseudoDestructorCallsOnPointerObjects(), clang::Sema::canThrow(), clang::canVarDeclThrow(), clang::Sema::CaptureHasSideEffects(), clang::Sema::CheckCompletedCXXClass(), clang::Sema::CheckCompleteDecompositionDeclaration(), clang::Sema::CheckCompleteVariableDeclaration(), CheckConstexprDestructorSubobjects(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::CheckDestructor(), checkDestructorReference(), clang::CheckEquivalentExceptionSpecImpl(), checkEscapingByref(), checkForConsumableClass(), checkMoveAssignmentForRepeatedMove(), clang::Sema::CheckParmsForFunctionDef(), checkTrivialClassMembers(), checkTrivialSubobjectCall(), checkTupleLikeDecomposition(), CheckUnaryTypeTraitTypeCompleteness(), computeBlockInfo(), clang::dataflow::copyRecord(), clang::ImplicitCastExpr::Create(), create_call_once(), clang::Sema::CreateBuiltinBinOp(), createFieldForHostLayoutStruct(), clang::ConstructionContext::createFromLayers(), clang::TypeName::createNestedNameSpecifierForScopeOf(), DeduceTemplateArgumentsByTypeMatch(), DeduceTemplateBases(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), diagnoseBadCast(), clang::Sema::DiagnoseEmptyLookup(), diagnoseMutableFields(), DiagnoseReinterpretUpDownCast(), DiagnoseUninitializedReference(), EmitDeclDestroy(), EmitDestroyingObjectDelete(), clang::CodeGen::CGOpenMPRuntime::emitTargetGlobalVariable(), clang::ento::StoreManager::evalBaseToDerived(), clang::ento::StoreManager::evalDerivedToBase(), EvaluateBooleanTypeTrait(), clang::Sema::EvaluateStaticAssertMessageAsString(), EvaluateUnaryTypeTrait(), clang::Sema::FindAllocationFunctions(), findDecomposableBaseClass(), findDeleteForPromise(), clang::HLSLAttributedResourceType::findHandleTypeOnResource(), clang::Sema::FindInstantiatedDecl(), findSubobject(), clang::interp::Free(), clang::NestedNameSpecifier::getAsRecordDecl(), getBaseAlignmentAndOffsetFromPtr(), clang::ASTContext::getCommentForDecl(), getConstructedRegion(), getContainedDynamicClass(), getDerivedToBaseAlignmentAndOffset(), clang::CFGImplicitDtor::getDestructorDecl(), clang::Sema::getDestructorName(), clang::dataflow::getFieldsFromClassHierarchy(), clang::Sema::getFixItZeroInitializerForType(), clang::TypeName::getFullyQualifiedNestedNameSpecifier(), clang::LambdaExpr::getLambdaClass(), clang::ento::ProgramState::getLValue(), clang::CodeGen::CGCXXABI::getMemberPointerAdjustment(), clang::CodeGen::CodeGenModule::getMinimumObjectSize(), clang::MemberPointerType::getMostRecentCXXRecordDecl(), clang::UnresolvedMemberExpr::getNamingClass(), clang::CodeGen::CodeGenModule::getNaturalTypeAlignment(), getNoteTag(), getOpenCLKernelParameterType(), clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(), clang::interp::Context::getOverridingFunction(), getPrettyTypeName(), clang::CXXMemberCallExpr::getRecordDecl(), clang::ento::BlockCall::getRuntimeDefinition(), getUnionInitName(), getVirtualOperatorDelete(), HandleBaseToDerivedCast(), HandleConstructorCall(), clang::DotMemberAccessHandler::handleDeclaration(), handleDefaultInitValue(), HandleDestructionImpl(), HandleLValueBasePath(), HandleMemberPointerAccess(), handlePreferredName(), hasAnyVptr(), hasNonTrivialConstructorCall(), clang::hasPublicMethodInBase(), hasTemplateSpecializationInEncodedString(), hasTrivialABIAttr(), clang::ComparisonCategoryInfo::ValueInfo::hasValidIntValue(), clang::interp::hasVirtualDestructor(), hasVirtualDestructor(), clang::Sema::inferGslPointerAttribute(), InitializationHasSideEffects(), clang::Sema::isAbstractType(), clang::CXXDynamicCastExpr::isAlwaysNull(), isAttributedCoroAwaitElidable(), isAutoCastType(), isConstNotMutableType(), isConsumableType(), clang::Sema::IsDerivedFrom(), clang::FunctionDecl::isDestroyingOperatorDelete(), isHLSLIntangibleType(), isIncompleteType(), isInvalidConstantBufferLeafElementType(), clang::ento::iterator::isIteratorType(), clang::ento::RetainSummaryManager::isKnownSmartPointer(), clang::QualType::isNonConstantStorage(), isNothrowT(), isOSObjectRelated(), clang::Sema::IsPointerInterconvertibleBaseOf(), isPointerToObject(), clang::CXXTypeidExpr::isPotentiallyEvaluated(), clang::FieldDecl::isPotentiallyOverlapping(), isReadByLvalueToRvalueConversion(), clang::sema::isRecordWithAttr(), isRelevantAttr(), isStdBasicOstream(), isStdSmartPtr(), clang::ento::smartptr::isStdSmartPtr(), isStructuralType(), isSubstitutedType(), clang::dataflow::isSupportedOptionalType(), clang::Sema::isThisOutsideMemberFunctionBody(), isTriviallyEqualityComparableType(), clang::isUnchecked(), clang::isUncounted(), isValidBaseClass(), clang::isValidSubjectOfOSAttribute(), clang::Sema::isValidVarArgType(), isZeroInitialized(), LeastDerivedClassWithSameLayout(), clang::ComparisonCategories::lookupInfoForType(), lookupPromiseType(), lookupStdTypeTraitMember(), mapConsumableAttrState(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), PerformReturnAdjustment(), print_elem(), print_initializer(), clang::ento::ExprEngine::ProcessDeleteDtor(), clang::SemaCodeCompletion::ProduceCallSignatureHelp(), recoverFromMSUnqualifiedLookup(), regionMatchesCXXRecordType(), clang::Sema::RequireNonAbstractType(), requiresImplicitBufferLayoutStructure(), clang::Sema::RequireStructuralType(), clang::CXXRecordDecl::setBases(), clang::SemaOpenMP::tryCaptureOpenMPLambdas(), TryListInitialization(), TypeRequiresBuiltinLaunderImp(), clang::dataflow::UncheckedOptionalAccessModel::UncheckedOptionalAccessModel(), usesMultipleInheritanceModel(), clang::interp::Compiler< Emitter >::VisitCXXConstructExpr(), clang::ento::ExprEngine::VisitCXXDestructor(), warnAboutAmbiguousFunction(), and warnAboutRedundantParens().

◆ getAsObjCInterfacePointerType() ◆ getAsObjCInterfaceType() ◆ getAsObjCQualifiedClassType() ◆ getAsObjCQualifiedIdType() ◆ getAsObjCQualifiedInterfaceType() const ObjCObjectType * Type::getAsObjCQualifiedInterfaceType ( ) const ◆ getAsPlaceholderType() const BuiltinType * clang::Type::getAsPlaceholderType ( ) const inline ◆ getAsRecordDecl()

Retrieves the RecordDecl this type refers to.

Definition at line 1920 of file Type.cpp.

References getAsTagDecl().

Referenced by clang::Sema::ActOnFriendTypeDecl(), buildImplicitMap(), buildImplicitMapper(), BuiltinDumpStruct(), clang::interp::CallVirt(), CheckBitcastType(), CheckC23ConstexprVarType(), clang::Sema::CheckCoroutineWrapper(), clang::SemaOpenACC::CheckReductionVar(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), create_call_once(), clang::SemaSYCL::deepTypeCheckForDevice(), emitReadOnlyPlacementAttrWarning(), clang::CodeGen::CGOpenMPRuntime::emitTaskInit(), getAsRecordDecl(), getFieldOffsetInBits(), clang::dataflow::getFieldsFromClassHierarchy(), getGEPIndicesToField(), getTypeAlignIfRequired(), hasBPFPreserveStaticOffset(), clang::ASTNodeImporter::ImportFieldDeclDefinition(), clang::InitializationSequence::InitializeFrom(), clang::ento::tagged_union_modeling::isStdType(), isTrackedVar(), clang::QualType::isTriviallyRelocatableType(), isValidStructGUID(), LookupMemberExpr(), processImplicitMapsWithDefaultMappers(), clang::SemaCodeCompletion::ProduceConstructorSignatureHelp(), clang::sema::shouldTrackFirstArgumentForConstructor(), clang::interp::Compiler< Emitter >::VisitCXXUuidofExpr(), clang::interp::Compiler< Emitter >::VisitImplicitValueInitExpr(), and clang::ASTNodeImporter::VisitTypedefNameDecl().

◆ getAsStructureType() const RecordType * Type::getAsStructureType ( ) const ◆ getAsTagDecl() TagDecl * Type::getAsTagDecl ( ) const

Retrieves the TagDecl that this type refers to, either because the type is a TagType or because it is the injected-class-name type of a class template or class template partial specialization.

Definition at line 1924 of file Type.cpp.

Referenced by clang::Sema::ActOnTag(), clang::Sema::ActOnUsingEnumDeclaration(), clang::UsingEnumDecl::Create(), emitDependData(), clang::CodeGen::CGOpenMPRuntime::emitDepobjDependClause(), emitDestructorsFunction(), clang::CodeGen::CGOpenMPRuntime::emitDoacrossInit(), emitProxyTaskFunction(), clang::CodeGen::CGOpenMPRuntime::emitTaskInit(), emitTaskPrivateMappingFunction(), clang::CodeGen::CGOpenMPRuntime::emitUpdateClause(), getAsCXXRecordDecl(), getAsRecordDecl(), clang::CodeGen::CGOpenMPRuntime::getDepobjElements(), clang::UsingEnumDecl::getEnumDecl(), getUuidAttrOfType(), HasAttribute(), and TypeHasMayAlias().

◆ getAsUnionType() ◆ getBaseElementTypeUnsafe() const Type * clang::Type::getBaseElementTypeUnsafe ( ) const inline

Get the base element type of this type, potentially discarding type qualifiers.

This should never be used when type qualifiers are meaningful.

Definition at line 8691 of file Type.h.

References clang::ast_matchers::arrayType, and clang::ast_matchers::type.

Referenced by clang::Sema::BuildCXXConstructExpr(), buildMemcpyForAssignmentOp(), clang::canVarDeclThrow(), clang::Sema::CaptureHasSideEffects(), clang::Sema::CheckCompletedCXXClass(), CheckConstexprDestructorSubobjects(), clang::Sema::CheckFieldDecl(), clang::Sema::checkIllFormedTrivialABIStruct(), CheckUnaryTypeTraitTypeCompleteness(), diagnoseMutableFields(), DiagnoseUninitializedReference(), clang::Sema::DiagnoseUnusedButSetDecl(), doesUsualArrayDeleteWantSize(), clang::CodeGen::CGOpenMPRuntime::emitTargetGlobalVariable(), clang::FunctionEffectsRef::get(), getContainedDynamicClass(), clang::ASTContext::getPreferredTypeAlign(), getUuidAttrOfType(), HasNonDllImportDtor(), hasTemplateSpecializationInEncodedString(), clang::ASTNodeImporter::ImportFieldDeclDefinition(), InitializationHasSideEffects(), clang::QualType::isCXX11PODType(), isLiteralType(), isReadByLvalueToRvalueConversion(), isStandardLayoutType(), clang::CodeGen::CGCXXABI::mayNeedDestruction(), print_elem(), and pushTemporaryCleanup().

◆ getCanonicalTypeInternal() QualType clang::Type::getCanonicalTypeInternal ( ) const inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 2990 of file Type.h.

Referenced by addAssociatedClassesAndNamespaces(), canHaveNullability(), clang::checkPipePacketType(), clang::Sema::CheckTemplateIdType(), DeduceTemplateArgumentsByTypeMatch(), DeduceTemplateSpecArguments(), clang::CodeGen::CodeGenTypes::DeriveThisType(), clang::TypePropertyCache< Private >::ensure(), clang::ASTContext::getCanonicalType(), getCanonicalTypeUnqualified(), getConstantArrayExtents(), getCurrentInstantiationOf(), clang::diff::SyntaxTree::Impl::getDeclValue(), clang::ASTContext::getObjCEncodingForBlock(), clang::ASTContext::getObjCEncodingForFunctionDecl(), clang::ASTContext::getObjCEncodingForMethodDecl(), clang::ASTContext::getObjCGCAttrKind(), clang::LocInfoType::getType(), clang::LinkageComputer::getTypeLinkageAndVisibility(), clang::ASTContext::getUsingType(), isLinkageValid(), isLiteralType(), isObjCARCImplicitlyUnretainedType(), IsPossiblyOpaquelyQualifiedType(), isSameQualifier(), printIntegral(), clang::ObjCTypeParamType::Profile(), and shouldHaveNullability().

◆ getCanonicalTypeUnqualified() CanQualType clang::Type::getCanonicalTypeUnqualified ( ) const inline

Definition at line 215 of file CanonicalType.h.

References clang::CanQual< Type >::CreateUnsafe(), and getCanonicalTypeInternal().

Referenced by adjustReturnValue(), clang::CodeGen::CodeGenTypes::arrangeCXXMethodType(), clang::CodeGen::CodeGenTypes::arrangeFunctionDeclaration(), clang::Sema::checkExceptionSpecification(), clang::Sema::DiagnoseInvalidExplicitObjectParameterInLambda(), evaluateCDTSize(), EvaluateUnaryTypeTrait(), findDirectBaseWithType(), GetFormalType(), GetReturnType(), clang::Sema::HandleFunctionTypeMismatch(), clang::Sema::IsPointerInterconvertibleBaseOf(), MatchesFriend(), setCUDAKernelCallingConvention(), and clang::dataflow::transferSmartPointerLikeCachedDeref().

◆ getContainedAutoType() AutoType * clang::Type::getContainedAutoType ( ) const inline

Get the AutoType whose type will be deduced for a variable with an initializer of this type.

This looks through declarators like pointer types, but not through decltype or typedefs.

Definition at line 2812 of file Type.h.

Referenced by clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::ActOnObjCForCollectionStmt(), clang::Sema::BuildReturnStmt(), clang::NonTypeTemplateParmDecl::Create(), clang::Sema::DeduceAutoType(), clang::Sema::deduceVarTypeFromInitializer(), clang::CodeGen::CGDebugInfo::EmitUsingDecl(), GetFullTypeForDeclarator(), clang::ASTContext::getUnconstrainedType(), clang::NonTypeTemplateParmDecl::hasPlaceholderTypeConstraint(), clang::Sema::InstantiateFunctionDefinition(), clang::Sema::MergeFunctionDecl(), clang::TreeTransform< Derived >::TransformFunctionTypeParams(), and clang::ASTDeclReader::VisitFunctionDecl().

◆ getContainedDeducedType()

Get the DeducedType whose type will be deduced for a variable with an initializer of this type.

This looks through declarators like pointer types, but not through decltype or typedefs.

Definition at line 2045 of file Type.cpp.

Referenced by clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::CheckPackExpansion(), clang::Sema::CheckTemplateArgument(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::Sema::deduceVarTypeFromInitializer(), GetDeclSpecTypeForDeclarator(), clang::isUndeducedReturnType(), and LookupDirect().

◆ getDependence() ◆ getLinkage() ◆ getLinkageAndVisibility() ◆ getLocallyUnqualifiedSingleStepDesugaredType() QualType Type::getLocallyUnqualifiedSingleStepDesugaredType ( ) const ◆ getNullability()

Determine the nullability of the given type.

Note that nullability is only captured as sugar within the type system, not as part of the canonical type, so nullability will be lost by canonicalization and desugaring.

Definition at line 4761 of file Type.cpp.

References getAs(), and clang::ExtQualsTypeCommonBase::Type.

Referenced by clang::SemaObjC::BuildObjCBoxedExpr(), CheckMethodOverrideParam(), CheckMethodOverrideReturn(), CheckNonNullExpr(), CheckNullabilityTypeSpecifier(), clang::SemaObjC::CheckObjCPropertyAttributes(), computeConditionalNullability(), clang::Sema::deduceClosureReturnType(), clang::Sema::diagnoseNullableToNonnullConversion(), clang::ASTContext::getArrayDecayedType(), getBaseMessageSendResultType(), GetFullTypeForDeclarator(), clang::SemaObjC::getMessageSendResultType(), clang::ASTContext::hasSameNullabilityTypeQualifier(), mergeParamDeclTypes(), and mergeTypeNullabilityForRedecl().

◆ getObjCARCImplicitLifetime() ◆ getObjCSubstitutions()

Retrieve the set of substitutions required when accessing a member of the Objective-C receiver type that is declared in the given context.

*this is the type of the object we're operating on, e.g., the receiver for a message send or the base of a property access, and is expected to be of some object or object pointer type.

Parameters
dc The declaration context for which we are building up a substitution mapping, which should be an Objective-C class, extension, category, or method within.
Returns
an array of type arguments that can be substituted for the type parameters of the given declaration context in any type described within that context, or an empty optional to indicate that no substitution is required.

Extract the class from the receiver object type.

Definition at line 1671 of file Type.cpp.

References castAs(), clang::ObjCCategoryDecl::getClassInterface(), clang::ObjCObjectType::getInterface(), clang::ASTContext::getObjCObjectType(), clang::DeclContext::getParentASTContext(), clang::ObjCObjectType::getSuperClassType(), clang::ObjCObjectType::getTypeArgs(), clang::ObjCCategoryDecl::getTypeParamList(), clang::QualType::isNull(), clang::ObjCObjectType::isUnspecialized(), and clang::ASTContext::ObjCBuiltinIdTy.

Referenced by clang::SemaObjC::CheckMessageArgumentTypes(), clang::CodeCompletionResult::createCodeCompletionStringForDecl(), and clang::QualType::substObjCMemberType().

◆ getPointeeCXXRecordDecl()

If this is a pointer or reference to a RecordType, return the CXXRecordDecl that the type refers to.

If this is not a pointer or reference, or the type being pointed to does not refer to a CXXRecordDecl, returns NULL.

Definition at line 1901 of file Type.cpp.

References getAs(), and getPointeeType().

Referenced by adjustReturnValue(), DiagnoseReinterpretUpDownCast(), emitBadConversionNotes(), clang::ento::retaincountchecker::RetainCountChecker::errorKindToBugKind(), clang::ento::StoreManager::evalBaseToDerived(), clang::ento::StoreManager::evalDerivedToBase(), clang::SourceLocExpr::EvaluateInContext(), clang::ento::CXXInstanceCall::getDeclForDynamicType(), isOSObjectPtr(), isSetOnReadPtrType(), clang::isUncheckedPtr(), clang::isUncountedPtr(), clang::isUnsafePtr(), mangleOverrideDiscrimination(), clang::QualType::mayBeDynamicClass(), clang::QualType::mayBeNotDynamicClass(), regionMatchesCXXRecordType(), and clang::sema::shouldTrackFirstArgument().

◆ getPointeeOrArrayElementType() const Type * clang::Type::getPointeeOrArrayElementType ( ) const inline ◆ getPointeeType()

If this is a pointer, ObjC object pointer, or block pointer, this returns the respective pointee.

Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 738 of file Type.cpp.

References getPointeeType().

Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::Sema::ActOnConversionDeclarator(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishFunctionBody(), clang::SemaOpenMP::ActOnOMPArraySectionExpr(), clang::SemaOpenMP::ActOnOMPArrayShapingExpr(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPDependClause(), clang::Sema::ActOnStartCXXMemberReference(), addAssociatedClassesAndNamespaces(), clang::Sema::AddConversionCandidate(), adjustCVQualifiersForCXXThisWithinLambda(), AlignOfType(), clang::sema::analyzePathForGSLPointer(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2(), clang::ASTContext::AtomicUsesUnsupportedLibcall(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildCallExpr(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), BuildExpressionFromNonTypeTemplateArgumentValue(), clang::Sema::BuildFieldReferenceExpr(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildQualifiedType(), clang::Sema::BuildResolvedCallExpr(), BuildSimilarlyQualifiedPointerType(), builtinAllocaAddrSpace(), clang::SemaARM::BuiltinARMMemoryTaggingCall(), BuiltinDumpStruct(), BuiltinLaunder(), BuiltinOverflow(), clang::Sema::BuiltinRemovePointer(), clang::interp::CallVirt(), clang::Sema::canCalleeThrow(), CanThrow(), clang::Sema::CaptureHasSideEffects(), captureInBlock(), captureInLambda(), captureVariablyModifiedType(), clang::ento::StoreManager::castRegion(), castToBase(), checkArithmeticBinOpPointerOperands(), checkArithmeticIncompletePointerType(), checkArithmeticOpPointerOperand(), CheckArrow(), clang::Sema::CheckAssignmentConstraints(), checkBlockPointerTypesForAssignment(), clang::SemaOpenCL::checkBuiltinEnqueueKernel(), checkCastFunctionType(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompatibleReinterpretCast(), checkConditionalPointerCompatibility(), clang::interp::CheckConstant(), clang::Sema::CheckCountedByAttrOnField(), clang::Sema::CheckCXXThisCapture(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::CheckDistantExceptionSpec(), clang::interp::CheckDowncast(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), CheckFallThroughForBody(), checkFormatStringExpr(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::interp::CheckNewTypeMismatch(), CheckNullabilityTypeSpecifier(), CheckObjCBridgeNSCast(), clang::SemaObjC::CheckObjCConversion(), CheckOriginalCallArgDeduction(), clang::Sema::CheckOverridingFunctionReturnType(), clang::Sema::CheckPointerConversion(), clang::Sema::CheckPointerToMemberOperands(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), ClassifyDiagnostic(), CollectVRQualifiers(), CompareStandardConversionSequences(), CompleteNonViableCandidate(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenTypes::ConvertType(), create_call_once(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), decomposeTypeForEH(), clang::Sema::DeduceReturnType(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), clang::SemaSYCL::deepTypeCheckForDevice(), clang::DEF_TRAVERSE_TYPE(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitLambdaToFunctionPointerConversion(), clang::Sema::DefineImplicitMoveAssignment(), dereference(), diagnoseArithmeticOnTwoFunctionPointers(), clang::Sema::DiagnoseAssignmentResult(), diagnoseBadCast(), DiagnoseCastOfObjCSEL(), DiagnoseDirectIsaAccess(), DiagnoseDivisionSizeofPointerOrArray(), clang::SemaSwift::DiagnoseName(), diagnoseOpenCLTypes(), diagnoseStringPlusChar(), clang::Sema::DiscardMisalignedMemberAddress(), doRewriteToUTF8StringBoxedExpressionHelper(), emitAlignedClause(), EmitAtomicCmpXchgForMSIntrin(), emitBadConversionNotes(), EmitBinaryAtomicPost(), EmitCheckedMixedSignMultiply(), EmitCheckedUnsignedMultiplySignedResult(), emitFrexpBuiltin(), EmitISOVolatileLoad(), EmitISOVolatileStore(), EmitPointerWithAlignment(), emitSincosBuiltin(), emitWritebackArg(), clang::ento::StoreManager::evalBaseToDerived(), clang::ento::ExprEngine::evalCall(), EvaluateBuiltinStrLen(), clang::Expr::EvaluateCharRangeAsString(), clang::Sema::FindCompositePointerType(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), GeneralizeType(), clang::CodeGen::CodeGenModule::GenKernelArgMetadata(), clang::FunctionEffectsRef::get(), getAArch64LS(), GetAlignedMapping(), getAlignmentAndOffsetFromBinAddOrSub(), getBaseAlignmentAndOffsetFromPtr(), GetBaseType(), clang::QualType::getBaseTypeIdentifier(), clang::Expr::getBestDynamicClassType(), clang::CallExpr::getCallReturnType(), getCanonicalParamType(), getConstantExprReferredType(), getCoreType(), getCXXRecord(), clang::ASTContext::getDeclAlign(), clang::ento::CXXInstanceCall::getDeclForDynamicType(), clang::getDeclUsageType(), getDeepPointeeType(), clang::interp::Descriptor::getElemQualType(), GetExplicitObjectExpr(), GetExplicitObjectType(), getFuchsiaHandleSymbols(), clang::TypeName::getFullyQualifiedType(), clang::CodeGen::CodeGenModule::getFunctionPointerAuthInfo(), clang::BlockExpr::getFunctionType(), clang::ASTContext::getInnerObjCOwnership(), clang::ento::StoreManager::getLValueElement(), clang::CodeGen::CodeGenModule::getNaturalPointeeTypeAlignment(), clang::QualType::getNonLValueExprType(), clang::QualType::getNonReferenceType(), clang::OverloadCandidate::getNumParams(), getObjCBridgeAttr(), clang::ASTContext::getObjCGCQualType(), clang::CXXMemberCallExpr::getObjectType(), getOpenCLKernelParameterType(), clang::interp::Program::getOrCreateDummy(), clang::CodeGen::CGOpenMPRuntimeGPU::getParameterAddress(), getPointeeCXXRecordDecl(), clang::ento::SymbolicRegion::getPointeeStaticType(), getPointeeType(), getPointeeTypeText(), clang::ASTContext::getPointerAuthTypeDiscriminator(), getPresumedAlignmentOfPointer(), getPrettyTypeName(), clang::CXXMemberCallExpr::getRecordDecl(), clang::interp::Compiler< Emitter >::getRecordTy(), getRecordType(), clang::ASTContext::getTargetNullPointerValue(), clang::CodeGen::CGCXXABI::getThisAddress(), clang::GetUnderlyingFunction(), getUuidAttrOfType(), clang::CodeGen::getVAListElementType(), HandleBaseToDerivedCast(), clang::consumed::ConsumedStmtVisitor::handleCall(), handleCallbackAttr(), clang::ento::tagged_union_modeling::handleConstructorAndAssignment(), clang::Sema::HandleFunctionTypeMismatch(), HandleMemberPointerAccess(), handleMSPointerTypeQualifierAttr(), handleObjCOwnershipTypeAttr(), clang::Sema::handlerCanCatch(), HandleWebAssemblyFuncrefAttr(), clang::SemaObjC::handleXReturnsXRetainedAttr(), hasBPFPreserveStaticOffset(), HasExplicitOwnershipAttr(), hasIsEqualMethod(), hasNonTrivialConstructorCall(), InitCatchParam(), clang::interp::interp__builtin_atomic_lock_free(), clang::CXXDynamicCastExpr::isAlwaysNull(), clang::Sema::IsBlockPointerConversion(), isCallback(), clang::CXXMethodDecl::isCopyAssignmentOperator(), clang::isErrorParameter(), isFunctionPointerType(), isFunctionReferenceType(), isIndirectPointerType(), clang::Sema::isInitListConstructor(), clang::CXXMethodDecl::isMoveAssignmentOperator(), clang::Expr::isNullPointerConstant(), clang::Sema::isObjCPointerConversion(), clang::SemaObjC::isObjCWritebackConversion(), isObjectPointerType(), isOSObjectRelated(), clang::StandardConversionSequence::isPointerConversionToVoidPointer(), isPointerToConst(), isPointerToObject(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::Sema::IsStringLiteralToNonConstPointerConversion(), isSubstitutedType(), isSwiftAsyncCallee(), IsTypeModifiable(), clang::SemaObjC::isValidOSObjectOutParameter(), clang::isValidSubjectOfOSAttribute(), clang::isValidSwiftContextType(), clang::isValidSwiftErrorResultType(), clang::isValidSwiftIndirectResultType(), isVoidPointer(), isVoidPointerToNonConst(), clang::AtomicExpr::isVolatile(), loadToBegin(), clang::Sema::LookupInlineAsmField(), LookupMemberExpr(), MakeBinaryAtomicValue(), clang::analyze_format_string::ArgType::matchesType(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MergeVarDeclExceptionSpecs(), needsAmpersandOnTemplateArg(), NoteSurrogateCandidate(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitObjectArgumentInitialization(), clang::Sema::PerformObjectMemberConversion(), clang::Sema::PerformQualificationConversion(), PerformReturnAdjustment(), clang::Sema::PrepareScalarCast(), clang::APValue::printPretty(), processImplicitMapsWithDefaultMappers(), clang::SemaCodeCompletion::ProduceCallSignatureHelp(), recoverFromMSUnqualifiedLookup(), clang::Sema::RefersToMemberWithReducedAlignment(), clang::ASTContext::removePtrSizeAddrSpace(), rewriteBuiltinFunctionDecl(), shouldSkipNotingLambdaConversionDecl(), clang::CodeGen::CGOpenMPRuntimeGPU::translateParameter(), TryDeconstructFunctionLike(), clang::Sema::tryExprAsCall(), tryGetFunctionProtoType(), TryObjectArgumentInitialization(), TryReinterpretCast(), TryStaticCast(), TryToFixInvalidVariablyModifiedType(), typeIsPostfix(), unwrapCastAwayConstnessLevel(), clang::ASTContext::UnwrapSimilarTypes(), clang::FunctionCallFilterCCC::ValidateCandidate(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitBlockPointerType(), clang::interp::Compiler< Emitter >::VisitCastExpr(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::interp::Compiler< Emitter >::VisitCXXReinterpretCastExpr(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitMemberPointerType(), clang::ento::UndefOrNullArgVisitor::VisitNode(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitObjCObjectPointerType(), clang::consumed::ConsumedStmtVisitor::VisitParmVarDecl(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitPointerType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitReferenceType(), and clang::interp::Compiler< Emitter >::VisitUnaryExprOrTypeTraitExpr().

◆ getRVVEltType() ◆ getScalarTypeKind()

Given that this is a scalar type, classify it.

Definition at line 2330 of file Type.cpp.

References isBitIntType(), isScalarType(), STK_BlockPointer, STK_Bool, STK_CPointer, STK_FixedPoint, STK_Floating, STK_FloatingComplex, STK_Integral, STK_IntegralComplex, STK_MemberPointer, STK_ObjCObjectPointer, and clang::T.

Referenced by matchTypes(), clang::Sema::PrepareScalarCast(), and clang::Sema::ScalarTypeToBooleanCastKind().

◆ getSizelessVectorEltType() ◆ getSveEltType()

Returns the representative type for the element of an SVE builtin type.

This is used to represent fixed-length SVE vectors created with the 'arm_sve_vector_bits' type attribute as VectorType.

Definition at line 2591 of file Type.cpp.

References clang::ASTContext::BuiltinVectorTypeInfo::ElementType, clang::ASTContext::getBuiltinVectorTypeInfo(), clang::BuiltinType::getKind(), isSveVLSBuiltinType(), and clang::ASTContext::UnsignedCharTy.

Referenced by clang::ASTContext::areCompatibleSveTypes(), clang::ASTContext::areLaxCompatibleSveTypes(), clang::Sema::CheckImplicitConversion(), clang::Sema::CheckSizelessVectorConditionalTypes(), checkSizelessVectorShift(), clang::Sema::CreateBuiltinArraySubscriptExpr(), getSizelessVectorEltType(), HandleArmSveVectorBitsTypeAttr(), and isValidSizelessVectorForConditionalCondition().

◆ getTypeClass() TypeClass clang::Type::getTypeClass ( ) const inline

Definition at line 2341 of file Type.h.

Referenced by addAssociatedClassesAndNamespaces(), clang::TypoCorrectionConsumer::addNamespaces(), clang::ASTContext::adjustType(), buildNamedType(), BuildSimilarlyQualifiedPointerType(), captureVariablyModifiedType(), clang::LocInfoType::classof(), clang::BuiltinType::classof(), clang::ComplexType::classof(), clang::ParenType::classof(), clang::PointerType::classof(), clang::BoundsAttributedType::classof(), clang::CountAttributedType::classof(), clang::AdjustedType::classof(), clang::DecayedType::classof(), clang::BlockPointerType::classof(), clang::ReferenceType::classof(), clang::LValueReferenceType::classof(), clang::RValueReferenceType::classof(), clang::MemberPointerType::classof(), clang::ArrayType::classof(), clang::ConstantArrayType::classof(), clang::ArrayParameterType::classof(), clang::IncompleteArrayType::classof(), clang::VariableArrayType::classof(), clang::DependentSizedArrayType::classof(), clang::DependentAddressSpaceType::classof(), clang::DependentSizedExtVectorType::classof(), clang::VectorType::classof(), clang::DependentVectorType::classof(), clang::ExtVectorType::classof(), clang::MatrixType::classof(), clang::ConstantMatrixType::classof(), clang::DependentSizedMatrixType::classof(), clang::FunctionType::classof(), clang::FunctionNoProtoType::classof(), clang::FunctionProtoType::classof(), clang::UnresolvedUsingType::classof(), clang::UsingType::classof(), clang::TypedefType::classof(), clang::MacroQualifiedType::classof(), clang::TypeOfExprType::classof(), clang::TypeOfType::classof(), clang::DecltypeType::classof(), clang::PackIndexingType::classof(), clang::UnaryTransformType::classof(), clang::TagType::classof(), clang::RecordType::classof(), clang::EnumType::classof(), clang::AttributedType::classof(), clang::BTFTagAttributedType::classof(), clang::HLSLAttributedResourceType::classof(), clang::TemplateTypeParmType::classof(), clang::SubstTemplateTypeParmType::classof(), clang::SubstTemplateTypeParmPackType::classof(), clang::DeducedType::classof(), clang::AutoType::classof(), clang::DeducedTemplateSpecializationType::classof(), clang::TemplateSpecializationType::classof(), clang::InjectedClassNameType::classof(), clang::ElaboratedType::classof(), clang::DependentNameType::classof(), clang::DependentTemplateSpecializationType::classof(), clang::PackExpansionType::classof(), clang::ObjCTypeParamType::classof(), clang::ObjCObjectType::classof(), clang::ObjCInterfaceType::classof(), clang::ObjCObjectPointerType::classof(), clang::AtomicType::classof(), clang::PipeType::classof(), clang::BitIntType::classof(), clang::DependentBitIntType::classof(), computeCachedProperties(), clang::LinkageComputer::computeTypeLinkageInfo(), clang::CIRGen::CIRGenTypes::convertType(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::Sema::CreateParsedType(), clang::desugarForDiagnostic(), encodeTypeForFunctionPointerAuth(), EvaluateBuiltinClassifyType(), getAsSugar(), clang::QualType::getBaseTypeIdentifier(), getCommonNonSugarTypeNode(), getCommonSugarTypeNode(), clang::Sema::getCopyElisionCandidate(), clang::ASTNodeKind::getFromNode(), getLocallyUnqualifiedSingleStepDesugaredType(), clang::getSimplifiedTypeClass(), clang::TypeLoc::getTypeLocClass(), clang::UnqualTypeLoc::getTypeLocClass(), getUnqualifiedDesugaredType(), clang::ASTContext::getVariableArrayDecayedType(), clang::QualType::isCXX98PODType(), isLayoutCompatible(), isObjCReceiverType(), IsPossiblyOpaquelyQualifiedTypeInternal(), isSpecifierType(), IsStructurallyEquivalent(), isSubstitutedType(), MarkUsedTemplateParameters(), clang::Sema::MaybeBindToTemporary(), clang::ASTContext::mergeTypes(), clang::ASTContext::PrintStats(), clang::RecursiveASTVisitor< Derived >::TraverseType(), typeIsPostfix(), UnwrapTypeForDebugInfo(), and clang::TypeVisitor< ImplClass, RetTy >::Visit().

◆ getTypeClassName() const char * Type::getTypeClassName ( ) const ◆ getUnqualifiedDesugaredType() const Type * Type::getUnqualifiedDesugaredType ( ) const

Return the specified type with any "sugar" removed from the type, removing any typedefs, typeofs, etc., as well as any qualifiers.

getUnqualifiedDesugaredType - Pull any qualifiers and syntactic sugar off the given type.

This should produce an object of the same dynamic type as the canonical type.

Definition at line 638 of file Type.cpp.

References getTypeClass().

Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::BuildPointerType(), createHostLayoutStruct(), createHostLayoutStructForBuffer(), clang::HLSLAttributedResourceType::findHandleTypeOnResource(), getArrayElementTypeNoTypeQual(), getAsStructureType(), getAsUnionType(), clang::ASTContext::getTargetNullPointerValue(), clang::ASTContext::getTypeUnadjustedAlign(), clang::ASTContext::getUnqualifiedArrayType(), handleCallbackAttr(), isHLSLIntangibleType(), clang::ento::iterator::isIteratorType(), IsPreserveAIArrayBase(), clang::isValidPreserveEnumValueArg(), clang::isValidPreserveTypeInfoArg(), isZeroSizedArray(), SourceLocationForUserDeclaredType(), and TryReferenceListInitialization().

◆ getVisibility() ◆ hasAttr() ◆ hasAutoForTrailingReturnType() bool Type::hasAutoForTrailingReturnType ( ) const

Determine whether this type was written with a leading 'auto' corresponding to a trailing return type (possibly for a nested function type within a pointer to function type or similar).

Definition at line 2050 of file Type.cpp.

Referenced by clang::Sema::FinalizeDeclaratorGroup().

◆ hasFloatingRepresentation() bool Type::hasFloatingRepresentation ( ) const

Determine whether this type has a floating-point representation of some sort, e.g., it is a floating-point type or a vector thereof.

Definition at line 2292 of file Type.cpp.

References isFloatingType().

Referenced by clang::Sema::ActOnParenExpr(), canApplyNoFPClass(), checkArithmeticOrEnumeralCompare(), checkArithmeticOrEnumeralThreeWayCompare(), clang::Sema::CheckBitwiseOperands(), clang::SemaHLSL::CheckBuiltinFunctionCall(), clang::Sema::CheckSizelessVectorCompareOperands(), clang::Sema::CheckVectorCompareOperands(), clang::Sema::CheckVectorLogicalOperands(), diagnoseTautologicalComparison(), EmitCompare(), and handleTransparentUnionAttr().

◆ hasIntegerRepresentation() bool Type::hasIntegerRepresentation ( ) const ◆ hasObjCPointerRepresentation() bool clang::Type::hasObjCPointerRepresentation ( ) const inline

Whether this type can represent an objective pointer type for the purpose of GC'ability.

Definition at line 8687 of file Type.h.

◆ hasPointerRepresentation() bool clang::Type::hasPointerRepresentation ( ) const inline

Whether this type is represented natively as a pointer.

This includes pointers, references, block pointers, and Objective-C interface, qualified id, and qualified interface types, as well as nullptr_t.

Definition at line 8682 of file Type.h.

Referenced by Evaluate(), EvaluateBuiltinStrLen(), EvaluatePointer(), clang::SemaSwift::handleError(), ignorePointerCastsAndParens(), is32Or64BitBasicType(), and clang::isValidSwiftContextType().

◆ hasSignedIntegerRepresentation() bool Type::hasSignedIntegerRepresentation ( ) const

Determine whether this type has an signed integer representation of some sort, e.g., it is an signed integer type or a vector.

Definition at line 2220 of file Type.cpp.

References isSignedIntegerOrEnumerationType().

Referenced by actOnOMPReductionKindClause(), AnalyzeComparison(), canConvertIntToOtherIntTy(), canConvertIntTyToFloatTy(), castValueToType(), checkOpenMPLoop(), checkPointerTypesForAssignment(), EmitCompare(), emitOMPAtomicCompareExpr(), clang::ASTContext::getCorrespondingSignedType(), clang::CodeGen::ABIArgInfo::getExtend(), getFirstBitHighIntrinsic(), handleIntegerConversion(), handleIntegerVectorBinOpConversion(), and clang::analyze_format_string::ArgType::matchesType().

◆ hasSizedVLAType() bool Type::hasSizedVLAType ( ) const ◆ hasUnnamedOrLocalType() bool Type::hasUnnamedOrLocalType ( ) const ◆ hasUnsignedIntegerRepresentation() bool Type::hasUnsignedIntegerRepresentation ( ) const ◆ isAggregateType() bool Type::isAggregateType ( ) const

Determines whether the type is a C++ aggregate type or C aggregate or union type.

An aggregate type is an array or a class type (struct, union, or class) that has no user-declared constructors, no private or protected non-static data members, no base classes, and no virtual functions (C++ [dcl.init.aggr]p1). The notion of an aggregate type subsumes the notion of C aggregates (C99 6.2.5p21) because it also includes union types.

Definition at line 2372 of file Type.cpp.

Referenced by clang::Sema::AddInitializerToDecl(), calculateLegacyCbufferSize(), EvaluateUnaryTypeTrait(), TryConstructorInitialization(), TryListConversion(), and TryListInitialization().

◆ isAlignValT() bool Type::isAlignValT ( ) const ◆ isAnyCharacterType() bool Type::isAnyCharacterType ( ) const ◆ isAnyComplexType() bool clang::Type::isAnyComplexType ( ) const inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 8300 of file Type.h.

Referenced by actOnOMPReductionKindClause(), checkArithmeticOrEnumeralCompare(), CheckIncrementDecrementOperand(), clang::interp::Context::classify(), clang::Sema::CreateBuiltinUnaryOp(), emitReplacement(), Evaluate(), EvaluateBuiltinConstantP(), EvaluateComparisonBinaryOperator(), EvaluateComplex(), EvaluateUnaryTypeTrait(), FindDesignatorMismatch(), findSubobject(), getAbsoluteValueKind(), clang::interp::interp__builtin_constant_p(), clang::ento::NonLoc::isCompoundType(), isDesignatorAtObjectEnd(), isLiteralType(), IsStandardConversion(), clang::APValue::printPretty(), TryListInitialization(), clang::interp::Compiler< Emitter >::visit(), clang::interp::Compiler< Emitter >::VisitBinaryOperator(), clang::interp::Compiler< Emitter >::visitBool(), clang::interp::Compiler< Emitter >::VisitCastExpr(), clang::interp::Compiler< Emitter >::VisitComplexBinOp(), clang::interp::Compiler< Emitter >::VisitComplexUnaryOperator(), clang::interp::Compiler< Emitter >::VisitImaginaryLiteral(), clang::ento::ExprEngine::VisitInitListExpr(), clang::ento::ExprEngine::VisitUnaryOperator(), and clang::interp::Compiler< Emitter >::VisitUnaryOperator().

◆ isAnyPointerType() bool clang::Type::isAnyPointerType ( ) const inline

Definition at line 8200 of file Type.h.

Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::Sema::ActOnFinishFunctionBody(), clang::SemaOpenMP::ActOnOMPArraySectionExpr(), clang::SemaOpenMP::ActOnOpenMPCopyprivateClause(), clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::SemaOpenMP::ActOnOpenMPPrivateClause(), clang::Sema::AddAlignValueAttr(), AreTypesCompatible(), clang::tooling::buildAccess(), clang::Sema::BuildQualifiedType(), clang::SemaARM::BuiltinARMMemoryTaggingCall(), clang::Sema::BuiltinRemovePointer(), CastsAwayConstness(), clang::Sema::CheckAdditionOperands(), checkArithmeticBinOpPointerOperands(), checkArithmeticIncompletePointerType(), checkArithmeticNull(), checkArithmeticOpPointerOperand(), clang::SemaARM::CheckARMBuiltinExclusiveCall(), clang::SemaRISCV::CheckBuiltinFunctionCall(), clang::Sema::CheckCompareOperands(), checkConditionalNullPointer(), clang::Sema::CheckFunctionDeclaration(), CheckLValueConstantExpression(), checkMapConflicts(), clang::Sema::CheckMSVCRTEntryPoint(), CheckNullabilityTypeSpecifier(), CheckOriginalCallArgDeduction(), clang::Sema::CheckPointerConversion(), clang::Sema::CheckPtrComparisonWithNullChar(), clang::Sema::CheckSubtractionOperands(), computeConditionalNullability(), convertPointersToCompositeType(), clang::SemaSYCL::deepTypeCheckForDevice(), clang::Sema::DefaultLvalueConversion(), diagnoseArithmeticOnTwoFunctionPointers(), DiagnoseBadFunctionCast(), DiagnoseCastQual(), DiagnoseNullConversion(), diagnosePointerIncompatibility(), diagnoseStringPlusChar(), clang::ento::SMTConv::doTypeConversion(), emitOutlinedFunctionPrologue(), EvaluateUnaryTypeTrait(), clang::Sema::FindCompositePointerType(), clang::ento::SMTConv::fromCast(), clang::ento::SMTConv::getBinExpr(), getFuchsiaHandleSymbols(), getNonNullAttr(), clang::ASTContext::getObjCGCAttrKind(), clang::ASTContext::getObjCGCQualType(), clang::CXXMemberCallExpr::getRecordDecl(), getVariableCategoryFromDecl(), clang::ento::SMTConv::getZeroExpr(), handleOwnershipAttr(), handleRestrictAttr(), isCallback(), clang::ento::isDereferencableType(), isIndirectPointerType(), clang::ento::Loc::isLocType(), clang::SemaOpenMP::isOpenMPCapturedByRef(), clang::StandardConversionSequence::isPointerConversionToVoidPointer(), isPointerToConst(), clang::CodeGen::CodeGenTypes::isPointerZeroInitializable(), clang::ASTContext::isSentinelNullExpr(), IsStandardConversion(), clang::Sema::isValidPointerAttrType(), isValidPointerType(), threadSafetyCheckIsPointer(), TryReinterpretCast(), unwrapCastAwayConstnessLevel(), clang::FunctionCallFilterCCC::ValidateCandidate(), and clang::ento::UndefOrNullArgVisitor::VisitNode().

◆ isArithmeticType() bool Type::isArithmeticType ( ) const

Definition at line 2315 of file Type.cpp.

References isBitIntType().

Referenced by actOnOMPReductionKindClause(), clang::SemaObjC::ActOnPropertyImplDecl(), clang::Sema::CheckAdditionOperands(), checkArithmeticOrEnumeralCompare(), checkArithmeticOrEnumeralThreeWayCompare(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckConditionalOperands(), clang::Sema::CheckMultiplyDivideOperands(), clang::Sema::CheckSubtractionOperands(), CheckVecStepTraitOperandType(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CXXCheckConditionalOperands(), DiagnoseLocalRegisterBinding(), clang::SemaObjC::DiagnosePropertyAccessorMismatch(), clang::ento::SMTConv::doTypeConversion(), EvaluateUnaryTypeTrait(), IsStandardConversion(), clang::SemaHLSL::IsTypedResourceElementCompatible(), IsVectorConversion(), IsVectorElementConversion(), tryGCCVectorConvertAndSplat(), and clang::Sema::UsualArithmeticConversions().

◆ isArrayParameterType() bool clang::Type::isArrayParameterType ( ) const inline ◆ isArrayType() bool clang::Type::isArrayType ( ) const inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 8264 of file Type.h.

Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::Sema::ActOnConditionalOp(), clang::Sema::ActOnCXXDelete(), clang::SemaOpenMP::ActOnOMPArraySectionExpr(), clang::SemaOpenMP::ActOnOpenMPAlignedClause(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionType(), clang::SemaOpenMP::ActOnOpenMPDeclareSimdDirective(), clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::SemaOpenMP::ActOnOpenMPIsDevicePtrClause(), clang::SemaObjC::AdjustParameterTypeForObjCAutoRefCount(), clang::Sema::BuildArrayType(), clang::Sema::BuildAtomicType(), clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), buildSingleCopyAssign(), buildUserDefinedMapperRef(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVectorType(), BuiltinAlignment(), clang::Sema::BuiltinDecay(), clang::SemaPPC::BuiltinPPCMMACall(), canInitializeArrayWithEmbedDataString(), captureInBlock(), CheckArrow(), CheckBitcastType(), clang::Sema::CheckConditionVariable(), clang::Sema::CheckConversionDeclarator(), CheckConvertibilityForTypeTraits(), clang::interp::CheckFieldsInitialized(), clang::Sema::CheckFunctionReturnType(), checkIsValidOpenCLKernelParameter(), clang::Sema::CheckNonTypeTemplateParameterType(), CheckNullabilityTypeSpecifier(), clang::Sema::CheckParameter(), clang::SemaPPC::CheckPPCMMAType(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), CheckUnaryTypeTraitTypeCompleteness(), ClassifyTemporary(), clang::Sema::ConstantFoldAttrArgs(), clang::CXXBindTemporaryExpr::Create(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateGenericSelectionExpr(), clang::SemaObjC::CreatePropertyDecl(), createReferenceTemporary(), DecodeTypeFromStr(), clang::Sema::DeduceAutoType(), clang::Sema::deduceOpenCLAddressSpace(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::deduceVarTypeFromInitializer(), clang::SemaSYCL::deepTypeCheckForDevice(), clang::Sema::DefaultFunctionArrayConversion(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::Sema::DiagnoseAssignmentResult(), DiagnoseLocalRegisterBinding(), diagnoseTautologicalComparison(), doRewriteToUTF8StringBoxedExpressionHelper(), emitOMPArraySectionBase(), emitPrivatesInit(), emitReadOnlyPlacementAttrWarning(), clang::CodeGen::CGOpenMPRuntime::emitSingleReductionCombiner(), Evaluate(), EvaluateArray(), EvaluateArrayNewConstructExpr(), EvaluateArrayNewInitList(), EvaluateArrayTypeTrait(), clang::interp::Context::evaluateAsInitializer(), EvaluateInPlace(), EvaluateUnaryTypeTrait(), clang::Sema::FinalizeVarWithDestructor(), FindDesignatorMismatch(), findSubobject(), clang::FunctionEffectsRef::get(), clang::ASTContext::getAdjustedParameterType(), getAsArrayToPointerDecayedDecl(), clang::QualType::getBaseTypeIdentifier(), clang::ASTContext::GetBuiltinType(), getCoreType(), clang::ASTContext::getCountAttributedType(), clang::ASTContext::getDecayedType(), getDesignatedType(), clang::interp::Descriptor::getElemQualType(), clang::ASTContext::getExceptionObjectType(), GetFullTypeForDeclarator(), clang::ASTContext::getInnerObjCOwnership(), clang::CodeGen::CodeGenModule::getNaturalTypeAlignment(), getOpenCLKernelParameterType(), getUuidAttrOfType(), handleLifetimeCategoryAttr(), handleLValueToRValueConversion(), clang::SemaHLSL::handlePackOffsetAttr(), clang::ASTContext::hasUniqueObjectRepresentations(), clang::ASTNodeImporter::ImportDeclParts(), clang::ASTNodeImporter::ImportFieldDeclDefinition(), clang::InitializationSequence::InitializeFrom(), clang::ento::NonLoc::isCompoundType(), clang::Expr::isConstantInitializer(), isDesignatorAtObjectEnd(), IsStandardConversion(), isTriviallyEqualityComparableType(), clang::SemaHLSL::IsTypedResourceElementCompatible(), clang::Expr::isUnusedResultAWarning(), isZeroSized(), clang::Sema::MergeVarDeclTypes(), needsAmpersandOnTemplateArg(), clang::InitializationSequence::Perform(), pushTemporaryCleanup(), rebuildPotentialResultsAsNonOdrUsed(), clang::ASTContext::removeAddrSpaceQualType(), setObjCGCLValueClass(), clang::interp::Pointer::toAPValue(), tryDiagnoseOverloadedCast(), TryOrBuildParenListInitialization(), TryReferenceInit(), TryReferenceInitializationCore(), clang::interp::Compiler< Emitter >::VisitCXXConstructExpr(), clang::interp::Compiler< Emitter >::VisitImplicitValueInitExpr(), clang::interp::Compiler< Emitter >::visitInitList(), clang::ento::ExprEngine::VisitInitListExpr(), and clang::ento::ExprEngine::VisitMemberExpr().

◆ isAtomicType() bool clang::Type::isAtomicType ( ) const inline

Definition at line 8347 of file Type.h.

Referenced by AnalyzeAssignment(), AnalyzeCompoundAssignment(), AnalyzeImplicitConversions(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildAtomicType(), clang::Sema::BuildQualifiedType(), CheckBoolLikeConversion(), CheckC23ConstexprVarType(), clang::Sema::CheckImplicitConversion(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinUnaryOp(), DiagnoseAtomicInCXXTypeTrait(), diagnoseRedundantReturnTypeQualifiers(), Evaluate(), EvaluateAtomic(), EvaluateInPlace(), GetFullTypeForDeclarator(), getOpenCLKernelParameterType(), clang::ento::isPrimitiveType(), clang::InitializationSequence::Perform(), and clang::interp::Compiler< Emitter >::VisitCastExpr().

◆ isBFloat16Type() bool clang::Type::isBFloat16Type ( ) const inline ◆ isBitIntType() bool clang::Type::isBitIntType ( ) const inline

Definition at line 8430 of file Type.h.

Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnMSAsmStmt(), clang::Sema::AddModeAttr(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildAtomicType(), clang::Sema::BuildVectorType(), clang::Sema::BuiltinChangeSignedness(), clang::Sema::CheckConditionalOperands(), clang::Sema::CheckEnumUnderlyingType(), clang::Sema::CheckTemplateArgument(), clang::Sema::checkTypeSupport(), clang::CodeGen::CodeGenTypes::convertTypeForLoadStore(), clang::CodeGen::CodeGenTypes::ConvertTypeForMem(), DetermineNoUndef(), DiagnoseBadShiftValues(), clang::CodeGen::ConstantEmitter::emitForMemory(), clang::ASTContext::getExtVectorType(), getScalarTypeKind(), clang::ASTContext::getVectorType(), isArithmeticType(), isIntegralOrUnscopedEnumerationType(), isIntegralType(), and isRealType().

◆ isBlockCompatibleObjCPointerType() bool Type::isBlockCompatibleObjCPointerType ( ASTContextctx ) const ◆ isBlockPointerType() bool clang::Type::isBlockPointerType ( ) const inline

Definition at line 8206 of file Type.h.

Referenced by clang::SemaObjC::ActOnObjCForCollectionStmt(), clang::applyObjCTypeArgs(), clang::ASTContext::BlockRequiresCopying(), clang::Sema::BuildArrayType(), clang::Sema::BuildCXXMemberCallExpr(), clang::SemaObjC::BuildInstanceMessage(), clang::SemaObjC::BuildObjCBridgedCast(), BuiltinDumpStruct(), CanThrow(), clang::ento::StoreManager::castRegion(), CastsAwayConstness(), checkArithmeticNull(), clang::SemaARM::CheckARMBuiltinExclusiveCall(), clang::Sema::CheckAssignmentConstraints(), checkBlockType(), clang::SemaRISCV::CheckBuiltinFunctionCall(), checkCastFunctionType(), clang::Sema::CheckCompareOperands(), checkConditionalBlockPointerCompatibility(), checkConditionalNullPointer(), clang::Sema::CheckConditionalOperands(), clang::Sema::CheckFieldDecl(), clang::SemaObjC::CheckMessageArgumentTypes(), clang::SemaObjC::CheckObjCPropertyAttributes(), clang::Sema::CheckPointerConversion(), clang::Sema::CheckSingleAssignmentConstraints(), clang::SemaObjC::CheckSubscriptingKind(), clang::Sema::CheckVariableDeclarationType(), clang::interp::Context::classify(), compareConversionFunctions(), computeCopyInfoForBlockCapture(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinUnaryOp(), clang::CodeCompletionResult::createCodeCompletionStringForDecl(), clang::Sema::DefaultVariadicArgumentPromotion(), DiagnoseBadFunctionCast(), DiagnoseNullConversion(), diagnoseObjCARCConversion(), diagnoseTautologicalComparison(), DiagnoseUninitializedUse(), clang::ento::SMTConv::doTypeConversion(), FormatFunctionParameter(), clang::ento::SMTConv::fromCast(), clang::Sema::GatherArgumentsForCall(), getBlockFieldFlagsForObjCObjectPointer(), clang::ASTContext::getByrefLifetime(), GetFullTypeForDeclarator(), clang::Decl::getFunctionType(), GetGCAttrTypeForType(), getNonNullAttr(), clang::ASTContext::getObjCGCAttrKind(), getPointerAuthInfoForType(), getScalarZeroExpressionForType(), clang::ObjCPropertyDecl::getSetterKind(), clang::ento::CallEventManager::getSimpleCall(), clang::ento::SMTConv::getZeroExpr(), handleAnalyzerNoReturnAttr(), clang::SemaSwift::handleAsyncAttr(), handleOwnershipAttr(), handleRestrictAttr(), handleSentinelAttr(), is32Or64BitBasicType(), clang::isBlockPointer(), isCallback(), isFunctionLike(), clang::CXXConversionDecl::isLambdaToBlockPointerConversion(), clang::ento::Loc::isLocType(), isObjCARCBridgableType(), isObjCRetainableType(), clang::Sema::IsPointerConversion(), clang::CodeGen::CodeGenTypes::isPointerZeroInitializable(), IsStandardConversion(), clang::Sema::isValidPointerAttrType(), isValidPointerType(), isVariableCapturable(), clang::analyze_format_string::ArgType::matchesType(), clang::Sema::maybeExtendBlockObject(), clang::ASTContext::mergeTypes(), clang::Sema::PerformImplicitConversion(), shouldEmitSeparateBlockRetain(), SuggestInitializationFixit(), TryReinterpretCast(), TryStaticCast(), and unwrapCastAwayConstnessLevel().

◆ isBooleanType() bool clang::Type::isBooleanType ( ) const inline

Definition at line 8648 of file Type.h.

Referenced by clang::Sema::ActOnGCCAsmStmt(), AddObjCKeyValueCompletions(), AddOrdinaryNameResults(), AnalyzeBitFieldAssignment(), AnalyzeImplicitConversions(), clang::ento::SMTConstraintManager::assumeSym(), buildCoawaitCalls(), BuildExpressionFromIntegralTemplateArgumentValue(), clang::Sema::BuildExtVectorType(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVectorType(), clang::Sema::BuiltinChangeSignedness(), ChangeIntegralSignedness(), checkArithmeticOrEnumeralThreeWayCompare(), clang::SemaHLSL::CheckBuiltinFunctionCall(), CheckConditionalOperator(), CheckConvertedConstantConversions(), clang::Sema::CheckEnumConstant(), clang::Sema::CheckImplicitConversion(), CheckIncrementDecrementOperand(), checkIntToPointerCast(), clang::Sema::CheckLogicalOperands(), clang::Sema::CheckLoopHintExpr(), clang::Sema::CheckSingleAssignmentConstraints(), CheckTautologicalComparison(), clang::Sema::CheckTemplateArgument(), clang::interp::Context::classify(), ConvertAPValueToString(), create_OSAtomicCompareAndSwap(), clang::Sema::CreateOverloadedBinOp(), DiagnoseBadFunctionCast(), clang::Sema::DiagnoseStaticAssertDetails(), ExprLooksBoolean(), clang::ento::SMTConv::fromCast(), clang::ASTContext::getIntWidth(), getOpenCLKernelParameterType(), getScalarZeroExpressionForType(), clang::ento::SMTConstraintManager::getSymVal(), clang::ento::SMTConv::getZeroExpr(), HandleIntToIntCast(), handleVecTypeHint(), hasBooleanRepresentation(), clang::InitializationSequence::InitializeFrom(), isBooleanType(), clang::Sema::IsIntegralPromotion(), isIntOrBool(), clang::Expr::isKnownToHaveBooleanValue(), IsStandardConversion(), clang::SemaHLSL::IsTypedResourceElementCompatible(), clang::MatrixType::isValidElementType(), IsVectorElementConversion(), clang::ento::SMTConv::mkSort(), clang::Sema::PerformImplicitConversion(), clang::Sema::prepareVectorSplat(), printIntegral(), clang::APValue::printPretty(), clang::ento::ConditionBRVisitor::printValue(), rewriteToNumericBoxedExpression(), TryListInitialization(), TryReinterpretCast(), TryStaticCast(), tryVectorConvertAndSplat(), clang::Sema::VerifyBitField(), clang::interp::Compiler< Emitter >::VisitCXXNoexceptExpr(), and clang::interp::Compiler< Emitter >::VisitTypeTraitExpr().

◆ isBuiltinType() bool clang::Type::isBuiltinType ( ) const inline

Helper methods to distinguish type categories.

All type predicates operate on the canonical type, ignoring typedefs and qualifiers. Returns true if the type is a builtin type.

Definition at line 8288 of file Type.h.

Referenced by clang::SemaObjC::BuildObjCBoxedExpr(), clang::Sema::BuildVectorType(), builtinCommonTypeImpl(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::ASTContext::getExtVectorType(), clang::ASTContext::getVectorType(), clang::SemaObjC::handleIBOutletCollection(), isHLSLIntangibleType(), clang::ento::isPrimitiveType(), isTypeSubstitutable(), and clang::Sema::PerformImplicitConversion().

◆ isCanonicalUnqualified() bool clang::Type::isCanonicalUnqualified ( ) const inline ◆ isCARCBridgableType() bool Type::isCARCBridgableType ( ) const ◆ isChar16Type() bool Type::isChar16Type ( ) const ◆ isChar32Type() bool Type::isChar32Type ( ) const ◆ isChar8Type() bool Type::isChar8Type ( ) const ◆ isCharType() bool Type::isCharType ( ) const

Definition at line 2123 of file Type.cpp.

Referenced by clang::Sema::CheckImplicitConversion(), clang::Sema::CheckLoopHintExpr(), checkParamIsIntegerType(), checkPointerTypesForAssignment(), DiagnoseDivisionSizeofPointerOrArray(), clang::analyze_printf::PrintfSpecifier::fixType(), getScalarZeroExpressionForType(), handleFormatArgAttr(), handleFormatAttr(), clang::InitializationSequence::InitializeFrom(), clang::Sema::IsIntegralPromotion(), clang::BinaryOperator::isNullPointerArithmeticExtension(), clang::interp::isOneByteCharacterType(), isOneByteCharacterType(), isSameWidthConstantConversion(), IsStringInit(), clang::analyze_format_string::ArgType::matchesType(), and printIntegral().

◆ isClassType() bool Type::isClassType ( ) const ◆ isClkEventT() bool clang::Type::isClkEventT ( ) const inline ◆ isComplexIntegerType() bool Type::isComplexIntegerType ( ) const ◆ isComplexType() bool Type::isComplexType ( ) const ◆ isCompoundType() bool clang::Type::isCompoundType ( ) const inline ◆ isConstantArrayType() bool clang::Type::isConstantArrayType ( ) const inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 8268 of file Type.h.

Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::SemaOpenMP::ActOnOMPArraySectionExpr(), clang::Sema::deduceVarTypeFromInitializer(), EquivalentArrayTypes(), clang::ASTContext::getAdjustedParameterType(), clang::ASTContext::getArrayParameterType(), GetFullTypeForDeclarator(), hasCompatibleArrayTypes(), isInvalidConstantBufferLeafElementType(), isQualificationConversionStep(), IsStandardConversion(), unwrapCastAwayConstnessLevel(), and clang::Value::Value().

◆ isConstantMatrixType() bool clang::Type::isConstantMatrixType ( ) const inline ◆ isConstantSizeType() bool Type::isConstantSizeType ( ) const

Return true if this is not a variable sized type, according to the rules of C99 6.7.5p3.

isConstantSizeType - Return true if this is not a variable sized type, according to the rules of C99 6.7.5p3.

It is not legal to call this on incomplete types.

It is not legal to call this on incomplete types or dependent types.

Definition at line 2386 of file Type.cpp.

References isDependentType(), and isIncompleteType().

Referenced by clang::Sema::BuildArrayType(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), getAlignmentAndOffsetFromBinAddOrSub(), clang::ASTContext::getConstantArrayType(), clang::CodeGen::CodeGenModule::getOrCreateStaticVarDecl(), HandleSizeof(), clang::interp::Compiler< Emitter >::VisitUnaryExprOrTypeTraitExpr(), and clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr().

◆ isConvertibleToFixedPointType() bool clang::Type::isConvertibleToFixedPointType ( ) const inline ◆ isCountAttributedType() bool Type::isCountAttributedType ( ) const

Definition at line 727 of file Type.cpp.

◆ isCUDADeviceBuiltinSurfaceType() bool Type::isCUDADeviceBuiltinSurfaceType ( ) const ◆ isCUDADeviceBuiltinTextureType() bool Type::isCUDADeviceBuiltinTextureType ( ) const ◆ isDecltypeType() bool clang::Type::isDecltypeType ( ) const inline ◆ isDependentAddressSpaceType() bool clang::Type::isDependentAddressSpaceType ( ) const inline ◆ isDependentSizedArrayType() bool clang::Type::isDependentSizedArrayType ( ) const inline ◆ isDependentType() bool clang::Type::isDependentType ( ) const inline

Whether this type is a dependent type, meaning that its definition somehow depends on a template parameter (C++ [temp.dep.type]).

Definition at line 2707 of file Type.h.

Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCaseExpr(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishCXXInClassMemberInitializer(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnInitializerError(), clang::SemaObjC::ActOnObjCForCollectionStmt(), clang::SemaOpenMP::ActOnOpenMPCopyinClause(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnSEHExceptBlock(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnStartOfFunctionDef(), clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(), clang::SemaObjC::ActOnStartOfObjCMethodDef(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::ActOnUsingEnumDeclaration(), clang::Sema::AddAlignedAttr(), clang::Sema::AddAlignValueAttr(), clang::Sema::AddAllocAlignAttr(), clang::Sema::AddInitializerToDecl(), clang::Sema::AddModeAttr(), AddRecordMembersCompletionResults(), clang::applyObjCTypeArgs(), clang::Sema::AttachBaseSpecifiers(), clang::Sema::BuildArrayType(), clang::Sema::BuildArrayTypeTrait(), clang::Sema::BuildAsTypeExpr(), clang::Sema::BuildBaseInitializer(), clang::Sema::BuildBuiltinBitCastExpr(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCaptureField(), clang::SemaObjC::BuildClassMessage(), buildCoawaitCalls(), clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::buildCoroutinePromise(), clang::Sema::BuildCoyieldExpr(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXNamedCast(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildCXXUuidof(), buildDeclareReductionRef(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExtVectorType(), buildLambdaScopeReturnType(), clang::Sema::BuildMatrixType(), clang::Sema::BuildMemberReferenceExpr(), clang::SemaObjC::BuildObjCAtThrowStmt(), clang::SemaObjC::BuildObjCBridgedCast(), clang::SemaObjC::BuildObjCEncodeExpression(), clang::SemaObjC::BuildObjCExceptionDecl(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildResolvedCoawaitExpr(), clang::Sema::BuildReturnStmt(), clang::Sema::BuildUnaryTransformType(), buildUserDefinedMapperRef(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVariableInstantiation(), clang::Sema::BuildVectorType(), clang::SemaPPC::BuiltinVSX(), canCaptureVariableByCopy(), clang::Sema::canFullyTypeCheckRedeclaration(), canRecoverDotPseudoDestructorCallsOnPointerObjects(), clang::Sema::canThrow(), captureInLambda(), checkAcquireOrderAttrCommon(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckAlignasUnderalignment(), clang::Sema::CheckAllocatedType(), clang::Sema::checkArrayElementAlignment(), clang::Sema::CheckBaseSpecifier(), checkBuiltinTemplateIdType(), clang::Sema::CheckCastAlign(), clang::Sema::CheckClassTemplate(), clang::Sema::CheckCompatibleReinterpretCast(), clang::Sema::CheckCompleteDecompositionDeclaration(), CheckConstexprMissingReturn(), clang::Sema::CheckConstraintExpression(), clang::Sema::CheckDeductionGuideDeclarator(), clang::Sema::CheckEnumConstant(), clang::Sema::CheckEnumRedeclaration(), clang::Sema::CheckEnumUnderlyingType(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckFieldDecl(), CheckLiteralType(), clang::Sema::CheckNonDependentConversions(), clang::Sema::CheckNontrivialField(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::SemaOpenMP::CheckOMPThreadPrivateDecl(), checkOpenMPIterationSpace(), CheckOperatorNewDeleteTypes(), clang::Sema::CheckOverload(), clang::Sema::CheckOverloadedOperatorDeclaration(), clang::Sema::CheckOverrideControl(), clang::Sema::CheckOverridingFunctionReturnType(), clang::Sema::CheckQualifiedMemberReference(), clang::SemaSYCL::CheckSYCLEntryPointFunctionDecl(), CheckSYCLKernelName(), clang::Sema::CheckTemplateArgument(), clang::Sema::checkTypeSupport(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::Sema::CheckVariableDeclarationType(), clang::SemaOpenACC::CheckVarIsPointerType(), clang::Sema::computeDeclContext(), clang::computeDependence(), clang::Sema::ConvertVectorExpr(), clang::CoroutineSuspendExpr::CoroutineSuspendExpr(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CreateGenericSelectionExpr(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), clang::CXXInheritedCtorInitExpr::CXXInheritedCtorInitExpr(), clang::Sema::DeduceAutoType(), clang::Sema::deduceClosureReturnType(), DeduceFromInitializerList(), deduceOpenCLPointeeAddrSpace(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DefaultLvalueConversion(), clang::DependentCoawaitExpr::DependentCoawaitExpr(), DiagnoseDivisionSizeofPointerOrArray(), clang::Sema::DiagnoseInvalidExplicitObjectParameterInLambda(), clang::Sema::DiagnoseSizeOfParametersAndReturnValue(), clang::Sema::DiscardMisalignedMemberAddress(), EvaluateArrayTypeTrait(), EvaluateBinaryTypeTrait(), EvaluateBuiltinClassifyType(), EvaluateUnaryTypeTrait(), EvaluateVarDecl(), clang::Sema::FillInlineAsmIdentifierInfo(), findTemplateParameter(), FixDependencyOfIdExpressionsInLambdaWithDependentObjectParameter(), FormatFunctionParameter(), getAsSimpleValueDeclRef(), clang::Expr::getBestDynamicClassType(), clang::CallExpr::getCallReturnType(), clang::ASTContext::getCanonicalTemplateSpecializationType(), clang::ASTContext::getConstantArrayType(), clang::Sema::getCopyElisionCandidate(), clang::ento::CallEvent::getDeclaredResultType(), clang::CXXDeleteExpr::getDestroyedType(), clang::Sema::getDestructorName(), clang::Sema::getDestructorTypeForDecltype(), clang::ASTContext::getExtVectorType(), clang::dataflow::getFieldsFromClassHierarchy(), GetFullTypeForDeclarator(), getOpenCLKernelParameterType(), clang::ASTContext::getPointerAuthTypeDiscriminator(), clang::ASTContext::getTypeSizeInCharsIfKnown(), clang::ASTContext::getUnaryTransformType(), clang::ASTContext::getUnconstrainedType(), HandleHLSLParamModifierAttr(), handlePackedAttr(), clang::SemaObjC::handlePreciseLifetimeAttr(), HandleSizeof(), hasDeducibleTemplateParameters(), clang::VarDecl::hasDependentAlignment(), clang::FunctionProtoType::hasDependentExceptionSpec(), clang::CoroutineBodyStmt::hasDependentPromiseType(), hasRepeatedBaseClass(), hasUserDefinedMapper(), clang::InitializationSequence::InitializeFrom(), clang::Sema::isAcceptableNestedNameSpecifier(), IsAcceptableNonMemberOperatorCandidate(), isConstantSizeType(), clang::QualType::isCXX11PODType(), clang::DeclarationName::isDependentName(), isDependentOrGNUAutoType(), IsDerivedFromInclusive(), clang::Sema::isIncompatibleTypedef(), isIncompleteType(), isLiteralType(), isObjCReceiverType(), isOverflowingIntegerType(), clang::ASTContext::isPromotableIntegerType(), isRelevantAttr(), isStandardLayoutType(), isTriviallyCopyableTypeImpl(), isTriviallyEqualityComparableType(), clang::QualType::isTrivialType(), clang::MatrixType::isValidElementType(), clang::Sema::isValidPointerAttrType(), clang::isValidSubjectOfCFAttribute(), clang::isValidSubjectOfNSAttribute(), clang::isValidSubjectOfNSReturnsRetainedAttribute(), clang::isValidSubjectOfOSAttribute(), clang::isValidSwiftContextType(), clang::isValidSwiftErrorResultType(), clang::isValidSwiftIndirectResultType(), clang::Sema::isValidVarArgType(), LookupDirect(), clang::Sema::LookupInlineAsmIdentifier(), clang::Sema::LookupInlineAsmVarDeclField(), LookupMemberExpr(), LookupMemberExprInRecord(), clang::Sema::LookupParsedName(), clang::Sema::LookupTemplateName(), clang::Sema::MarkThisReferenced(), MarkUsedTemplateParameters(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), clang::Sema::MergeVarDeclTypes(), clang::InitializationSequence::Perform(), clang::Sema::PerformObjectMemberConversion(), clang::AutoType::Profile(), clang::TreeTransform< Derived >::RebuildQualifiedType(), clang::Sema::RefersToMemberWithReducedAlignment(), clang::Sema::RequireLiteralType(), clang::Sema::RequireStructuralType(), clang::CXXRecordDecl::setBases(), clang::TreeTransform< Derived >::TransformNestedNameSpecifierLoc(), TryToFixInvalidVariablyModifiedType(), clang::TypoExpr::TypoExpr(), VariableCanNeverBeAConstantExpression(), clang::Sema::VerifyBitField(), clang::JSONNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::interp::Compiler< Emitter >::VisitUnaryExprOrTypeTraitExpr(), and warnAboutRedundantParens().

◆ isDoubleType() bool clang::Type::isDoubleType ( ) const inline

Definition at line 8533 of file Type.h.

◆ isElaboratedTypeSpecifier() bool Type::isElaboratedTypeSpecifier ( ) const ◆ isEnumeralType() bool clang::Type::isEnumeralType ( ) const inline

Definition at line 8296 of file Type.h.

Referenced by clang::Sema::ActOnCXXDelete(), clang::SemaOpenACC::ActOnIntExpr(), AnalyzeBitFieldAssignment(), argTypeIsABIEquivalent(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXNew(), BuildExpressionFromIntegralTemplateArgumentValue(), clang::Sema::BuiltinChangeSignedness(), clang::Sema::BuiltinEnumUnderlyingType(), ChangeIntegralSignedness(), checkArithmeticOrEnumeralCompare(), checkArithmeticOrEnumeralThreeWayCompare(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckCompareOperands(), CheckIncrementDecrementOperand(), checkIntToPointerCast(), clang::Sema::CheckOverloadedOperatorDeclaration(), clang::Sema::CheckSizelessVectorConditionalTypes(), clang::Sema::CheckSwitchCondition(), CheckTautologicalComparison(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckVectorConditionalTypes(), DiagnoseBadFunctionCast(), EvaluateUnaryTypeTrait(), clang::QualType::getBaseTypeIdentifier(), clang::ASTContext::getCorrespondingSignedType(), clang::ASTContext::getCorrespondingUnsignedType(), GetEnumUnderlyingType(), getFixedEnumPromtion(), getNextLargerIntegralType(), getScalarZeroExpressionForType(), HasEnumType(), is32Or64BitBasicType(), IsAcceptableNonMemberOperatorCandidate(), clang::Sema::IsIntegralPromotion(), isNullPointerConstantForConversion(), clang::ento::isPrimitiveType(), clang::ASTContext::isPromotableBitField(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), isRepresentableIntegerValue(), isTriviallyEqualityComparableType(), clang::SemaHLSL::IsTypedResourceElementCompatible(), clang::MatrixType::isValidElementType(), isValidSizelessVectorForConditionalCondition(), isValidVectorForConditionalCondition(), clang::SemaOpenMP::PerformOpenMPImplicitIntegerConversion(), clang::TreeTransform< Derived >::TransformNestedNameSpecifierLoc(), tryGCCVectorConvertAndSplat(), TryStaticCast(), clang::Sema::VerifyIntegerConstantExpression(), and clang::interp::Compiler< Emitter >::VisitCastExpr().

◆ isEventT() bool clang::Type::isEventT ( ) const inline ◆ isExtVectorBoolType() bool clang::Type::isExtVectorBoolType ( ) const inline ◆ isExtVectorType() bool clang::Type::isExtVectorType ( ) const inline

Definition at line 8308 of file Type.h.

Referenced by clang::Sema::areLaxCompatibleVectorTypes(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckConditionalOperands(), clang::Sema::CheckExtVectorCast(), clang::Sema::CheckVectorConditionalTypes(), clang::Sema::CheckVectorOperands(), convertVector(), clang::Sema::CreateBuiltinUnaryOp(), EvaluateUnaryTypeTrait(), handleVecTypeHint(), clang::InitializationSequence::InitializeFrom(), isValidVectorForConditionalCondition(), LookupMemberExpr(), clang::InitializationSequence::Perform(), clang::Sema::prepareVectorSplat(), and TryReinterpretCast().

◆ isFixedPointOrIntegerType() bool clang::Type::isFixedPointOrIntegerType ( ) const inline ◆ isFixedPointType() bool clang::Type::isFixedPointType ( ) const inline

Return true if this is a fixed point type according to ISO/IEC JTC1 SC22 WG14 N1169.

Definition at line 8573 of file Type.h.

Referenced by clang::Sema::CheckImplicitConversion(), clang::interp::Context::classify(), clang::Sema::CreateBuiltinBinOp(), DiagnoseBadFunctionCast(), DiagnoseBadShiftValues(), Evaluate(), EvaluateAsFixedPoint(), EvaluateComparisonBinaryOperator(), EvaluateFixedPoint(), EvaluateFixedPointOrInteger(), clang::ASTContext::getCorrespondingSaturatedType(), clang::ASTContext::getCorrespondingSignedType(), clang::ASTContext::getCorrespondingUnsaturatedType(), clang::ASTContext::getCorrespondingUnsignedType(), clang::ASTContext::getFixedPointIBits(), clang::ASTContext::getFixedPointMax(), clang::ASTContext::getFixedPointMin(), clang::ASTContext::getFixedPointScale(), clang::ASTContext::getFixedPointSemantics(), handleFixedPointConversion(), handleFloatConversion(), IsStandardConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::UsualArithmeticConversions(), clang::interp::Compiler< Emitter >::VisitBinaryOperator(), clang::interp::Compiler< Emitter >::VisitFixedPointBinOp(), clang::interp::Compiler< Emitter >::VisitFixedPointLiteral(), clang::interp::Compiler< Emitter >::VisitFixedPointUnaryOperator(), and clang::interp::Compiler< Emitter >::VisitUnaryOperator().

◆ isFloat128Type() bool clang::Type::isFloat128Type ( ) const inline ◆ isFloat16Type() bool clang::Type::isFloat16Type ( ) const inline ◆ isFloat32Type() bool clang::Type::isFloat32Type ( ) const inline ◆ isFloatingType() bool Type::isFloatingType ( ) const

Definition at line 2283 of file Type.cpp.

Referenced by actOnOMPReductionKindClause(), clang::Sema::AddInitializerToDecl(), clang::Sema::AddModeAttr(), clang::Sema::BuildAtomicExpr(), clang::SemaARM::CheckARMBuiltinExclusiveCall(), clang::SemaRISCV::CheckBuiltinFunctionCall(), checkCondition(), clang::Sema::checkEnumArithmeticConversions(), clang::Sema::CheckImplicitConversion(), clang::Sema::CheckLogicalOperands(), clang::interp::Context::classify(), PNaClABIInfo::classifyArgumentType(), DetectPrecisionLossInComplexDivision(), diagnoseIfNeedsFPReg(), DiagnoseLocalRegisterBinding(), EvaluateBuiltinConstantP(), EvaluateUnaryTypeTrait(), getAArch64PBV(), getDotProductIntrinsic(), clang::UserDefinedLiteral::getLiteralOperatorKind(), handleVectorVectorBinOp(), handleVecTypeHint(), hasFloatingRepresentation(), clang::interp::interp__builtin_constant_p(), clang::Sema::PerformImplicitConversion(), clang::Sema::prepareVectorSplat(), rewriteToNumberLiteral(), clang::interp::Pointer::toRValue(), TryListInitialization(), unsupportedTypeConversion(), clang::Sema::UsualUnaryFPConversions(), clang::interp::Compiler< Emitter >::VisitBinaryOperator(), clang::InterfaceKindVisitor::VisitBuiltinType(), clang::interp::Compiler< Emitter >::VisitCastExpr(), clang::interp::Compiler< Emitter >::VisitCompoundAssignOperator(), clang::interp::Compiler< Emitter >::VisitFloatCompoundAssignOperator(), and clang::ento::ExprEngine::VisitUnaryOperator().

◆ isFromAST() bool clang::Type::isFromAST ( ) const inline ◆ isFunctionNoProtoType() bool clang::Type::isFunctionNoProtoType ( ) const inline ◆ isFunctionPointerType() bool clang::Type::isFunctionPointerType ( ) const inline

Definition at line 8232 of file Type.h.

References getPointeeType(), isFunctionType(), and clang::T.

Referenced by clang::Sema::ActOnVariableDeclarator(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2(), BuiltinAlignment(), BuiltinDumpStruct(), BuiltinLaunder(), CanThrow(), checkCastFunctionType(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckParameter(), checkPointerTypesForAssignment(), checkPtrAuthTypeDiscriminatorOperandType(), clang::interp::Context::classify(), DiagnoseCallingConvCast(), diagnoseOpenCLTypes(), clang::CodeGen::CodeGenModule::getFunctionPointer(), clang::CodeGen::CodeGenModule::getFunctionPointerAuthInfo(), clang::Decl::getFunctionType(), getPointeeTypeText(), clang::ASTContext::getPointerAuthTypeDiscriminator(), handleAnalyzerNoReturnAttr(), handleCallbackAttr(), handleSentinelAttr(), isCallback(), isFunctionLike(), clang::Decl::isFunctionPointerType(), clang::QualType::isWebAssemblyFuncrefType(), maybeDiagnoseAssignmentToFunction(), ResolveOverloadForDeduction(), TryConstCast(), and TryReinterpretCast().

◆ isFunctionProtoType() bool clang::Type::isFunctionProtoType ( ) const inline ◆ isFunctionReferenceType() bool clang::Type::isFunctionReferenceType ( ) const inline ◆ isFunctionType() bool clang::Type::isFunctionType ( ) const inline

Definition at line 8188 of file Type.h.

Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnDecompositionDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::SemaOpenMP::ActOnOMPArraySectionExpr(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionType(), clang::Sema::BuildArrayType(), clang::Sema::BuildAtomicType(), clang::Sema::BuildBlockPointerType(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildMemberPointerType(), clang::Sema::BuildPointerType(), clang::Sema::BuildReferenceType(), clang::Sema::BuiltinChangeCVRQualifiers(), clang::Sema::BuiltinDecay(), BuiltinDumpStruct(), BuiltinLaunder(), clang::Sema::CallExprUnaryConversions(), captureInLambda(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckAllocatedType(), checkArithmeticBinOpPointerOperands(), checkArithmeticNull(), checkArithmeticOpPointerOperand(), CheckArrow(), checkCastFunctionType(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckConditionVariable(), clang::Sema::CheckConstraintExpression(), clang::Sema::CheckConversionDeclarator(), CheckConvertibilityForTypeTraits(), clang::Sema::CheckCountedByAttrOnField(), CheckExtensionTraitOperandType(), clang::Sema::CheckFunctionReturnType(), clang::Sema::CheckMain(), clang::Sema::CheckMSVCRTEntryPoint(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), CheckOriginalCallArgDeduction(), clang::Sema::CheckPointerConversion(), checkPointerTypesForAssignment(), checkPtrAuthTypeDiscriminatorOperandType(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentIsCompatibleWithParameter(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::interp::Context::classify(), ClassifyBinaryOp(), clang::Sema::CompareReferenceRelationship(), clang::Sema::ConstantFoldAttrArgs(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::SemaObjC::CreatePropertyDecl(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DefaultFunctionArrayConversion(), determineEndOffset(), clang::Sema::DiagnoseAlwaysNonNullPointer(), emitPointerArithmetic(), Evaluate(), EvaluateBinaryTypeTrait(), EvaluateBooleanTypeTrait(), EvaluateLValue(), EvaluateUnaryTypeTrait(), clang::Sema::FillInlineAsmIdentifierInfo(), FindConversionForRefInit(), clang::FunctionDecl::FunctionDecl(), clang::ASTContext::getAdjustedParameterType(), clang::ASTContext::getBlockPointerType(), clang::ASTContext::getDecayedType(), clang::ASTContext::getDeclAlign(), clang::ASTContext::getExceptionObjectType(), GetFullTypeForDeclarator(), clang::CodeGen::CodeGenModule::getFunctionPointer(), clang::CodeGen::CodeGenModule::getFunctionPointerAuthInfo(), clang::ASTContext::getObjCEncodingForBlock(), clang::ASTContext::getObjCEncodingForFunctionDecl(), clang::ASTContext::getObjCEncodingForMethodDecl(), getPointerAuthInfoForPointeeType(), clang::ASTContext::getPointerAuthTypeDiscriminator(), clang::CodeGen::CodeGenTypes::getTargetAddressSpace(), HandleAddressSpaceTypeAttribute(), clang::Sema::HandleDeclarator(), HandleOperatorNewCall(), HandleSizeof(), clang::Sema::IgnoredValueConversions(), clang::TemplateDeclInstantiator::InstantiateVarTemplatePartialSpecialization(), clang::interp::interp__builtin_operator_new(), clang::Declarator::isDeclarationOfFunction(), isFunctionPointerType(), isFunctionReferenceType(), IsModifiable(), isObjectPointerType(), clang::Sema::IsPointerConversion(), clang::ento::isPrimitiveType(), IsStandardConversion(), isVariableAlreadyCapturedInScopeInfo(), clang::Sema::LookupInlineAsmIdentifier(), LookupMemberExpr(), maybeDiagnoseAssignmentToFunction(), maybeSynthesizeBlockSignature(), clang::ASTContext::mergeObjCGCQualifiers(), clang::TreeTransform< Derived >::RebuildQualifiedType(), clang::Sema::resolveAndFixAddressOfSingleOverloadCandidate(), ResolveOverloadForDeduction(), TryReferenceInit(), TryReferenceInitializationCore(), TryStaticCast(), and clang::interp::Compiler< Emitter >::VisitUnaryExprOrTypeTraitExpr().

◆ isFundamentalType() bool clang::Type::isFundamentalType ( ) const inline

Tests whether the type is categorized as a fundamental type.

Returns
True for types specified in C++0x [basic.fundamental].

Definition at line 8155 of file Type.h.

Referenced by EvaluateUnaryTypeTrait().

◆ isHalfType() bool clang::Type::isHalfType ( ) const inline

Definition at line 8520 of file Type.h.

Referenced by clang::Sema::BuildFunctionType(), clang::Sema::CheckAssignmentOperands(), CheckFloatOrHalfRepresentations(), clang::Sema::CheckFunctionReturnType(), checkIsValidOpenCLKernelParameter(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::DefaultLvalueConversion(), diagnoseOpenCLTypes(), GetFullTypeForDeclarator(), getOpenCLKernelParameterType(), handleFloatConversion(), IsFloatingPointConversion(), clang::Sema::PerformImplicitConversion(), and clang::Sema::UsualUnaryFPConversions().

◆ isHLSLAttributedResourceType() bool clang::Type::isHLSLAttributedResourceType ( ) const inline ◆ isHLSLBuiltinIntangibleType() bool clang::Type::isHLSLBuiltinIntangibleType ( ) const inline ◆ isHLSLIntangibleType() bool Type::isHLSLIntangibleType ( ) const ◆ isHLSLSpecificType() bool clang::Type::isHLSLSpecificType ( ) const inline ◆ isIbm128Type() bool clang::Type::isIbm128Type ( ) const inline ◆ isImageType() bool clang::Type::isImageType ( ) const inline ◆ isIncompleteArrayType() bool clang::Type::isIncompleteArrayType ( ) const inline

Definition at line 8272 of file Type.h.

Referenced by clang::Sema::ActOnFields(), clang::Sema::ActOnUninitializedDecl(), AdjustFunctionParmAndArgTypesForDeduction(), clang::Sema::BuildArrayType(), clang::Sema::BuildCountAttributedArrayOrPointerType(), clang::interp::CheckFieldsInitialized(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), CheckUnaryTypeTraitTypeCompleteness(), clang::computeDependence(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), DiagnoseRetainableFlexibleArrayMember(), DiagnoseVariableSizedIvars(), EvaluateBinaryTypeTrait(), EvaluateBooleanTypeTrait(), EvaluateUnaryTypeTrait(), clang::Sema::getCompletedType(), clang::APValue::LValueBase::getType(), hasCompatibleArrayTypes(), isDesignatorAtObjectEnd(), isIncompleteOrZeroLengthArrayType(), isQualificationConversionStep(), clang::ASTContext::isSameEntity(), IsVariableSizedType(), clang::Sema::MergeVarDeclTypes(), clang::InitializationSequence::Perform(), setUsedBits(), clang::CodeGen::ConstantEmitter::tryEmitPrivate(), TryOrBuildParenListInitialization(), unwrapCastAwayConstnessLevel(), and clang::interp::Compiler< Emitter >::VisitImplicitValueInitExpr().

◆ isIncompleteOrObjectType() bool clang::Type::isIncompleteOrObjectType ( ) const inline ◆ isIncompleteType()

Types are partitioned into 3 broad categories (C99 6.2.5p1): object types, function types, and incomplete types.

isIncompleteType - Return true if this is an incomplete type (C99 6.2.5p1)

Return true if this is an incomplete type. A type that can describe objects, but which lacks information needed to determine its size (e.g. void, or a fwd declared struct). Clients of this routine will need to determine if the size is actually required.

Def If non-null, and the type refers to some kind of declaration that can be completed (such as a C struct, C++ class, or Objective-C class), will be set to the declaration.

Definition at line 2396 of file Type.cpp.

References clang::Enum, getAsCXXRecordDecl(), clang::Decl::getASTContext(), clang::TargetInfo::getCXXABI(), clang::CXXRecordDecl::getMostRecentNonInjectedDecl(), clang::ASTContext::getTargetInfo(), clang::Decl::hasAttr(), clang::Interface, clang::TagDecl::isBeingDefined(), clang::EnumDecl::isComplete(), clang::TagDecl::isCompleteDefinition(), isDependentType(), clang::TargetCXXABI::isMicrosoft(), and isVoidType().

Referenced by clang::Sema::ActOnFields(), clang::Sema::ActOnGCCAsmStmt(), clang::SemaOpenMP::ActOnOMPArrayShapingExpr(), clang::Sema::BuildArrayType(), clang::Sema::BuildCaptureField(), clang::Sema::BuiltinEnumUnderlyingType(), calculateOffset(), clang::ento::StoreManager::castRegion(), clang::Sema::CheckAlignasUnderalignment(), clang::Sema::checkArrayElementAlignment(), clang::Sema::CheckCallReturnType(), clang::Sema::CheckCastAlign(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCountedByAttrOnField(), clang::SemaOpenMP::checkDeclIsAllowedInOpenMPTarget(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckFunctionDeclaration(), checkRecordTypeForCapability(), checkRecordTypeForScopedCapability(), clang::SemaObjC::CheckSubscriptingKind(), CheckVecStepTraitOperandType(), computeOffset(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), determineEndOffset(), clang::InitializationSequence::Diagnose(), DiagnoseBadConversion(), DiagnoseForRangeVariableCopies(), clang::Sema::DiscardMisalignedMemberAddress(), EvaluateBooleanTypeTrait(), EvaluateComparisonBinaryOperator(), EvaluateUnaryTypeTrait(), clang::CodeGen::CodeGenTBAA::getAccessInfo(), clang::ento::ElementRegion::getAsArrayOffset(), clang::ASTContext::getConstantArrayType(), clang::ASTContext::getDeclAlign(), clang::dataflow::getFieldsFromClassHierarchy(), clang::Sema::getNamedReturnInfo(), clang::CodeGen::CodeGenModule::getNaturalTypeAlignment(), clang::ento::MemRegionManager::getStaticSize(), clang::ASTContext::getTypeAlignIfKnown(), clang::ASTContext::getTypeSizeInCharsIfKnown(), HandleOperatorNewCall(), handlePackedAttr(), handleTransparentUnionAttr(), clang::ASTContext::hasUniqueObjectRepresentations(), clang::interp::interp__builtin_atomic_lock_free(), clang::interp::interp__builtin_operator_new(), isConstantSizeType(), clang::QualType::isCXX11PODType(), isEnableIf(), clang::CodeGen::CodeGenTypes::isFuncParamTypeConvertible(), isLiteralType(), isOnePastTheEndOfCompleteObject(), isStandardLayoutType(), isTriviallyCopyableTypeImpl(), isTriviallyEqualityComparableType(), clang::QualType::isTriviallyRelocatableType(), clang::Sema::isValidVarArgType(), isZeroSized(), clang::Sema::LookupParsedName(), clang::Sema::LookupTemplateName(), matchTypes(), clang::CodeGen::CGCXXABI::mayNeedDestruction(), TryToFixInvalidVariablyModifiedType(), clang::ASTNodeImporter::VisitTypedefNameDecl(), and clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr().

◆ isInstantiationDependentType() bool clang::Type::isInstantiationDependentType ( ) const inline

Determine whether this type is an instantiation-dependent type, meaning that the type involves a template parameter (even if the definition does not actually depend on the type substituted for that template parameter).

Definition at line 2715 of file Type.h.

Referenced by clang::SemaOpenACC::ActOnForStmtBegin(), clang::SemaOpenMP::ActOnOpenMPCopyinClause(), buildDeclareReductionRef(), clang::Sema::BuildResolvedCallExpr(), buildUserDefinedMapperRef(), clang::SemaOpenMP::CheckOMPThreadPrivateDecl(), clang::Sema::CheckTemplateArgument(), computeCachedProperties(), clang::computeDependence(), clang::LinkageComputer::computeTypeLinkageInfo(), getAsSimpleValueDeclRef(), getCommonNonSugarTypeNode(), clang::PackIndexingType::getSelectedIndex(), clang::Sema::HandleFunctionTypeMismatch(), handleGlobalAttr(), clang::FunctionProtoType::hasInstantiationDependentExceptionSpec(), hasUserDefinedMapper(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::DeclarationNameInfo::isInstantiationDependent(), NeedsInstantiationAsFunctionType(), RebuildDeclaratorInCurrentInstantiation(), clang::Sema::RebuildTypeInCurrentInstantiation(), clang::Sema::SubstType(), clang::JSONNodeDumper::Visit(), and clang::TextNodeDumper::Visit().

◆ isIntegerType() bool clang::Type::isIntegerType ( ) const inline

isIntegerType() does not include complex integers (a GCC extension).

isComplexIntegerType() can be used to test for complex integers.

Definition at line 8560 of file Type.h.

References clang::IsEnumDeclComplete(), and clang::IsEnumDeclScoped().

Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::SemaOpenACC::ActOnIntExpr(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPCanonicalLoop(), clang::SemaOpenMP::ActOnOpenMPInterchangeDirective(), clang::SemaOpenMP::ActOnOpenMPSizesClause(), clang::Sema::ActOnSEHExceptBlock(), AddObjCKeyValueCompletions(), clang::ASTContext::areLaxCompatibleRVVTypes(), clang::ASTContext::areLaxCompatibleSveTypes(), clang::ast_matchers::libc_func_matchers::AST_MATCHER_P(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildExtVectorType(), clang::SemaObjC::BuildInstanceMessage(), clang::SemaObjC::BuildObjCDictionaryLiteral(), clang::Sema::BuildVectorType(), BuiltinAnnotation(), clang::SemaARM::BuiltinARMMemoryTaggingCall(), clang::Sema::BuiltinChangeSignedness(), BuiltinOverflow(), castValueToType(), clang::SemaARM::CheckARMBuiltinExclusiveCall(), clang::Sema::CheckAssignmentConstraints(), clang::SemaOpenCL::checkBuiltinEnqueueKernel(), clang::SemaRISCV::CheckBuiltinFunctionCall(), clang::SemaHLSL::CheckBuiltinFunctionCall(), clang::SemaOpenCL::checkBuiltinRWPipe(), clang::SemaOpenACC::CheckCollapseLoopCount(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckImplicitConversion(), CheckIncrementDecrementOperand(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::Sema::CheckLogicalOperands(), clang::Sema::CheckLoopHintExpr(), checkOpenCLConditionVector(), clang::checkOpenCLEnqueueIntType(), checkOpenMPIterationSpace(), checkParamIsIntegerType(), clang::Sema::CheckRemainderOperands(), clang::SemaRISCV::checkRVVTypeSupport(), clang::Sema::CheckSubtractionOperands(), clang::SemaOpenACC::CheckTileSizeExpr(), clang::Sema::checkTypeSupport(), clang::Sema::CheckVectorOperands(), clang::CheckWasmBuiltinArgIsInteger(), convertVector(), create_dispatch_once(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinMatrixSubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::DefaultArgumentPromotion(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::Sema::DiagnoseAssignmentEnum(), DiagnoseBadFunctionCast(), diagnoseStringPlusChar(), clang::Sema::DiscardMisalignedMemberAddress(), EvaluateFixedPointOrInteger(), expandStringLiteral(), extractStringLiteralCharacter(), getAArch64PBV(), clang::ASTContext::getFixedPointSemantics(), getIntegerWidthAndSignedness(), clang::UserDefinedLiteral::getLiteralOperatorKind(), getUsualDeleteParams(), handleComplexIntegerToFloatConversion(), handleIntToFloatConversion(), handleOwnershipAttr(), handleVectorElementCast(), handleVectorVectorBinOp(), hasIntegerRepresentation(), clang::interp::interp__builtin_ia32_bzhi(), clang::interp::interp__builtin_ia32_lzcnt(), clang::interp::interp__builtin_ia32_tzcnt(), isAcceptableMethodMismatch(), clang::Sema::IsIntegralPromotion(), isIntOrBool(), isKnownToHaveUnsignedValue(), clang::BinaryOperator::isNullPointerArithmeticExtension(), isNullPointerConstantForConversion(), clang::InitListExpr::isStringLiteralInit(), mergeEnumWithInteger(), clang::OpenACCVectorClause::OpenACCVectorClause(), clang::OpenACCWorkerClause::OpenACCWorkerClause(), OpenCLArithmeticConversions(), clang::InitializationSequence::Perform(), clang::Sema::PerformImplicitConversion(), PromotionIsPotentiallyEligibleForImplicitIntegerConversionCheck(), clang::interp::Pointer::toRValue(), tryVectorConvertAndSplat(), clang::interp::Compiler< Emitter >::VisitGNUNullExpr(), clang::interp::Compiler< Emitter >::VisitPointerArithBinOp(), and clang::interp::Compiler< Emitter >::VisitSourceLocExpr().

◆ isIntegralOrEnumerationType() bool clang::Type::isIntegralOrEnumerationType ( ) const inline

Determine whether this type is an integral or enumeration type.

Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 8635 of file Type.h.

References clang::IsEnumDeclComplete().

Referenced by clang::Sema::ActOnStartOfSwitchStmt(), clang::Sema::AddInitializerToDecl(), clang::Sema::AddModeAttr(), clang::ento::RangedConstraintManager::assumeSymUnsupported(), BuildConvertedConstantExpression(), BuildExpressionFromIntegralTemplateArgumentValue(), clang::ento::SymbolManager::canSymbolicate(), clang::ento::RangeSet::Factory::castTo(), clang::Sema::CheckCaseExpression(), clang::interp::CheckConstant(), clang::Sema::CheckConvertedConstantExpression(), CheckICE(), clang::Sema::CheckMSVCRTEntryPoint(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::SemaObjC::CheckSubscriptingKind(), clang::Sema::CheckSwitchCondition(), clang::Sema::CheckTemplateArgument(), conjureOffsetSymbolOnLocation(), DecodeTypeFromStr(), diagnoseNonConstVariable(), clang::ento::SMTConv::doTypeConversion(), EmitCompare(), emitReplacement(), Evaluate(), EvaluateAsInt(), EvaluateBuiltinConstantP(), EvaluateComparisonBinaryOperator(), EvaluateIntegerOrLValue(), clang::Sema::FinalizeDeclaration(), findCompleteObject(), clang::ento::SMTConv::fromCast(), getAbsoluteValueKind(), clang::ento::BasicValueFactory::getAPSIntType(), getBuiltinAlignArguments(), clang::getComparisonCategoryForBuiltinCmp(), clang::CodeGen::ABIArgInfo::getExtend(), getPreferredTypeOfBinaryRHS(), clang::CodeGen::ABIArgInfo::getSignExtend(), clang::ConstantExpr::getStorageKind(), clang::ento::ProgramState::getSVal(), clang::ento::ProgramState::getSValAsScalarOrLoc(), clang::ento::SMTConv::getZeroExpr(), clang::CodeGen::ABIArgInfo::getZeroExtend(), clang::ASTContext::hasUniqueObjectRepresentations(), clang::interp::interp__builtin_constant_p(), clang::ObjCSubscriptRefExpr::isArraySubscriptRefExpr(), clang::Expr::isKnownToHaveBooleanValue(), clang::Sema::isLaxVectorConversion(), clang::ASTContext::isMSStaticDataMemberInlineDefinition(), clang::Sema::ICEConvertDiagnoser::match(), clang::Sema::prepareVectorSplat(), clang::ento::ConditionBRVisitor::printValue(), RecoverCastedSymbol(), clang::TemplateArgument::TemplateArgument(), TryReinterpretCast(), TryStaticCast(), clang::Sema::VerifyBitField(), clang::InterfaceKindVisitor::VisitBuiltinType(), and clang::interp::Compiler< Emitter >::VisitCastExpr().

◆ isIntegralOrUnscopedEnumerationType() bool Type::isIntegralOrUnscopedEnumerationType ( ) const

Determine whether this type is an integral or unscoped enumeration type.

Definition at line 2105 of file Type.cpp.

References isBitIntType(), and isUnscopedEnumerationType().

Referenced by adjustBlockReturnsToEnum(), clang::Sema::BuildArrayType(), clang::Sema::BuildCXXNew(), checkArraySize(), clang::Sema::CheckBitwiseOperands(), CheckConvertedConstantConversions(), checkPointerAuthValue(), clang::Sema::CreateOverloadedBinOp(), diagnoseStringPlusInt(), EvaluateCPlusPlus11IntegralConstantExpr(), getDependentArraySubscriptType(), clang::StandardConversionSequence::getNarrowingKind(), IsStandardConversion(), IsVectorElementConversion(), clang::Sema::ICEConvertDiagnoser::match(), TryListInitialization(), clang::Sema::UsualUnaryConversions(), and clang::Sema::VerifyIntegerConstantExpression().

◆ isIntegralType()

Determine whether this type is an integral type.

This routine determines whether the given type is an integral type per C++ [basic.fundamental]p7. Although the C standard does not define the term "integral type", it has a similar term "integer type", and in C++ the two terms are equivalent. However, C's "integer type" includes enumeration types, while C++'s "integer type" does not. The ASTContext parameter is used to determine whether we should be following the C or C++ rules when determining whether this type is an integral/integer type.

For cases where C permits "an integer type" and C++ permits "an integral type", use this routine.

For cases where C permits "an integer type" and C++ permits "an integral or enumeration type", use isIntegralOrEnumerationType() instead.

Parameters
Ctx The context in which this type occurs.
Returns
true if the type is considered an integral type, false otherwise.

Definition at line 2092 of file Type.cpp.

References clang::ASTContext::getLangOpts(), and isBitIntType().

Referenced by clang::SemaOpenMP::ActOnOMPIteratorExpr(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::AddAllocAlignAttr(), AnalyzeComparison(), argTypeIsABIEquivalent(), checkBuiltinTemplateIdType(), clang::Sema::CheckImplicitConversion(), checkIntToPointerCast(), clang::SemaObjC::CheckObjCConversion(), clang::checkSwiftAsyncErrorBlock(), clang::Sema::CheckVectorCast(), create_OSAtomicCompareAndSwap(), DiagnoseBinOpPrecedence(), DiagnoseLocalRegisterBinding(), EvaluateUnaryTypeTrait(), clang::StandardConversionSequence::getNarrowingKind(), getNextLargerIntegralType(), getScalarCastKind(), clang::SemaSwift::handleError(), clang::SemaHLSL::handleVectorBinOpConversion(), handleVecTypeHint(), clang::Expr::IgnoreParenNoopCasts(), clang::Sema::IsIntegralPromotion(), isRepresentableIntegerValue(), IsStandardConversion(), isValidSizelessVectorForConditionalCondition(), isValidVectorForConditionalCondition(), IsVectorElementConversion(), clang::Sema::PerformImplicitConversion(), tryGCCVectorConvertAndSplat(), TryReinterpretCast(), TryStaticCast(), and tryVectorConvertAndSplat().

◆ isInterfaceType() bool Type::isInterfaceType ( ) const ◆ isLinkageValid() bool Type::isLinkageValid ( ) const ◆ isLiteralType()

Return true if this is a literal type (C++11 [basic.types]p10)

Definition at line 2935 of file Type.cpp.

References getAs(), getBaseElementTypeUnsafe(), getCanonicalTypeInternal(), clang::ASTContext::getLangOpts(), isAnyComplexType(), isDependentType(), isIncompleteType(), isReferenceType(), isScalarType(), isVariableArrayType(), isVectorType(), and isVoidType().

Referenced by clang::Sema::AddInitializerToDecl(), CheckLiteralType(), EvaluateUnaryTypeTrait(), findCompleteObject(), clang::MaterializeTemporaryExpr::isUsableInConstantExpressions(), clang::Sema::RequireLiteralType(), and clang::CXXRecordDecl::setBases().

◆ isLValueReferenceType() bool clang::Type::isLValueReferenceType ( ) const inline

Definition at line 8214 of file Type.h.

Referenced by alignReferenceTypes(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::Sema::CheckTemplateArgument(), checkTupleLikeDecomposition(), ClassifyUnnamed(), create_call_once_funcptr_call(), createPrivatesRecordDecl(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DefineImplicitCopyAssignment(), DiagnoseCastQual(), emitOutlinedFunctionPrologue(), emitTaskPrivateMappingFunction(), EvaluateUnaryTypeTrait(), FindConversionForRefInit(), getCanonicalParamType(), clang::ento::ExprEngine::handleLValueBitCast(), clang::CXXConstructorDecl::isCopyConstructor(), clang::sema::isNormalAssignmentOperator(), isRelevantAttr(), isStructuralType(), clang::InitializationSequence::Perform(), clang::interp::Pointer::toAPValue(), TryListConversion(), TryReferenceInitializationCore(), and TryRefInitWithConversionFunction().

◆ isMatrixType() bool clang::Type::isMatrixType ( ) const inline ◆ isMemberDataPointerType() bool clang::Type::isMemberDataPointerType ( ) const inline ◆ isMemberFunctionPointerType() bool clang::Type::isMemberFunctionPointerType ( ) const inline ◆ isMemberPointerType() bool clang::Type::isMemberPointerType ( ) const inline

Definition at line 8246 of file Type.h.

Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::Sema::AddAlignValueAttr(), AddOrdinaryNameResults(), AdjustFunctionParmAndArgTypesForDeduction(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildQualifiedType(), CastsAwayConstness(), checkArithmeticNull(), CheckBitcastType(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckNonTypeTemplateParameterType(), CheckNullabilityTypeSpecifier(), CheckOriginalCallArgDeduction(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentPointerToMember(), clang::interp::Context::classify(), CompareDerivedToBaseConversions(), convertPointersToCompositeType(), DeduceNullPtrTemplateArgument(), clang::Sema::DeduceTemplateArguments(), clang::Sema::DefaultLvalueConversion(), DetermineNoUndef(), DiagnoseNullConversion(), Evaluate(), EvaluateComparisonBinaryOperator(), EvaluateMemberPointer(), EvaluateUnaryTypeTrait(), clang::Sema::FindCompositePointerType(), GetFullTypeForDeclarator(), clang::ASTContext::getPreferredTypeAlign(), getScalarZeroExpressionForType(), clang::Sema::HandleFunctionTypeMismatch(), handleMSPointerTypeQualifierAttr(), clang::Sema::handlerCanCatch(), isIndirectPointerType(), IsStandardConversion(), needsAmpersandOnTemplateArg(), TryConstCast(), TryReinterpretCast(), unwrapCastAwayConstnessLevel(), clang::Value::Value(), and clang::interp::Compiler< Emitter >::VisitUnaryOperator().

◆ isMFloat8Type() bool clang::Type::isMFloat8Type ( ) const inline ◆ isNonOverloadPlaceholderType() bool clang::Type::isNonOverloadPlaceholderType ( ) const inline ◆ isNothrowT() bool Type::isNothrowT ( ) const ◆ isNullPtrType() bool clang::Type::isNullPtrType ( ) const inline

Definition at line 8553 of file Type.h.

Referenced by clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckConditionalOperands(), CheckConvertedConstantConversions(), clang::Sema::CheckMSVCRTEntryPoint(), clang::Sema::CheckNonTypeTemplateParameterType(), checkPointerAuthValue(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), clang::interp::Context::classify(), clang::ento::SValBuilder::conjureSymbolVal(), clang::ImplicitCastExpr::Create(), clang::Sema::DefaultArgumentPromotion(), clang::Sema::DefaultLvalueConversion(), DetermineNoUndef(), DiagnoseNullConversion(), clang::Sema::diagnoseZeroToNullptrConversion(), clang::ento::SMTConv::doTypeConversion(), EvaluateBuiltinConstantP(), EvaluateComparisonBinaryOperator(), clang::Sema::FindCompositePointerType(), clang::ento::SValBuilder::getDerivedRegionValueSymbolVal(), clang::ento::SValBuilder::getRegionValueSymbolVal(), clang::ASTContext::getTargetNullPointerValue(), HandleDestructionImpl(), clang::Sema::handlerCanCatch(), clang::InitializationSequence::InitializeFrom(), clang::interp::interp__builtin_constant_p(), clang::ento::Loc::isLocType(), isNullPointerValueTemplateArgument(), clang::Sema::IsPointerConversion(), clang::sema::isPointerLikeType(), clang::ASTContext::isSentinelNullExpr(), clang::analyze_format_string::ArgType::matchesType(), TryContextuallyConvertToBool(), TryReinterpretCast(), and clang::InterfaceKindVisitor::VisitBuiltinType().

◆ isObjCARCBridgableType() bool Type::isObjCARCBridgableType ( ) const ◆ isObjCARCImplicitlyUnretainedType() bool Type::isObjCARCImplicitlyUnretainedType ( ) const ◆ isObjCBoxableRecordType() bool Type::isObjCBoxableRecordType ( ) const ◆ isObjCBuiltinType() bool clang::Type::isObjCBuiltinType ( ) const inline ◆ isObjCClassOrClassKindOfType() bool Type::isObjCClassOrClassKindOfType ( ) const

Whether the type is Objective-C 'Class' or a __kindof type of an Class type, e.g., __kindof Class <NSCopying>.

Unlike isObjCIdOrObjectKindOfType, there is no relevant bound here because Objective-C's type system cannot express "a class object for a subclass of NSFoo".

Definition at line 819 of file Type.cpp.

Referenced by clang::SemaObjC::BuildInstanceMessage().

◆ isObjCClassType() bool clang::Type::isObjCClassType ( ) const inline ◆ isObjCIdOrObjectKindOfType() ◆ isObjCIdType() bool clang::Type::isObjCIdType ( ) const inline

Definition at line 8367 of file Type.h.

Referenced by clang::SemaObjC::BuildInstanceMessage(), clang::SemaObjC::BuildObjCExceptionDecl(), BuildSimilarlyQualifiedPointerType(), clang::ento::RetainSummaryManager::canEval(), clang::Sema::CheckAssignmentConstraints(), CheckObjCBridgeNSCast(), clang::SemaObjC::CheckSubscriptingKind(), clang::SemaCodeCompletion::CodeCompleteObjCInstanceMessage(), clang::Sema::deduceVarTypeFromInitializer(), clang::SemaObjC::FindCompositeObjCPointerType(), findMethodDecl(), clang::ObjCMethodDecl::getMethodFamily(), clang::SemaObjC::handleIBOutletCollection(), hasIsEqualMethod(), clang::ASTContext::mergeTypes(), clang::Sema::SelectBestMethod(), and clang::SemaObjC::SelectorsForTypoCorrection().

◆ isObjCIndependentClassType() bool Type::isObjCIndependentClassType ( ) const ◆ isObjCIndirectLifetimeType() bool Type::isObjCIndirectLifetimeType ( ) const ◆ isObjCInertUnsafeUnretainedType() bool clang::Type::isObjCInertUnsafeUnretainedType ( ) const inline ◆ isObjCLifetimeType() bool Type::isObjCLifetimeType ( ) const

Returns true if objects of this type have lifetime semantics under ARC.

Definition at line 5046 of file Type.cpp.

References clang::ast_matchers::type.

Referenced by clang::SemaObjC::AdjustParameterTypeForObjCAutoRefCount(), clang::Sema::BuildCXXNew(), clang::Sema::BuildVAArgExpr(), clang::Sema::CheckAllocatedType(), clang::Sema::CheckParameter(), clang::Sema::CheckTemplateTypeArgument(), createObjCPropertyGetter(), DeduceTemplateArgumentsByTypeMatch(), DiagnoseRetainableFlexibleArrayMember(), EvaluateUnaryTypeTrait(), clang::SemaObjC::handlePreciseLifetimeAttr(), isObjCARCImplicitlyUnretainedType(), isObjCIndirectLifetimeType(), clang::SemaObjC::isObjCWritebackConversion(), clang::Sema::isValidVarArgType(), and clang::TreeTransform< Derived >::RebuildQualifiedType().

◆ isObjCNSObjectType() bool Type::isObjCNSObjectType ( ) const ◆ isObjCObjectOrInterfaceType() bool clang::Type::isObjCObjectOrInterfaceType ( ) const inline ◆ isObjCObjectPointerType() bool clang::Type::isObjCObjectPointerType ( ) const inline

Definition at line 8334 of file Type.h.

Referenced by clang::Sema::ActOnArraySubscriptExpr(), clang::Sema::ActOnFields(), clang::SemaObjC::ActOnObjCForCollectionStmt(), clang::SemaObjC::actOnObjCTypeParam(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::AddInitializerToDecl(), clang::Sema::AddKnownFunctionAttributes(), AddObjCKeyValueCompletions(), AdjustFunctionParmAndArgTypesForDeduction(), adjustReturnValue(), clang::ASTContext::BlockRequiresCopying(), clang::Sema::BuildExceptionDeclaration(), clang::SemaObjC::BuildObjCAtThrowStmt(), clang::SemaObjC::BuildObjCExceptionDecl(), clang::Sema::BuildQualifiedType(), clang::ento::StoreManager::castRegion(), clang::Sema::CheckAdditionOperands(), checkArithmeticOnObjCPointer(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckAssignmentOperands(), clang::Sema::CheckCompareOperands(), checkFormatStringExpr(), clang::Sema::CheckFunctionDeclaration(), CheckIncrementDecrementOperand(), clang::SemaObjC::CheckMessageArgumentTypes(), checkMethodFamilyMismatch(), CheckNullabilityTypeSpecifier(), clang::SemaObjC::CheckObjCARCUnavailableWeakConversion(), checkObjCPointerIntrospection(), clang::SemaObjC::CheckObjCPropertyAttributes(), clang::ento::retaincountchecker::RetainCountChecker::checkPostStmt(), clang::Sema::CheckSingleAssignmentConstraints(), clang::SemaObjC::CheckSubscriptingKind(), clang::Sema::CheckSubtractionOperands(), clang::interp::Context::classify(), clang::SemaCodeCompletion::CodeCompleteMemberReferenceExpr(), clang::Sema::DiagnoseAssignmentResult(), clang::ento::SMTConv::doTypeConversion(), emitBadConversionNotes(), EmitPointerWithAlignment(), clang::SemaObjC::FindCompositeObjCPointerType(), clang::Sema::FindCompositePointerType(), clang::CodeGen::CodeGenModule::GetAddrOfRTTIDescriptor(), clang::ASTContext::getByrefLifetime(), GetGCAttrTypeForType(), clang::ASTContext::getObjCGCAttrKind(), getScalarZeroExpressionForType(), clang::SemaObjC::handleIndependentClass(), hasIsEqualMethod(), clang::interp::EvalEmitter::interpretDecl(), clang::ento::cocoa::isCocoaObjectRef(), isIndirectPointerType(), isObjCARCBridgableType(), isObjCRetainableType(), clang::Sema::IsPointerConversion(), clang::isValidSubjectOfNSAttribute(), clang::analyze_format_string::ArgType::matchesType(), clang::Sema::MergeFunctionDecl(), clang::ASTContext::mergeObjCGCQualifiers(), clang::ASTContext::mergeTypes(), clang::Sema::MergeVarDeclTypes(), objectifyExpr(), clang::ento::ConditionBRVisitor::patternMatch(), clang::Sema::PerformImplicitConversion(), clang::ento::ConditionBRVisitor::printValue(), clang::TreeTransform< Derived >::RebuildCXXForRangeStmt(), clang::SemaObjC::SelectorsForTypoCorrection(), clang::Parser::TryAnnotateTypeOrScopeTokenAfterScopeSpec(), TryConstCast(), tryEmitSpecializedAllocInit(), tryGenerateSpecializedMessageSend(), TryReinterpretCast(), TryStaticCast(), and validateBoxingMethod().

◆ isObjCObjectType() bool clang::Type::isObjCObjectType ( ) const inline

Definition at line 8338 of file Type.h.

Referenced by clang::SemaObjC::ActOnCompatibilityAlias(), clang::Sema::ActOnFields(), clang::SemaObjC::ActOnForwardClassDeclaration(), clang::SemaObjC::actOnObjCTypeParam(), clang::SemaObjC::ActOnSuperClassOfClassInterface(), clang::SemaObjC::ActOnTypedefedProtocols(), clang::Sema::BuildArrayType(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildPointerType(), CastsAwayConstness(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckAssignmentOperands(), clang::Sema::CheckFunctionReturnType(), CheckObjCTraitOperandConstraints(), clang::Sema::CheckParameter(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::checkVariadicArgument(), clang::SemaCodeCompletion::CodeCompleteMemberReferenceExpr(), clang::SemaObjC::CreatePropertyDecl(), GetFullTypeForDeclarator(), clang::SemaObjC::handleIBOutletCollection(), inferARCWriteback(), clang::Sema::isValidVarArgType(), transferARCOwnership(), and clang::Parser::TryAnnotateTypeOrScopeTokenAfterScopeSpec().

◆ isObjCQualifiedClassType() bool clang::Type::isObjCQualifiedClassType ( ) const inline ◆ isObjCQualifiedIdType() bool clang::Type::isObjCQualifiedIdType ( ) const inline ◆ isObjCQualifiedInterfaceType() bool Type::isObjCQualifiedInterfaceType ( ) const ◆ isObjCRetainableType() bool Type::isObjCRetainableType ( ) const

Definition at line 5026 of file Type.cpp.

References isBlockPointerType(), isObjCNSObjectType(), and isObjCObjectPointerType().

Referenced by clang::SemaObjC::ActOnPropertyImplDecl(), AdjustObjCObjectType(), clang::ASTContext::BlockRequiresCopying(), clang::SemaObjC::BuildInstanceMessage(), clang::SemaObjC::CheckObjCPropertyAttributes(), clang::ento::retaincountchecker::RetainCountChecker::checkPostStmt(), clang::Sema::checkUnsafeExprAssigns(), computeCopyInfoForBlockCapture(), computeDestroyInfoForBlockCapture(), clang::SemaObjC::CreatePropertyDecl(), findWeakLValue(), clang::analyze_printf::PrintfSpecifier::fixType(), handleObjCOwnershipTypeAttr(), clang::SemaObjC::handleReturnsInnerPointerAttr(), inferARCWriteback(), isSynthesizedRetainableProperty(), clang::isValidSubjectOfNSReturnsRetainedAttribute(), clang::Sema::MaybeBindToTemporary(), MaybeProduceObjCObject(), transferARCOwnership(), transferARCOwnershipToDeclSpec(), and clang::tryMakeVariablePseudoStrong().

◆ isObjCSelType() bool clang::Type::isObjCSelType ( ) const inline ◆ isObjectPointerType() bool clang::Type::isObjectPointerType ( ) const inline ◆ isObjectType() bool clang::Type::isObjectType ( ) const inline

Determine whether this type is an object type.

Definition at line 2446 of file Type.h.

Referenced by BuiltinLaunder(), CheckConvertibilityForTypeTraits(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), EvaluateBinaryTypeTrait(), EvaluateBooleanTypeTrait(), EvaluateUnaryTypeTrait(), clang::Sema::FindCompositePointerType(), GetFullTypeForDeclarator(), clang::Sema::getNamedReturnInfo(), clang::Sema::handlerCanCatch(), clang::QualType::isTriviallyRelocatableType(), and clang::Value::Value().

◆ isOCLExtOpaqueType() bool clang::Type::isOCLExtOpaqueType ( ) const inline

Definition at line 8448 of file Type.h.

◆ isOCLIntelSubgroupAVCType() bool clang::Type::isOCLIntelSubgroupAVCType ( ) const inline ◆ isOpenCLSpecificType() bool clang::Type::isOpenCLSpecificType ( ) const inline ◆ isOverloadableType() bool clang::Type::isOverloadableType ( ) const inline ◆ isPipeType() bool clang::Type::isPipeType ( ) const inline ◆ isPlaceholderType() bool clang::Type::isPlaceholderType ( ) const inline ◆ isPointerOrReferenceType() bool clang::Type::isPointerOrReferenceType ( ) const inline

Definition at line 8196 of file Type.h.

Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::interp::CallVirt(), clang::interp::CheckConstant(), clang::Sema::CheckTemplateArgument(), clang::interp::Context::classify(), ClassifyDiagnostic(), clang::QualType::getBaseTypeIdentifier(), getCoreType(), clang::interp::Descriptor::getElemQualType(), clang::OverloadCandidate::getNumParams(), getOpenCLKernelParameterType(), getUuidAttrOfType(), clang::consumed::ConsumedStmtVisitor::handleCall(), handleMSAllocatorAttr(), isAutoCastType(), isConsumableType(), clang::CXXTypeidExpr::isMostDerived(), and clang::interp::Compiler< Emitter >::VisitCXXReinterpretCastExpr().

◆ isPointerType() bool clang::Type::isPointerType ( ) const inline

Definition at line 8192 of file Type.h.

Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::SemaOpenMP::ActOnOMPArrayShapingExpr(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPAlignedClause(), clang::SemaOpenMP::ActOnOpenMPDeclareSimdDirective(), clang::SemaOpenMP::ActOnOpenMPIsDevicePtrClause(), clang::SemaOpenMP::ActOnOpenMPUseDevicePtrClause(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnVariableDeclarator(), addCastTransition(), clang::Sema::AddFunctionCandidates(), addInstanceOfTransition(), AddOrdinaryNameResults(), AdjustFunctionParmAndArgTypesForDeduction(), argTypeIsABIEquivalent(), clang::ast_matchers::libc_func_matchers::AST_MATCHER(), clang::ast_matchers::libc_func_matchers::AST_MATCHER_P(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildCallExpr(), buildCapture(), clang::Sema::BuildCountAttributedArrayOrPointerType(), BuildCXXCastArgument(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::SemaObjC::BuildInstanceMessage(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::BuildPseudoDestructorExpr(), BuiltinAlignment(), builtinAllocaAddrSpace(), BuiltinCallWithStaticChain(), BuiltinDumpStruct(), BuiltinLaunder(), clang::SemaPPC::BuiltinPPCMMACall(), clang::ento::RetainSummaryManager::canEval(), castToBase(), clang::Sema::CheckAdditionOperands(), checkArrayExpressionDoesNotReferToWholeSize(), CheckArrow(), clang::sema::checkAssignmentLifetime(), CheckBitcastType(), clang::SemaOpenCL::checkBuiltinEnqueueKernel(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckConditionalOperands(), clang::sema::checkExprLifetimeImpl(), clang::Sema::CheckExtVectorCast(), clang::Sema::CheckFunctionCall(), clang::Sema::CheckImplicitConversion(), CheckIncrementDecrementOperand(), checkIsValidOpenCLKernelParameter(), clang::interp::CheckNewTypeMismatch(), clang::Sema::CheckNonTypeTemplateParameterType(), checkOpenMPIterationSpace(), checkPointerAuthValue(), checkPointerIntegerMismatch(), clang::SemaPPC::CheckPPCMMAType(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), clang::Sema::CheckTransparentUnionArgumentConstraints(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::SemaOpenACC::CheckVarIsPointerType(), CompareDerivedToBaseConversions(), clang::interp::ByteCodeEmitter::compileFunc(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), convertPointersToCompositeType(), clang::Sema::CreateBuiltinUnaryOp(), createSpanTypeForVarDecl(), clang::CStyleCastPtrExpr(), decomposeTypeForEH(), clang::Sema::DeduceAutoType(), clang::Sema::DeduceTemplateArguments(), clang::Sema::DiagnoseAlwaysNonNullPointer(), DiagnoseDivisionSizeofPointerOrArray(), clang::SemaSwift::DiagnoseName(), diagnoseObjCARCConversion(), diagnoseOpenCLTypes(), clang::Sema::DiscardMisalignedMemberAddress(), EmitAtomicCmpXchgForMSIntrin(), EmitAtomicDecrementValue(), EmitAtomicIncrementValue(), EmitBinaryAtomicPost(), EmitCompare(), EmitDynamicCastToNull(), emitOutlinedFunctionPrologue(), emitParallelOrTeamsOutlinedFunction(), EmitPointerWithAlignment(), clang::CodeGen::CGOpenMPRuntime::emitTaskOutlinedFunction(), clang::ento::ExprEngine::evalCall(), EvaluateBuiltinConstantP(), EvaluateComparisonBinaryOperator(), ExprLooksBoolean(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), fixVariable(), GeneralizeType(), clang::CodeGen::CodeGenModule::GenKernelArgMetadata(), getAArch64LS(), getAArch64PBV(), getAsArrayToPointerDecayedDecl(), getBuiltinAlignArguments(), getCanonicalParamType(), clang::CodeGen::CodeGenModule::GetConstantArrayFromStringLiteral(), clang::ASTContext::getCountAttributedType(), clang::CXXDeleteExpr::getDestroyedType(), GetExplicitObjectExpr(), GetExplicitObjectType(), clang::dataflow::getImplicitObjectLocation(), clang::UserDefinedLiteral::getLiteralOperatorKind(), getObjCBridgeAttr(), clang::ASTContext::getObjCGCAttrKind(), clang::CXXMemberCallExpr::getObjectType(), getOpenCLKernelParameterType(), getPointeeTypeText(), getPreferredTypeOfBinaryRHS(), getScalarZeroExpressionForType(), handleAllocSizeAttr(), clang::SemaX86::handleAnyInterruptAttr(), handleFormatArgAttr(), handleFormatAttr(), clang::Sema::HandleFunctionTypeMismatch(), handleObjCOwnershipTypeAttr(), clang::Sema::handlerCanCatch(), clang::SemaObjC::handleReturnsInnerPointerAttr(), clang::ASTContext::hasUniqueObjectRepresentations(), clang::Expr::IgnoreParenNoopCasts(), clang::ASTNodeImporter::ImportDeclParts(), clang::interp::interp__builtin_constant_p(), clang::interp::EvalEmitter::interpretDecl(), clang::CXXDynamicCastExpr::isAlwaysNull(), clang::ExtVectorElementExpr::isArrow(), isIntegerLikeType(), clang::ento::iterator::isIteratorType(), isLibstdcxxPointerReturnFalseHack(), clang::BinaryOperator::isNullPointerArithmeticExtension(), clang::Expr::isOBJCGCCandidate(), clang::Sema::isObjCPointerConversion(), clang::SemaOpenMP::isOpenMPCapturedByRef(), clang::Sema::IsPointerConversion(), clang::sema::isPointerLikeType(), isTautologicalBoundsCheck(), IsTypeModifiable(), clang::isUncheckedPtr(), clang::isUncountedPtr(), clang::isUnsafePtr(), clang::isValidSubjectOfCFAttribute(), loadToBegin(), MakeBinaryAtomicValue(), clang::Sema::MergeTypedefNameDecl(), needsAmpersandOnTemplateArg(), objectifyExpr(), clang::ento::ConditionBRVisitor::patternMatch(), peelOffPointerArithmetic(), clang::Sema::PerformImplicitConversion(), clang::ento::ConditionBRVisitor::printValue(), clang::TreeTransform< Derived >::RebuildMemberExpr(), ResolveOverloadForDeduction(), rewriteBuiltinFunctionDecl(), setObjCGCLValueClass(), clang::sema::shouldTrackFirstArgument(), TryConstCast(), TryDeconstructFunctionLike(), TryReinterpretCast(), clang::Value::Value(), clang::interp::Compiler< Emitter >::VisitCompoundAssignOperator(), clang::interp::Compiler< Emitter >::VisitPointerArithBinOp(), and clang::interp::Compiler< Emitter >::VisitSourceLocExpr().

◆ isQueueT() bool clang::Type::isQueueT ( ) const inline ◆ isRealFloatingType() bool Type::isRealFloatingType ( ) const

Floating point categories.

Definition at line 2300 of file Type.cpp.

Referenced by clang::Sema::ActOnGCCAsmStmt(), actOnOMPReductionKindClause(), clang::Sema::BuildExtVectorType(), clang::Sema::BuildVectorType(), clang::ento::SMTConstraintManager::canReasonAbout(), CheckBitcastType(), checkFPMathBuiltinElementType(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::Sema::checkTypeSupport(), DiagnoseBadFunctionCast(), clang::ento::SMTConv::doFloatTypeConversion(), clang::ento::SMTConv::doTypeConversion(), emitReplacement(), Evaluate(), EvaluateComparisonBinaryOperator(), EvaluateFloat(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), clang::ento::SMTConv::fromCast(), getAbsoluteValueKind(), clang::ento::SMTConv::getBinExpr(), clang::getComparisonCategoryForBuiltinCmp(), clang::StandardConversionSequence::getNarrowingKind(), getScalarCastKind(), getScalarZeroExpressionForType(), clang::ento::SMTConv::getSymExpr(), clang::ento::SMTConstraintManager::getSymVal(), clang::ento::SMTConv::getZeroExpr(), handleComplexIntegerToFloatConversion(), handleFloatConversion(), handleFloatVectorBinOpConversion(), clang::SemaHLSL::handleVectorBinOpConversion(), handleVectorElementCast(), IsFloatingPointConversion(), isIntegerLikeType(), IsStandardConversion(), IsVectorElementConversion(), clang::ento::SMTConv::mkSort(), OpenCLArithmeticConversions(), clang::Sema::PerformImplicitConversion(), tryGCCVectorConvertAndSplat(), TryStaticCast(), tryVectorConvertAndSplat(), and clang::Sema::UsualArithmeticConversions().

◆ isRealType() bool Type::isRealType ( ) const ◆ isRecordType() bool clang::Type::isRecordType ( ) const inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 8292 of file Type.h.

Referenced by clang::Sema::ActOnArraySubscriptExpr(), clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnConditionalOp(), clang::Sema::ActOnConversionDeclarator(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishFunctionBody(), actOnOMPReductionKindClause(), clang::SemaObjC::ActOnPropertyImplDecl(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::AddInitializerToDecl(), clang::interp::Compiler< Emitter >::allocateTemporary(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildBaseInitializer(), clang::Sema::BuildBuiltinOffsetOf(), BuildConvertedConstantExpression(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), BuildImplicitMemberInitializer(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::BuildVAArgExpr(), BuiltinDumpStruct(), clang::ento::SymbolManager::canSymbolicate(), clang::interp::CheckArrayInitialized(), CheckC23ConstexprVarType(), CheckConditionalOperand(), clang::interp::CheckFieldsInitialized(), checkIsValidOpenCLKernelParameter(), checkLiteralOperatorTemplateParameterList(), clang::Sema::CheckMemberPointerConversion(), CheckMoveOnConstruction(), CheckOriginalCallArgDeduction(), clang::Sema::CheckOverloadedOperatorDeclaration(), clang::Sema::CheckPointerConversion(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::CheckTemplateArgument(), clang::Sema::checkVariadicArgument(), ClassifyTemporary(), clang::SemaObjC::CollectIvarsToConstructOrDestruct(), clang::dataflow::copySyntheticField(), clang::CXXBindTemporaryExpr::Create(), createFieldForHostLayoutStruct(), clang::Sema::CreateGenericSelectionExpr(), clang::dataflow::DataflowAnalysisContext::createRecordStorageLocation(), createReferenceTemporary(), clang::dataflow::DataflowAnalysisContext::createStorageLocation(), clang::Sema::CXXCheckConditionalOperands(), DeduceTemplateArgumentsByTypeMatch(), DeduceTemplateBases(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), clang::InitializationSequence::Diagnose(), DiagnoseLocalRegisterBinding(), DiagnoseRecursiveConstFields(), emitPreCond(), Evaluate(), clang::interp::Context::evaluateAsInitializer(), evaluateCDTSize(), clang::Sema::EvaluateConvertedConstantExpression(), EvaluateInPlace(), EvaluateRecord(), EvaluateTemporary(), clang::Sema::FindAllocationFunctions(), FindConversionForRefInit(), findSubobject(), clang::QualType::getBaseTypeIdentifier(), clang::ASTContext::getByrefLifetime(), clang::CallExpr::getCallReturnType(), clang::Sema::getCopyElisionCandidate(), clang::CXXMethodDecl::getDevirtualizedMethod(), getFieldOffsetInBits(), clang::dataflow::getFieldsFromClassHierarchy(), GetFullTypeForDeclarator(), getGEPIndicesToField(), clang::ASTContext::getInjectedTemplateArg(), getOpenCLKernelParameterType(), clang::dataflow::CachedConstAccessorsLattice< Base >::getOrCreateConstMethodReturnStorageLocation(), clang::dataflow::CachedConstAccessorsLattice< Base >::getOrCreateConstMethodReturnValue(), clang::dataflow::Environment::getResultObjectLocation(), getSelfInitExpr(), clang::dataflow::DataflowAnalysisContext::getSyntheticFields(), clang::ASTContext::getTemplateParamObjectDecl(), clang::Sema::getTypeName(), clang::Sema::handlerCanCatch(), clang::ASTContext::hasUniqueObjectRepresentations(), clang::ASTNodeImporter::ImportAPValue(), InitCatchParam(), clang::dataflow::Environment::initialize(), clang::InitializationSequence::InitializeFrom(), IsAcceptableNonMemberOperatorCandidate(), clang::Sema::IsBlockPointerConversion(), isCARCBridgableType(), clang::ento::NonLoc::isCompoundType(), clang::Expr::isConstantInitializer(), clang::CodeGen::CodeGenModule::isInNoSanitizeList(), isInvalidConstantBufferLeafElementType(), isObjCReceiverType(), clang::Sema::IsPointerConversion(), isRecordType(), IsStandardConversion(), clang::SemaHLSL::IsTypedResourceElementCompatible(), LookupMemberExpr(), clang::InitializationSequence::Perform(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformObjectMemberConversion(), clang::APValue::printPretty(), clang::dataflow::propagateValue(), clang::dataflow::RecordStorageLocation::RecordStorageLocation(), requiresImplicitBufferLayoutStructure(), clang::Sema::RequireStructuralType(), ResolveOverloadedFunctionForReferenceBinding(), setObjCGCLValueClass(), clang::dataflow::Environment::setValue(), clang::Expr::skipRValueSubobjectAdjustments(), clang::TreeTransform< Derived >::TransformNestedNameSpecifierLoc(), TryConstCast(), TryDefaultInitialization(), tryDiagnoseOverloadedCast(), clang::CodeGen::ConstantEmitter::tryEmitPrivateForVarInit(), TryListConversion(), TryListInitialization(), TryObjectArgumentInitialization(), TryReferenceInit(), TryReferenceInitializationCore(), TryStaticImplicitCast(), TryUserDefinedConversion(), clang::Value::Value(), clang::interp::Compiler< Emitter >::VisitCXXConstructExpr(), clang::dataflow::ReferencedDeclsVisitor::VisitCXXParenListInitExpr(), clang::interp::Compiler< Emitter >::VisitImplicitValueInitExpr(), clang::interp::Compiler< Emitter >::visitInitList(), clang::ento::ExprEngine::VisitInitListExpr(), clang::dataflow::ReferencedDeclsVisitor::VisitInitListExpr(), warnAboutAmbiguousFunction(), and warnAboutRedundantParens().

◆ isReferenceType() bool clang::Type::isReferenceType ( ) const inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 8210 of file Type.h.

Referenced by clang::SemaObjC::ActOnIvar(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionType(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::AddAlignValueAttr(), addCastTransition(), clang::Sema::AddInitializerToDecl(), addInstanceOfTransition(), clang::CodeGen::CGOpenMPRuntimeGPU::adjustTargetSpecificDataForLambdas(), clang::sema::analyzePathForGSLPointer(), clang::Sema::BuildArrayType(), clang::Sema::BuildAtomicType(), buildCoawaitCalls(), BuildConvertedConstantExpression(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), BuildExpressionFromNonTypeTemplateArgumentValue(), BuildImplicitMemberInitializer(), clang::Sema::BuildMemberPointerType(), clang::Sema::BuildPointerType(), clang::Sema::BuildQualifiedType(), clang::Sema::BuiltinChangeCVRQualifiers(), clang::canDynamicCastThrow(), captureInBlock(), captureInLambda(), CastsAwayConstness(), castToBase(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckAllocatedType(), clang::CodeGen::CGOpenMPRuntime::checkAndEmitSharedLastprivateConditional(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::sema::checkExprLifetimeImpl(), clang::Sema::CheckFieldDecl(), CheckForReference(), clang::Sema::CheckFunctionCall(), CheckICE(), CheckLValueConstantExpression(), clang::SemaOpenMP::CheckOMPThreadPrivateDecl(), clang::SemaOpenMP::CheckOpenMPLinearDecl(), clang::interp::EvaluationResult::checkReturnValue(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), ClassifyMemberExpr(), CompareQualificationConversions(), clang::Sema::CompareReferenceRelationship(), clang::interp::ByteCodeEmitter::compileFunc(), ComputeDynamicType(), create_call_once(), createObjCPropertyGetter(), DeduceNonTypeTemplateArgument(), clang::Sema::DeduceTemplateArguments(), clang::SemaSYCL::deepTypeCheckForDevice(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), determineEndOffset(), DetermineNoUndef(), clang::InitializationSequence::Diagnose(), DiagnoseBadConversion(), DiagnoseDivisionSizeofPointerOrArray(), DiagnoseForRangeReferenceVariableCopies(), DiagnoseForRangeVariableCopies(), diagnoseListInit(), clang::SemaSwift::DiagnoseName(), diagnoseOpenCLTypes(), DiagnoseUninitializedReference(), DoMarkPotentialCapture(), clang::ento::SMTConv::doTypeConversion(), clang::CodeGen::CGDebugInfo::EmitDeclareOfAutoVariable(), EmitGlobalVarDeclLValue(), clang::ento::ExprEngine::evalCall(), EvaluateBooleanTypeTrait(), EvaluateUnaryTypeTrait(), evaluateVarDeclInit(), clang::ento::SMTConv::fromCast(), getAArch64MTV(), getBaseAlignmentAndOffsetFromLValue(), clang::CFGImplicitDtor::getDestructorDecl(), getFuchsiaHandleSymbols(), clang::SemaHLSL::getInoutParameterType(), getLocationRegionIfReference(), clang::dataflow::CachedConstAccessorsLattice< Base >::getOrCreateConstMethodReturnStorageLocation(), clang::dataflow::CachedConstAccessorsLattice< Base >::getOrCreateConstMethodReturnValue(), clang::CodeGen::CGOpenMPRuntimeGPU::getParameterAddress(), clang::ento::SMTConv::getZeroExpr(), clang::SemaSwift::handleError(), handleLifetimeCategoryAttr(), clang::SemaObjC::handleReturnsInnerPointerAttr(), clang::Expr::HasSideEffects(), clang::InitializationSequence::InitializeFrom(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), isCallback(), clang::ento::isCapturedByReference(), isCapturingReferenceToHostVarInCUDADeviceLambda(), clang::ento::isDereferencableType(), isLiteralType(), clang::ento::Loc::isLocType(), clang::SemaOpenMP::isOpenMPCapturedByRef(), clang::ento::isPossiblyEscaped(), isRelevantAttr(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::isUncheckedPtr(), clang::isUncountedPtr(), clang::isUnsafePtr(), clang::Expr::isUnusedResultAWarning(), clang::Sema::isValidPointerAttrType(), lifetimeStartedInEvaluation(), loadToBegin(), maybeTailCall(), clang::InitializationSequence::Perform(), clang::Sema::PerformImplicitConversion(), PerformReturnAdjustment(), print_elem(), clang::APValue::printPretty(), clang::ento::ExprEngine::ProcessAutomaticObjDtor(), clang::TreeTransform< Derived >::RebuildQualifiedType(), clang::ReferenceType::ReferenceType(), clang::Sema::RefersToMemberWithReducedAlignment(), clang::Expr::setType(), clang::CodeGen::CodeGenFunction::OMPMapVars::setVarAddr(), clang::sema::shouldTrackFirstArgument(), clang::dataflow::StorageLocation::StorageLocation(), clang::dataflow::transferSmartPointerLikeCachedDeref(), clang::CodeGen::CGOpenMPRuntimeGPU::translateParameter(), TryCopyInitialization(), clang::CodeGen::ConstantEmitter::tryEmitPrivate(), clang::CodeGen::ConstantEmitter::tryEmitPrivateForVarInit(), TryListConversion(), TryListInitialization(), TryOrBuildParenListInitialization(), TryReferenceInit(), TryStaticImplicitCast(), TryUserDefinedConversion(), unwrapCastAwayConstnessLevel(), clang::FunctionCallFilterCCC::ValidateCandidate(), clang::Value::Value(), clang::ento::ExprEngine::VisitCast(), clang::interp::Compiler< Emitter >::visitDeclRef(), clang::ento::UndefOrNullArgVisitor::VisitNode(), clang::consumed::ConsumedStmtVisitor::VisitParmVarDecl(), warnAboutAmbiguousFunction(), and writeShouldKill().

◆ isReserveIDT() bool clang::Type::isReserveIDT ( ) const inline ◆ isRValueReferenceType() bool clang::Type::isRValueReferenceType ( ) const inline

Definition at line 8218 of file Type.h.

Referenced by clang::Sema::AddConversionCandidate(), alignReferenceTypes(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::CheckTemplateArgument(), create_call_once_funcptr_call(), DeduceNonTypeTemplateArgument(), DiagnoseForRangeReferenceVariableCopies(), EvaluateUnaryTypeTrait(), FindConversionForRefInit(), clang::Sema::getMoreSpecializedTemplate(), clang::Sema::getNamedReturnInfo(), clang::ento::ExprEngine::handleLValueBitCast(), clang::CXXMethodDecl::isMoveAssignmentOperator(), clang::CXXConstructorDecl::isMoveConstructor(), isRelevantAttr(), isRValueRef(), RefersToRValueRef(), clang::Sema::RequireStructuralType(), TryListConversion(), TryReferenceInit(), TryReferenceListInitialization(), TryStaticReferenceDowncast(), unwrapRValueReferenceIndirection(), and VerifyInitializationSequenceCXX98().

◆ isRVVSizelessBuiltinType() bool Type::isRVVSizelessBuiltinType ( ) const

Returns true for RVV scalable vector types.

Definition at line 2539 of file Type.cpp.

Referenced by clang::ASTContext::areCompatibleRVVTypes(), clang::ASTContext::areLaxCompatibleRVVTypes(), clang::Sema::CheckAssignmentConstraints(), clang::SemaRISCV::CheckBuiltinFunctionCall(), clang::Sema::checkTypeSupport(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CheckVectorOperands(), getSizelessVectorEltType(), isSizelessVectorType(), isTrackedVar(), clang::SemaRISCV::isValidRVVBitcast(), and IsVectorConversion().

◆ isRVVVLSBuiltinType() bool Type::isRVVVLSBuiltinType ( ) const ◆ isSamplerT() bool clang::Type::isSamplerT ( ) const inline

Definition at line 8399 of file Type.h.

Referenced by clang::Sema::BuildArrayType(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckVariableDeclarationType(), clang::CodeGen::CGOpenCLRuntime::convertOpenCLSpecificType(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::deduceOpenCLAddressSpace(), deduceOpenCLPointeeAddrSpace(), diagnoseOpenCLTypes(), GetFullTypeForDeclarator(), IsStandardConversion(), clang::InitializationSequence::Perform(), and TryOCLSamplerInitialization().

◆ isSaturatedFixedPointType() bool clang::Type::isSaturatedFixedPointType ( ) const inline ◆ isScalarType() bool clang::Type::isScalarType ( ) const inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 8619 of file Type.h.

References clang::IsEnumDeclComplete().

Referenced by clang::Sema::ActOnFunctionDeclarator(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPAtomicDirective(), clang::SemaOpenMP::ActOnOpenMPLastprivateClause(), clang::SemaHLSL::ActOnOutParamExpr(), clang::Sema::areLaxCompatibleVectorTypes(), breakDownVectorType(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildPseudoDestructorExpr(), canRecoverDotPseudoDestructorCallsOnPointerObjects(), CheckAnyScalarOrVector(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckBooleanCondition(), checkCondition(), clang::Sema::CheckLogicalOperands(), clang::Sema::CheckVectorOperands(), clang::Sema::CreateBuiltinUnaryOp(), DetermineNoUndef(), DiagnoseNullConversion(), EvaluateUnaryTypeTrait(), getDerivedSymbolForBinding(), clang::Sema::getFixItZeroInitializerForType(), getScalarTypeKind(), getScalarZeroExpressionForType(), getVariableCategoryFromDecl(), clang::ento::BasicValueFactory::getZeroWithTypeSize(), hasIsEqualMethod(), clang::QualType::isCXX11PODType(), isLiteralType(), clang::SemaOpenMP::isOpenMPCapturedByRef(), clang::ento::isPrimitiveType(), isStandardLayoutType(), isStructuralType(), isTrackedVar(), isTriviallyCopyableTypeImpl(), clang::QualType::isTrivialType(), LookupMemberExpr(), matchTypes(), clang::OpenACCIfClause::OpenACCIfClause(), clang::Sema::RequireStructuralType(), clang::SemaOpenACC::OpenACCParsedClause::setConditionDetails(), TryListInitialization(), and updateOutParameters().

◆ isScopedEnumeralType() bool Type::isScopedEnumeralType ( ) const ◆ isSignableType() bool clang::Type::isSignableType ( ) const inline ◆ isSignedFixedPointType() bool clang::Type::isSignedFixedPointType ( ) const inline ◆ isSignedIntegerOrEnumerationType() bool Type::isSignedIntegerOrEnumerationType ( ) const

Determines whether this is an integer type that is signed or an enumeration types whose underlying type is a signed integer type.

Definition at line 2201 of file Type.cpp.

References isSignedIntegerType().

Referenced by clang::Sema::ActOnEnumBody(), clang::Sema::ActOnFinishSwitchStmt(), clang::ento::iterator::assumeNoOverflow(), clang::ento::SMTConv::castAPSInt(), clang::Sema::CheckEnumConstant(), CheckICE(), clang::Sema::CheckTemplateArgument(), clang::interp::Context::classify(), clang::Sema::DiagnoseAssignmentEnum(), clang::ento::SMTConv::doIntTypeConversion(), EmitBitfieldTruncationCheckHelper(), clang::CodeGen::ConstantEmitter::emitForMemory(), EmitIntegerSignChangeCheckHelper(), EmitIntegerTruncationCheckHelper(), EmitIsNegativeTestHelper(), emitPointerArithmetic(), clang::ento::SMTConv::fromCast(), clang::ento::BasicValueFactory::getAPSIntType(), clang::ento::SMTConv::getBinExpr(), clang::StandardConversionSequence::getNarrowingKind(), getNextLargerIntegralType(), clang::ento::SMTConv::getRangeExpr(), clang::ento::SMTConstraintManager::getSymVal(), clang::ento::SMTConv::getZeroExpr(), HandleFloatToIntCast(), hasSignedIntegerRepresentation(), clang::interp::interp__builtin_overflowop(), isRepresentableIntegerValue(), isWithinConstantOverflowBounds(), clang::CodeGen::CGBitFieldInfo::MakeInfo(), clang::ASTContext::MakeIntValue(), clang::interp::pushInteger(), and tryRearrange().

◆ isSignedIntegerType() bool Type::isSignedIntegerType ( ) const

Return true if this is an integer type that is signed, according to C99 6.2.5p4 [char, signed char, short, int, long..], or an enum decl which has a signed representation.

isSignedIntegerType - Return true if this is an integer type that is signed, according to C99 6.2.5p4 [char, signed char, short, int, long..], an enum decl which has a signed representation

Definition at line 2180 of file Type.cpp.

References isSignedIntegerType().

Referenced by clang::Sema::AddModeAttr(), AnalyzeBitFieldAssignment(), calculateElementType(), clang::Sema::CheckCompatibleReinterpretCast(), clang::Sema::CheckImplicitConversion(), computeOverflowPatternExclusion(), clang::InitializationSequence::Diagnose(), DiagnoseIntInBoolContext(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalUpdate(), EvaluateUnaryTypeTrait(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), getDotProductIntrinsic(), clang::ASTContext::getFixedPointSemantics(), getIntegerWidthAndSignedness(), clang::ASTContext::getPromotedIntegerType(), clang::Sema::IsIntegralPromotion(), isKnownToHaveUnsignedValue(), clang::ASTContext::isPromotableBitField(), isSignedIntegerOrEnumerationType(), isSignedIntegerType(), clang::EmbedExpr::ChildElementIter< Const >::operator*(), rewriteToNumericBoxedExpression(), clang::JSONNodeDumper::VisitIntegerLiteral(), and clang::ento::ExprEngine::VisitOffsetOfExpr().

◆ isSizelessBuiltinType() bool Type::isSizelessBuiltinType ( ) const ◆ isSizelessType() bool Type::isSizelessType ( ) const

As an extension, we classify types as one of "sized" or "sizeless"; every type is one or the other.

Standard types are all sized; sizeless types are purely an extension.

Sizeless types contain data with no specified size, alignment, or layout.

Definition at line 2511 of file Type.cpp.

References isSizelessBuiltinType().

Referenced by clang::Sema::ActOnCXXDelete(), clang::Sema::BuildArrayType(), clang::Sema::BuildAtomicType(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::CheckAlignasUnderalignment(), clang::Sema::CheckCountedByAttrOnField(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::CheckVariableDeclarationType(), and clang::Sema::SizelessTypeDiagnoser< Ts >::diagnose().

◆ isSizelessVectorType() bool Type::isSizelessVectorType ( ) const ◆ isSpecificBuiltinType() bool clang::Type::isSpecificBuiltinType ( unsigned  K ) const inline

Test for a particular builtin type.

Definition at line 8485 of file Type.h.

Referenced by clang::SemaOpenMP::ActOnOMPArraySectionExpr(), clang::SemaOpenMP::ActOnOpenMPDependClause(), clang::SemaOpenMP::ActOnOpenMPMapClause(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildVAArgExpr(), BuiltinCountZeroBitsGeneric(), calculateElementType(), clang::ento::SMTConstraintManager::canReasonAbout(), clang::Sema::CheckConstraintExpression(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::Sema::CheckOverloadedOperatorDeclaration(), clang::SemaRISCV::checkRVVTypeSupport(), CheckTautologicalComparison(), clang::interp::Context::classify(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::Sema::DiagnoseAssignmentResult(), DiagnoseFloatingImpCast(), clang::Sema::getCopyElisionCandidate(), clang::ASTContext::getPreferredTypeAlign(), IsImplicitBoolFloatConversion(), clang::SemaObjC::isSignedCharBool(), isTypeSubstitutable(), LookupMemberExpr(), printIntegral(), and processImplicitMapsWithDefaultMappers().

◆ isSpecificPlaceholderType() bool clang::Type::isSpecificPlaceholderType ( unsigned  K ) const inline ◆ isSpecifierType() bool Type::isSpecifierType ( ) const ◆ isStandardLayoutType() bool Type::isStandardLayoutType ( ) const ◆ isStdByteType() bool Type::isStdByteType ( ) const ◆ isStructuralType() bool Type::isStructuralType ( ) const ◆ isStructureOrClassType() bool Type::isStructureOrClassType ( ) const
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 690 of file Type.cpp.

References clang::TagDecl::isClass(), clang::TagDecl::isInterface(), and clang::TagDecl::isStruct().

Referenced by clang::SemaOpenMP::ActOnOpenMPDeclareMapperType(), buildUserDefinedMapperRef(), clang::Sema::CheckOverridingFunctionReturnType(), CheckSYCLKernelName(), EvaluateBinaryTypeTrait(), isImplicitMapperNeeded(), isLayoutCompatible(), clang::Sema::IsPointerInterconvertibleBaseOf(), markEscapingByrefs(), and processImplicitMapsWithDefaultMappers().

◆ isStructureType() bool Type::isStructureType ( ) const ◆ isStructureTypeWithFlexibleArrayMember() bool Type::isStructureTypeWithFlexibleArrayMember ( ) const ◆ isSubscriptableVectorType() bool clang::Type::isSubscriptableVectorType ( ) const inline ◆ isSVESizelessBuiltinType() bool Type::isSVESizelessBuiltinType ( ) const ◆ isSveVLSBuiltinType() bool Type::isSveVLSBuiltinType ( ) const

Determines if this is a sizeless type supported by the 'arm_sve_vector_bits' type attribute, which can be applied to a single SVE vector or predicate, excluding tuple types such as svint32x4_t.

Definition at line 2552 of file Type.cpp.

Referenced by clang::Sema::CheckAdditionOperands(), clang::Sema::CheckBitwiseOperands(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckImplicitConversion(), clang::Sema::CheckMultiplyDivideOperands(), clang::Sema::CheckRemainderOperands(), clang::Sema::CheckShiftOperands(), clang::Sema::CheckSizelessVectorConditionalTypes(), clang::Sema::CheckSizelessVectorOperands(), checkSizelessVectorShift(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), getSveEltType(), getSVETypeSize(), HandleArmSveVectorBitsTypeAttr(), isValidSizelessVectorForConditionalCondition(), and tryGCCVectorConvertAndSplat().

◆ isTemplateTypeParmType() bool clang::Type::isTemplateTypeParmType ( ) const inline ◆ isTypedefNameType() bool clang::Type::isTypedefNameType ( ) const inline ◆ isUndeducedAutoType() bool clang::Type::isUndeducedAutoType ( ) const inline ◆ isUndeducedType() bool clang::Type::isUndeducedType ( ) const inline

Determine whether this type is an undeduced type, meaning that it somehow involves a C++11 'auto' type or similar which has not yet been deduced.

Definition at line 8654 of file Type.h.

Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnInitializerError(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::AddConversionCandidate(), clang::Sema::AddInitializerToDecl(), clang::Sema::areMultiversionVariantFunctionsCompatible(), clang::Sema::BuildArrayType(), clang::Sema::BuildOverloadedCallExpr(), clang::Sema::BuildVariableInstantiation(), clang::Sema::canDelayFunctionBody(), clang::Sema::checkArrayElementAlignment(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::SemaSYCL::CheckSYCLEntryPointFunctionDecl(), clang::Sema::CheckVariableDeclarationType(), completeFunctionType(), clang::Sema::CreateRecoveryExpr(), clang::Sema::deduceClosureReturnType(), clang::Sema::DeduceReturnType(), clang::Sema::DefineImplicitLambdaToFunctionPointerConversion(), hasDeducedReturnType(), clang::VarDecl::hasDependentAlignment(), clang::Sema::MergeVarDeclTypes(), clang::Sema::RebuildTemplateParamsInCurrentInstantiation(), and TryToFixInvalidVariablyModifiedType().

◆ isUnionType() bool Type::isUnionType ( ) const
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 704 of file Type.cpp.

Referenced by clang::SemaOpenMP::ActOnOpenMPDeclareMapperType(), appendRecordType(), buildUserDefinedMapperRef(), clang::ento::SymbolManager::canSymbolicate(), CheckBitcastType(), checkIsValidOpenCLKernelParameter(), checkMemberDecomposition(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), EvaluateBinaryTypeTrait(), EvaluateBuiltinClassifyType(), evaluateCDTSize(), EvaluateUnaryTypeTrait(), isImplicitMapperNeeded(), isLayoutCompatible(), MaybePrintTagKeywordIfSupressingScopes(), processImplicitMapsWithDefaultMappers(), and TryOrBuildParenListInitialization().

◆ isUnsaturatedFixedPointType() bool clang::Type::isUnsaturatedFixedPointType ( ) const inline ◆ isUnscopedEnumerationType() bool Type::isUnscopedEnumerationType ( ) const ◆ isUnsignedFixedPointType() bool clang::Type::isUnsignedFixedPointType ( ) const inline ◆ isUnsignedIntegerOrEnumerationType() bool Type::isUnsignedIntegerOrEnumerationType ( ) const ◆ isUnsignedIntegerType() bool Type::isUnsignedIntegerType ( ) const

Return true if this is an integer type that is unsigned, according to C99 6.2.5p6 [which returns true for _Bool], or an enum decl which has an unsigned representation.

isUnsignedIntegerType - Return true if this is an integer type that is unsigned, according to C99 6.2.5p6 [which returns true for _Bool], an enum decl which has an unsigned representation

Definition at line 2230 of file Type.cpp.

References isUnsignedIntegerType().

Referenced by clang::Sema::ActOnStringLiteral(), clang::Sema::BuildVAArgExpr(), BuiltinCountZeroBitsGeneric(), BuiltinPopcountg(), calculateElementType(), clang::SemaOpenCL::checkBuiltinRWPipe(), CheckC23ConstexprInitStringLiteral(), clang::Sema::CheckCompatibleReinterpretCast(), clang::Sema::CheckImplicitConversion(), computeOverflowPatternExclusion(), clang::Sema::DefaultArgumentPromotion(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalUpdate(), clang::ento::SValBuilder::evalIntegralCast(), EvaluateUnaryTypeTrait(), expandStringLiteral(), extractStringLiteralCharacter(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), getDotProductIntrinsic(), clang::ASTContext::getIntegerTypeOrder(), clang::ASTContext::getPromotedIntegerType(), getWaveActiveMaxIntrinsic(), getWaveActiveSumIntrinsic(), handleVectorUnaryOperator(), handleVectorVectorBinOp(), clang::Sema::IsIntegralPromotion(), isNonNegativeIntegerExpr(), isUnsigned(), isUnsignedIntegerOrEnumerationType(), and isUnsignedIntegerType().

◆ isVariableArrayType() bool clang::Type::isVariableArrayType ( ) const inline

Definition at line 8276 of file Type.h.

Referenced by clang::SemaOpenMP::ActOnOMPArraySectionExpr(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::BuildArrayType(), clang::Sema::BuildCompoundLiteralExpr(), CheckICE(), clang::Sema::CheckTypedefForVariablyModifiedType(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), DiagnoseVLAInCXXTypeTrait(), emitOMPArraySectionBase(), EquivalentArrayTypes(), isConstantSizeArrayWithMoreThanOneElement(), isLiteralType(), isSimpleArrayDecayOperand(), clang::Sema::RequireLiteralType(), and clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr().

◆ isVariablyModifiedType() bool clang::Type::isVariablyModifiedType ( ) const inline

Whether this type is a variably-modified type (C99 6.7.5).

Definition at line 2725 of file Type.h.

Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::SemaObjC::ActOnIvar(), clang::SemaOpenMP::ActOnOpenMPCopyprivateClause(), clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::SemaOpenMP::ActOnOpenMPPrivateClause(), clang::Sema::BuildArrayType(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildExceptionDeclaration(), captureVariablyModifiedType(), clang::Sema::CheckAllocatedType(), CheckC23ConstexprVarType(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTypedefForVariablyModifiedType(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), diagnoseArrayStarInParamType(), clang::CodeGen::ReductionCodeGen::emitAggregateType(), clang::CodeGen::CodeGenModule::EmitExplicitCastExprType(), emitOutlinedFunctionPrologue(), clang::CodeGen::CGOpenMPRuntime::emitReduction(), clang::CodeGen::CGOpenMPRuntime::emitReductionFunction(), clang::CodeGen::CGOpenMPRuntime::getAddressOfLocalVariable(), clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::getAddressOfLocalVariable(), clang::Sema::HandleExprEvaluationContextForTypeof(), hasSizedVLAType(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::QualType::isCanonicalAsParam(), clang::Sema::isIncompatibleTypedef(), isVariableCapturable(), NeedsInstantiationAsFunctionType(), clang::Sema::SubstType(), clang::Sema::tryCaptureVariable(), TryToFixInvalidVariablyModifiedType(), clang::JSONNodeDumper::Visit(), and clang::TextNodeDumper::Visit().

◆ isVectorType() bool clang::Type::isVectorType ( ) const inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 8304 of file Type.h.

Referenced by clang::Sema::ActOnCastExpr(), clang::Sema::AddAlignedAttr(), adjustVectorType(), clang::Sema::anyAltivecTypes(), clang::ASTContext::areCompatibleRVVTypes(), clang::ASTContext::areCompatibleVectorTypes(), clang::ASTContext::areLaxCompatibleRVVTypes(), clang::Sema::areLaxCompatibleVectorTypes(), clang::Sema::areVectorTypesSameSize(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildVectorLiteral(), clang::Sema::BuiltinShuffleVector(), clang::SemaPPC::BuiltinVSX(), canRecoverDotPseudoDestructorCallsOnPointerObjects(), clang::Sema::CheckAdditionOperands(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckBitwiseOperands(), clang::SemaRISCV::CheckBuiltinFunctionCall(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckConditionalOperands(), clang::Sema::CheckExtVectorCast(), CheckFloatOrHalfRepresentations(), CheckIncrementDecrementOperand(), clang::Sema::CheckLogicalOperands(), clang::Sema::CheckMultiplyDivideOperands(), checkObjCMethodX86VectorTypes(), clang::Sema::CheckRemainderOperands(), clang::Sema::CheckShiftOperands(), clang::Sema::CheckSubtractionOperands(), CheckVecStepTraitOperandType(), clang::Sema::CheckVectorCast(), CheckVectorElementsTraitOperandType(), clang::Sema::CheckVectorOperands(), CheckVectorSelect(), checkVectorShift(), clang::interp::Context::classify(), clang::Sema::ConvertVectorExpr(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CXXCheckConditionalOperands(), diagnoseIfNeedsFPReg(), Evaluate(), EvaluateUnaryTypeTrait(), EvaluateVector(), handleAsDoubleBuiltin(), handleTransparentUnionAttr(), clang::Sema::InvalidLogicalVectorOperands(), clang::ento::NonLoc::isCompoundType(), clang::QualType::isCXX11PODType(), clang::CodeGen::ABIInfo::isHomogeneousAggregate(), isIntegerLikeType(), clang::Sema::isLaxVectorConversion(), isLiteralType(), clang::Sema::IsPointerConversion(), clang::ento::isPrimitiveType(), isStandardLayoutType(), isStructuralType(), isTrackedVar(), isTriviallyCopyableTypeImpl(), clang::QualType::isTrivialType(), clang::SemaRISCV::isValidRVVBitcast(), clang::Sema::isValidSveBitcast(), isValidVectorForConditionalCondition(), IsVectorConversion(), clang::Sema::LookupTemplateName(), OpenCLCheckVectorConditional(), clang::Sema::PerformImplicitConversion(), clang::Expr::refersToVectorElement(), TryReinterpretCast(), clang::ento::ExprEngine::VisitArraySubscriptExpr(), clang::interp::Compiler< Emitter >::VisitBinaryOperator(), clang::interp::Compiler< Emitter >::VisitCastExpr(), clang::interp::Compiler< Emitter >::VisitCompoundAssignOperator(), clang::interp::Compiler< Emitter >::VisitExtVectorElementExpr(), clang::ento::ExprEngine::VisitInitListExpr(), clang::ento::ExprEngine::VisitLogicalExpr(), clang::interp::Compiler< Emitter >::VisitUnaryOperator(), clang::interp::Compiler< Emitter >::VisitVectorBinOp(), and clang::interp::Compiler< Emitter >::VisitVectorUnaryOperator().

◆ isVisibilityExplicit() bool clang::Type::isVisibilityExplicit ( ) const inline

Return true if the visibility was explicitly set is the code.

Definition at line 2941 of file Type.h.

◆ isVoidPointerType() bool Type::isVoidPointerType ( ) const
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 698 of file Type.cpp.

Referenced by clang::Sema::BuildExpressionFromDeclTemplateArgument(), BuiltinLaunder(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckCompareOperands(), checkConditionalBlockPointerCompatibility(), checkIntToPointerCast(), clang::SemaObjC::CheckSubscriptingKind(), clang::ento::SMTConv::doTypeConversion(), clang::SemaObjC::FindCompositeObjCPointerType(), clang::Sema::FindCompositePointerType(), getExistingLazyBinding(), clang::SemaObjC::handleBridgeAttr(), HandleDynamicCast(), clang::CXXDynamicCastExpr::isAlwaysNull(), isVoidPointer(), maybeTailCall(), clang::Sema::MergeTypedefNameDecl(), TryReinterpretCast(), clang::interp::Compiler< Emitter >::VisitAddrLabelExpr(), and clang::interp::Compiler< Emitter >::VisitCastExpr().

◆ isVoidType() bool clang::Type::isVoidType ( ) const inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 8516 of file Type.h.

Referenced by clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCastExpr(), clang::Sema::ActOnConversionDeclarator(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnStartOfFunctionDef(), clang::SemaObjC::ActOnStartOfObjCMethodDef(), clang::CodeGen::CGDebugInfo::addHeapAllocSiteMetadata(), AddObjCKeyValueCompletions(), AddObjCProperties(), AddOrdinaryNameResults(), AnalyzeImplicitConversions(), clang::Sema::BuildArrayType(), clang::SemaObjC::BuildClassMessage(), buildCoawaitCalls(), clang::Sema::BuildCoreturnStmt(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildFunctionType(), clang::SemaObjC::BuildInstanceMessage(), buildLambdaScopeReturnType(), clang::Sema::BuildMemberPointerType(), clang::SemaObjC::BuildObjCAtThrowStmt(), clang::SemaObjC::BuildObjCEncodeExpression(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildReferenceType(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildReturnStmt(), clang::Sema::BuiltinAddPointer(), clang::Sema::CheckAddressOfOperand(), checkArithmeticBinOpPointerOperands(), checkArithmeticOpPointerOperand(), clang::Sema::CheckCallReturnType(), checkCastFunctionType(), CheckCommaOperands(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompatibleReinterpretCast(), checkConditionalObjectPointersCompatibility(), clang::Sema::CheckConditionalOperands(), CheckConstantExpression(), CheckConstexprMissingReturn(), CheckConstPureAttributesUsage(), clang::Sema::CheckCXXThrowOperand(), CheckExtensionTraitOperandType(), clang::Sema::CheckFunctionDeclaration(), checkPointerTypesForAssignment(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::CheckSubtractionOperands(), clang::SemaSYCL::CheckSYCLEntryPointFunctionDecl(), clang::Sema::CheckTransparentUnionArgumentConstraints(), CheckUnaryTypeTraitTypeCompleteness(), clang::Sema::CheckVariableDeclarationType(), CheckVecStepTraitOperandType(), clang::CodeGen::DefaultABIInfo::classifyReturnType(), PNaClABIInfo::classifyReturnType(), clang::SemaCodeCompletion::CodeCompleteObjCMethodDecl(), clang::interp::ByteCodeEmitter::compileFunc(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::Sema::deduceOpenCLAddressSpace(), clang::Sema::DefaultLvalueConversion(), DiagnoseBadFunctionCast(), DiagnoseCastOfObjCSEL(), emitPointerArithmetic(), clang::ento::StoreManager::evalBaseToDerived(), clang::ento::ExprEngine::evalCall(), Evaluate(), EvaluateBinaryTypeTrait(), EvaluateBooleanTypeTrait(), evaluateCDTSize(), EvaluateLValue(), EvaluateUnaryTypeTrait(), EvaluateVoid(), clang::Sema::FindCompositePointerType(), formatBlockPlaceholder(), generateDiagnosticsForCallLike(), getAArch64MTV(), GetFullTypeForDeclarator(), getNDSWDS(), getOpenCLKernelParameterType(), clang::ento::SMTConstraintManager::getSymVal(), clang::SemaSwift::handleAsyncAttr(), handleGlobalAttr(), clang::SemaSYCL::handleKernelAttr(), clang::Sema::handlerCanCatch(), HandleSizeof(), handleWarnUnusedResult(), clang::ASTContext::hasUniqueObjectRepresentations(), IgnoreCommaOperand(), clang::Sema::IgnoredValueConversions(), isCARCBridgableType(), isDispatchBlock(), isIncompleteType(), isLiteralType(), clang::Expr::isNullPointerConstant(), clang::Sema::IsPointerConversion(), clang::StandardConversionSequence::isPointerConversionToVoidPointer(), clang::ento::cocoa::isRefType(), clang::Expr::isUnusedResultAWarning(), clang::ento::SymExpr::isValidTypeForSymbol(), clang::Sema::isValidVarArgType(), isVoidPointerToNonConst(), clang::analyze_format_string::ArgType::matchesType(), clang::APValue::printPretty(), clang::Sema::RequireLiteralType(), shouldBeModeledWithNoOp(), clang::Sema::SubstituteExplicitTemplateArguments(), clang::Sema::SubstParmVarDecl(), clang::CodeGen::ConstantEmitter::tryEmitPrivate(), tryGenerateSpecializedMessageSend(), TryGetExprRange(), TryStaticCast(), TryValueInitialization(), clang::interp::Compiler< Emitter >::visit(), clang::ento::ExprEngine::VisitArraySubscriptExpr(), clang::interp::Compiler< Emitter >::VisitBinaryOperator(), clang::interp::Compiler< Emitter >::VisitBuiltinCallExpr(), clang::InterfaceKindVisitor::VisitBuiltinType(), clang::interp::Compiler< Emitter >::VisitCallExpr(), clang::interp::Compiler< Emitter >::VisitCastExpr(), clang::interp::Compiler< Emitter >::VisitCXXScalarValueInitExpr(), clang::interp::Compiler< Emitter >::visitExpr(), clang::interp::Compiler< Emitter >::visitFunc(), clang::interp::Compiler< Emitter >::visitInitList(), clang::interp::Compiler< Emitter >::VisitUnaryExprOrTypeTraitExpr(), and warnAboutAmbiguousFunction().

◆ isWebAssemblyExternrefType() bool Type::isWebAssemblyExternrefType ( ) const ◆ isWebAssemblyTableType() bool Type::isWebAssemblyTableType ( ) const

Returns true if this is a WebAssembly table type: either an array of reference types, or a pointer to a reference type (which can only be created by array to pointer decay).

Definition at line 2501 of file Type.cpp.

Referenced by clang::Sema::ActOnArraySubscriptExpr(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::BuildFunctionType(), clang::Sema::BuildPointerType(), clang::Sema::BuildReferenceType(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckAssignmentOperands(), clang::Sema::CheckConditionalOperands(), clang::Sema::CheckParmsForFunctionDef(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CXXCheckConditionalOperands(), and diagnoseTautologicalComparison().

◆ isWideCharType() bool Type::isWideCharType ( ) const ◆ operator=() [1/2] Type & clang::Type::operator= ( const Type &  ) delete ◆ operator=() [2/2] Type & clang::Type::operator= ( Type &&  ) delete ◆ setDependence() ◆ this_() Type * clang::Type::this_ ( ) inlineprotected

Definition at line 2322 of file Type.h.

◆ ASTContext ◆ ASTReader ◆ ASTWriter ◆ serialization::AbstractTypeReader ◆ serialization::AbstractTypeWriter ◆ TypePropertyCache ◆  union { ... } clang::Type::@127 ◆ ArrayTypeBits ◆ AttributedTypeBits ◆ AutoTypeBits ◆ BuiltinTypeBits ◆ ConstantArrayTypeBits ◆ CountAttributedTypeBits ◆ DependentTemplateSpecializationTypeBits ◆ ElaboratedTypeBits ◆ FunctionTypeBits ◆ FunctionTypeNumParamsLimit constexpr int clang::Type::FunctionTypeNumParamsLimit = (1 << 16) - 1 staticconstexpr

Definition at line 1933 of file Type.h.

◆ FunctionTypeNumParamsWidth constexpr int clang::Type::FunctionTypeNumParamsWidth = 16 staticconstexpr

Definition at line 1932 of file Type.h.

◆ ObjCObjectTypeBits ◆ PackExpansionTypeBits ◆ ReferenceTypeBits ◆ SubstTemplateTypeParmPackTypeBits ◆ SubstTemplateTypeParmTypeBits ◆ TemplateSpecializationTypeBits ◆ TemplateTypeParmTypeBits ◆ TypeBits TypeBitfields clang::Type::TypeBits ◆ TypedefBits ◆ TypeOfBits ◆ TypeWithKeywordBits ◆ UsingBits ◆ VectorTypeBits

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


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4