clang API Documentation
#include <Type.h>
Classes | |
class | ArrayTypeBitfields |
class | AttributedTypeBitfields |
class | AutoTypeBitfields |
class | BuiltinTypeBitfields |
class | FunctionTypeBitfields |
class | ObjCObjectTypeBitfields |
class | ReferenceTypeBitfields |
class | TypeBitfields |
Bitfields required by the Type class. | |
class | TypeWithKeywordBitfields |
class | VectorTypeBitfields |
Public Types | |
enum | TypeClass |
enum | ScalarTypeKind { STK_CPointer, STK_BlockPointer, STK_ObjCObjectPointer, STK_MemberPointer, STK_Bool, STK_Integral, STK_Floating, STK_IntegralComplex, STK_FloatingComplex } |
Public Member Functions | |
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 |
QualType | getLocallyUnqualifiedSingleStepDesugaredType () const |
bool | isIncompleteType (NamedDecl **Def=nullptr) const |
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. | |
bool | isIncompleteOrObjectType () const |
bool | isObjectType () const |
Determine whether this type is an object type. | |
bool | isLiteralType (const ASTContext &Ctx) const |
bool | isStandardLayoutType () const |
Test if this type is a standard-layout type. (C++0x [basic.type]p9) | |
bool | isBuiltinType () const |
isBuiltinType - returns true if the type is a builtin type. | |
bool | isSpecificBuiltinType (unsigned K) const |
isSpecificBuiltinType - Test for a particular builtin type. | |
bool | isPlaceholderType () const |
const BuiltinType * | getAsPlaceholderType () const |
bool | isSpecificPlaceholderType (unsigned K) const |
isSpecificPlaceholderType - Test for a specific placeholder type. | |
bool | isNonOverloadPlaceholderType () const |
bool | isIntegerType () const |
bool | isEnumeralType () const |
bool | isBooleanType () const |
bool | isCharType () const |
bool | isWideCharType () const |
bool | isChar16Type () const |
bool | isChar32Type () const |
bool | isAnyCharacterType () const |
Determine whether this type is any of the built-in character types. | |
bool | isIntegralType (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 | isRealFloatingType () const |
Floating point categories. | |
bool | isComplexType () const |
bool | isAnyComplexType () const |
bool | isFloatingType () const |
bool | isHalfType () 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 | isAnyPointerType () const |
bool | isBlockPointerType () const |
bool | isVoidPointerType () const |
bool | isReferenceType () const |
bool | isLValueReferenceType () const |
bool | isRValueReferenceType () const |
bool | isFunctionPointerType () const |
bool | isMemberPointerType () const |
bool | isMemberFunctionPointerType () const |
bool | isMemberDataPointerType () const |
bool | isArrayType () const |
bool | isConstantArrayType () const |
bool | isIncompleteArrayType () const |
bool | isVariableArrayType () const |
bool | isDependentSizedArrayType () const |
bool | isRecordType () const |
bool | isClassType () const |
bool | isStructureType () const |
bool | isInterfaceType () const |
bool | isStructureOrClassType () const |
bool | isUnionType () const |
bool | isComplexIntegerType () const |
bool | isVectorType () const |
bool | isExtVectorType () const |
bool | isObjCObjectPointerType () const |
bool | isObjCRetainableType () const |
bool | isObjCLifetimeType () const |
bool | isObjCIndirectLifetimeType () const |
bool | isObjCNSObjectType () const |
bool | isObjCObjectType () const |
bool | isObjCQualifiedInterfaceType () const |
bool | isObjCQualifiedIdType () const |
bool | isObjCQualifiedClassType () const |
bool | isObjCObjectOrInterfaceType () const |
bool | isObjCIdType () const |
bool | isObjCClassType () 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 | isAtomicType () const |
bool | isImage1dT () const |
bool | isImage1dArrayT () const |
bool | isImage1dBufferT () const |
bool | isImage2dT () const |
bool | isImage2dArrayT () const |
bool | isImage3dT () const |
bool | isImageType () const |
bool | isSamplerT () const |
bool | isEventT () const |
bool | isOpenCLSpecificType () const |
bool | isObjCARCImplicitlyUnretainedType () const |
Qualifiers::ObjCLifetime | getObjCARCImplicitLifetime () const |
Return the implicit lifetime for this type, which must not be dependent. | |
ScalarTypeKind | getScalarTypeKind () const |
getScalarTypeKind - Given that this is a scalar type, classify it. | |
bool | isDependentType () const |
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 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 |
bool | hasObjCPointerRepresentation () const |
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 RecordType * | getAsStructureType () const |
const RecordType * | getAsUnionType () const |
NOTE: getAs*ArrayType are methods on ASTContext. | |
const ComplexType * | getAsComplexIntegerType () const |
const ObjCObjectPointerType * | getAsObjCInterfacePointerType () const |
const ObjCObjectPointerType * | getAsObjCQualifiedIdType () const |
const ObjCObjectPointerType * | getAsObjCQualifiedClassType () const |
const ObjCObjectType * | getAsObjCQualifiedInterfaceType () const |
CXXRecordDecl * | getAsCXXRecordDecl () 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. | |
const CXXRecordDecl * | getPointeeCXXRecordDecl () const |
AutoType * | getContainedAutoType () const |
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. | |
template<typename T > | |
const T * | getAs () const |
This will check for a TypedefType by removing any existing sugar until it reaches a TypedefType or a non-sugared type. | |
const ArrayType * | getAsArrayTypeUnsafe () const |
template<typename T > | |
const T * | castAs () const |
const ArrayType * | castAsArrayTypeUnsafe () const |
const Type * | getBaseElementTypeUnsafe () const |
const Type * | getArrayElementTypeNoTypeQual () const |
QualType | getPointeeType () const |
const Type * | getUnqualifiedDesugaredType () const |
bool | isPromotableIntegerType () const |
More type predicates useful for type checking/promotion. | |
bool | isSignedIntegerType () const |
bool | isUnsignedIntegerType () const |
bool | isSignedIntegerOrEnumerationType () const |
bool | isUnsignedIntegerOrEnumerationType () const |
bool | isConstantSizeType () const |
bool | isSpecifierType () const |
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. Used for consistency checking. Should always return true. | |
const char * | getTypeClassName () const |
QualType | getCanonicalTypeInternal () const |
CanQualType | getCanonicalTypeUnqualified () const |
void | dump () const |
Protected Member Functions | |
Type * | this_ () |
Type (TypeClass tc, QualType canon, bool Dependent, bool InstantiationDependent, bool VariablyModified, bool ContainsUnexpandedParameterPack) | |
void | setDependent (bool D=true) |
void | setInstantiationDependent (bool D=true) |
void | setVariablyModified (bool VM=true) |
void | setContainsUnexpandedParameterPack (bool PP=true) |
Protected Attributes | |
union { | |
TypeBitfields TypeBits | |
ArrayTypeBitfields ArrayTypeBits | |
AttributedTypeBitfields AttributedTypeBits | |
AutoTypeBitfields AutoTypeBits | |
BuiltinTypeBitfields BuiltinTypeBits | |
FunctionTypeBitfields FunctionTypeBits | |
ObjCObjectTypeBitfields ObjCObjectTypeBits | |
ReferenceTypeBitfields ReferenceTypeBits | |
TypeWithKeywordBitfields TypeWithKeywordBits | |
VectorTypeBitfields VectorTypeBits | |
}; | |
Friends | |
class | TypePropertyCache |
class | ASTContext |
class | ASTReader |
class | ASTWriter |
Type - This is 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.
clang::Type::Type | ( | TypeClass | tc, |
QualType | canon, | ||
bool | Dependent, | ||
bool | InstantiationDependent, | ||
bool | VariablyModified, | ||
bool | ContainsUnexpandedParameterPack | ||
) | [inline, protected] |
Definition at line 1369 of file Type.h.
References clang::NoLinkage.
Referenced by clang::Sema::LookupInlineAsmIdentifier().
bool clang::Type::canDecayToPointerType | ( | ) | const [inline] |
const T * clang::Type::castAs | ( | ) | const |
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.
Definition at line 5249 of file Type.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), addInstantiatedParametersToScope(), clang::Sema::adjustCCAndNoReturn(), clang::ASTContext::adjustDeducedFunctionResultType(), adjustFunctionTypeForInstantiation(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildObjCArrayLiteral(), clang::Sema::BuildObjCDictionaryLiteral(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildVariableInstantiation(), checkArithmeticOnObjCPointer(), clang::Sema::CheckCompareOperands(), checkConditionalPointerCompatibility(), CheckConstantExpression(), CheckConstexprCtorInitializer(), clang::Sema::CheckEquivalentExceptionSpec(), clang::Sema::CheckExplicitlyDefaultedMemberExceptionSpec(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::checkInitMethod(), checkIsValidOpenCLKernelParameter(), clang::Sema::CheckMain(), clang::Sema::CheckMemberOperatorAccess(), clang::Sema::CheckMSVCRTEntryPoint(), clang::Sema::CheckOverridingFunctionExceptionSpec(), clang::Sema::CheckTransparentUnionArgumentConstraints(), clang::Sema::CodeCompleteCase(), commonEmitCXXMemberOrOperatorCall(), clang::CodeGen::CGDebugInfo::completeClassData(), clang::CodeGen::CGDebugInfo::completeType(), clang::Sema::ComputeDefaultedCopyAssignmentExceptionSpec(), clang::Sema::ComputeDefaultedCopyCtorExceptionSpec(), clang::PredefinedExpr::ComputeName(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitCopyConstructor(), clang::Sema::DefineImplicitDefaultConstructor(), clang::Sema::DefineImplicitDestructor(), clang::Sema::DefineImplicitMoveAssignment(), clang::Sema::DefineImplicitMoveConstructor(), clang::Sema::DiagnoseSentinelCalls(), clang::CodeGen::CodeGenFunction::EmitBlockCallExpr(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorCall(), clang::CodeGen::CodeGenFunction::EmitCXXMemberPointerCallExpr(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), clang::CodeGen::CodeGenFunction::EmitDynamicCast(), clang::CodeGen::CodeGenFunction::EmitForwardingCallToLambda(), clang::CodeGen::CodeGenModule::EmitNullConstant(), emitPointerArithmetic(), clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtorCall(), emitWritebackArg(), EncodeBitField(), EvalAndBitcastToAPInt(), clang::Sema::EvaluateImplicitExceptionSpec(), clang::CXXRecordDecl::FindBaseClass(), clang::Expr::findBoundMemberType(), clang::Sema::FindCompositeObjCPointerType(), FindDesignatorMismatch(), clang::CXXRecordDecl::FindNestedNameSpecifierMember(), clang::CXXRecordDecl::FindOrdinaryMember(), findSubobject(), clang::CXXRecordDecl::FindTagMember(), clang::CXXRecordDecl::FindVirtualBaseClass(), clang::Expr::getBestDynamicClassType(), getCallingConvMangling(), clang::CallExpr::getCallReturnType(), getCXXRecord(), GetFullTypeForDeclarator(), clang::BlockExpr::getFunctionType(), clang::ObjCObjectPointerType::getObjectType(), clang::ReferenceType::getPointeeType(), clang::CodeGen::CodeGenFunction::GetUndefRValue(), handleSentinelAttr(), hasDeducedReturnType(), clang::Sema::InstantiateExceptionSpec(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::CXXDynamicCastExpr::isAlwaysNull(), clang::CXXMethodDecl::isConst(), clang::CodeGen::CodeGenModule::isPaddedAtomicType(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::FunctionDecl::isReservedGlobalPlacementOperator(), IsStructurallyEquivalent(), clang::CXXMethodDecl::isVolatile(), clang::Sema::LookupMethodInObjectType(), LookupMethodInReceiverType(), clang::Sema::LookupTemplateName(), clang::MangleContext::mangleName(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), clang::Sema::MergeFunctionDecl(), ObjCEncodingForEnumType(), clang::Sema::PerformImplicitConversion(), clang::Sema::PrepareScalarCast(), clang::Sema::ResolveExceptionSpec(), and clang::Sema::startLambdaDefinition().
const ArrayType * clang::Type::castAsArrayTypeUnsafe | ( | ) | const [inline] |
A variant of castAs<> for array type which silently discards qualifiers from the outermost type.
Definition at line 5258 of file Type.h.
Referenced by CheckConstantExpression(), FindDesignatorMismatch(), getArrayIndexingBound(), clang::QualType::getBaseTypeIdentifier(), getCoreType(), and isFlexibleArrayMemberExpr().
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> struct X { typedef T* pointer_types; // ill-formed; T is a parameter pack. };
Note that this routine does not specify which
Definition at line 1420 of file Type.h.
Referenced by clang::Sema::ActOnStartOfLambdaDefinition(), clang::Sema::BuildBaseInitializer(), clang::Sema::CheckBaseSpecifier(), clang::Sema::CheckPackExpansion(), clang::NestedNameSpecifier::containsUnexpandedParameterPack(), clang::DeclarationNameInfo::containsUnexpandedParameterPack(), clang::Sema::containsUnexpandedParameterPacks(), clang::Sema::DiagnoseUnexpandedParameterPack(), GetFullTypeForDeclarator(), clang::ASTContext::getPackExpansionType(), and clang::Sema::SubstParmVarDecl().
LLVM_DUMP_METHOD void Type::dump | ( | ) | const |
Definition at line 2207 of file ASTDumper.cpp.
References clang::QualType::dump().
const Type * Type::getArrayElementTypeNoTypeQual | ( | ) | const |
getArrayElementTypeNoTypeQual - If this is an array type, return the element type of the array, potentially with type qualifiers missing. This method should never be used when type qualifiers are meaningful.
Definition at line 198 of file Type.cpp.
References getElementType(), and getUnqualifiedDesugaredType().
Referenced by clang::Sema::EndOpenMPDSABlock(), and evenFlexibleArraySize().
const AttributedType * Type::getAs | ( | ) | const |
This will check for a TypedefType by removing any existing sugar until it reaches a TypedefType or a non-sugared type.
This will check for an AttributedType by removing any existing sugar until it reaches an AttributedType or a non-sugared type.
This will check for a TemplateSpecializationType by removing any existing sugar until it reaches a TemplateSpecializationType or a non-sugared type.
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 5218 of file Type.h.
Referenced by clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCompatibilityAlias(), clang::Sema::ActOnConversionDeclarator(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnLambdaExpr(), clang::Sema::ActOnObjCAtSynchronizedOperand(), clang::Sema::ActOnPropertyImplDecl(), clang::Sema::ActOnStartClassInterface(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnStartOfFunctionDef(), clang::Sema::ActOnTag(), clang::Sema::ActOnTagTemplateIdType(), clang::Sema::ActOnTypedefedProtocols(), clang::Sema::ActOnUninitializedDecl(), addBlockPointerConversion(), AddClassMessageCompletions(), clang::Sema::AddConversionCandidate(), AddFunctionParameterChunks(), addFunctionPointerConversion(), AddFunctionTypeQualsToCompletionString(), clang::Sema::AddMemberOperatorCandidates(), clang::Sema::AddMethodCandidate(), AddObjCKeyValueCompletions(), clang::Sema::AddOverloadCandidate(), clang::Sema::adjustCCAndNoReturn(), AdjustFunctionParmAndArgTypesForDeduction(), appendFunctionType(), appendType(), clang::ASTContext::areComparableObjCPointerTypes(), clang::ASTContext::areCompatibleVectorTypes(), clang::Sema::AttachBaseSpecifiers(), clang::ASTDeclReader::attachPreviousDeclImpl(), BitsContainNoUserData(), breakDownVectorType(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::CodeGen::CodeGenFunction::BuildAppleKextVirtualCall(), clang::Sema::BuildArrayType(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildClassMessage(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildExpressionFromIntegralTemplateArgument(), BuildFieldReferenceExpr(), clang::Sema::BuildMemberReferenceExpr(), buildMemcpyForAssignmentOp(), clang::Sema::BuildObjCArrayLiteral(), clang::Sema::BuildObjCAtThrowStmt(), clang::Sema::BuildObjCBoxedExpr(), clang::Sema::BuildObjCDictionaryLiteral(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::BuildQualifiedType(), clang::Sema::BuildReferenceType(), clang::Sema::BuildResolvedCallExpr(), buildSingleCopyAssignRecursively(), clang::Sema::BuildTypeofExprType(), clang::Sema::BuildUnaryTransformType(), clang::Sema::BuildVariableInstantiation(), clang::Sema::BuildVectorLiteral(), clang::Sema::ImplicitExceptionSpecification::CalledDecl(), clang::arcmt::trans::canApplyWeak(), clang::canCalleeThrow(), canExpandIndirectArgument(), clang::Sema::canThrow(), clang::canTypeidThrow(), CanUseSingleInheritance(), captureInBlock(), captureInLambda(), clang::ento::StoreManager::CastRetrievedVal(), CheckArrow(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckBaseClassAccess(), clang::Sema::CheckBaseSpecifier(), clang::Sema::CheckCastAlign(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompatibleReinterpretCast(), clang::Sema::CheckCompleteVariableDeclaration(), checkConditionalObjectPointersCompatibility(), clang::Sema::CheckConditionalOperands(), checkConditionalPointerCompatibility(), CheckConstantExpression(), CheckConstexprParameterTypes(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), CheckCXX98CompatAccessibleCopy(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::CheckDestructorDeclarator(), clang::Sema::CheckDistantExceptionSpec(), checkEnumComparison(), clang::Sema::CheckEnumUnderlyingType(), clang::Sema::CheckEquivalentExceptionSpec(), clang::Sema::CheckExceptionSpecSubset(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::CheckExtVectorCast(), CheckExtVectorComponent(), CheckFallThroughForBody(), clang::Sema::CheckFieldDecl(), checkFormatStringExpr(), clang::Sema::CheckFriendTypeDecl(), CheckIncrementDecrementOperand(), CheckIndirectionOperand(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::Sema::CheckMain(), clang::Sema::CheckMemberPointerConversion(), clang::Sema::CheckMessageArgumentTypes(), CheckMethodOverrideParam(), CheckMethodOverrideReturn(), clang::Sema::CheckNontrivialField(), clang::Sema::CheckObjCARCConversion(), clang::Sema::CheckObjCARCUnavailableWeakConversion(), clang::Sema::CheckObjCForCollectionOperand(), checkObjCPointerTypesForAssignment(), CheckOperatorNewDeleteTypes(), CheckOriginalCallArgDeduction(), clang::Sema::CheckOverridingFunctionAttributes(), clang::Sema::CheckOverridingFunctionExceptionSpec(), clang::Sema::CheckOverridingFunctionReturnType(), clang::Sema::CheckParmsForFunctionDef(), clang::Sema::CheckPointerConversion(), clang::Sema::CheckPointerToMemberOperands(), checkQualifiedFunction(), CheckRealImagOperand(), checkRecordTypeForCapability(), CheckRelatedResultTypeCompatibility(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::CheckSubscriptingKind(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentIsCompatibleWithParameter(), checkTypedefTypeForCapability(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::Sema::CheckUnresolvedMemberAccess(), clang::Sema::CheckVectorCompareOperands(), clang::Sema::CheckVectorOperands(), clang::threadSafety::ClassifyDiagnostic(), classifyTypeForARCConversion(), ClassifyUnnamed(), clang::Sema::CodeCompleteCall(), clang::Sema::CodeCompleteMemberReferenceExpr(), clang::Sema::CodeCompleteObjCSuperMessage(), CollectVisibleConversions(), CollectVRQualifiers(), CompareDerivedToBaseConversions(), CompareStandardConversionSequences(), clang::Sema::CompleteConstructorCall(), CompleteNonViableCandidate(), clang::Sema::computeDeclContext(), clang::Sema::ComputeDefaultedDefaultCtorExceptionSpec(), clang::Sema::ComputeDefaultedDtorExceptionSpec(), clang::Sema::ComputeDefaultedMoveCtorExceptionSpec(), clang::Sema::ComputeInheritingCtorExceptionSpec(), clang::PredefinedExpr::ComputeName(), ComputeNonVirtualBaseClassOffset(), ComputeVMIClassTypeInfoFlags(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::Sema::ConversionToObjCStringLiteralCheck(), ConvertDeclSpecToType(), clang::CodeGen::CodeGenTypes::ConvertType(), ConvertTypeToDiagnosticString(), CopyObject(), create_dispatch_once(), create_OSAtomicCompareAndSwap(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), CreateNewFunctionDecl(), clang::Sema::CreatePropertyDecl(), CXXRecordMembersNamed(), clang::Sema::DeclClonePragmaWeak(), clang::Sema::DeduceAutoType(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DefaultArgumentPromotion(), defaultedSpecialMemberIsConstexpr(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), Desugar(), clang::InitializationSequence::Diagnose(), DiagnoseArityMismatch(), clang::Sema::DiagnoseAssignmentEnum(), clang::Sema::DiagnoseAssignmentResult(), DiagnoseBadConversion(), DiagnoseBadTarget(), DiagnoseCastOfObjCSEL(), DiagnoseDirectIsaAccess(), diagnoseListInit(), DiagnoseNarrowingInInitList(), clang::Sema::DiagnosePropertyAccessorMismatch(), DiagnoseSelfAssignment(), clang::Sema::DiagnoseSentinelCalls(), doesUsualArrayDeleteWantSize(), doRewriteToUTF8StringBoxedExpressionHelper(), dumpBasePath(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), EmitBaseInitializer(), clang::CodeGen::CodeGenFunction::EmitBlockCallExpr(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitCallArgs(), clang::CodeGen::CodeGenFunction::EmitCallExpr(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CodeGen::CodeGenFunction::EmitComplexPrePostIncDec(), clang::CodeGen::CodeGenModule::EmitConstantValue(), clang::CodeGen::CodeGenFunction::EmitCXXDeleteExpr(), clang::CodeGen::CodeGenFunction::EmitCXXMemberPointerCallExpr(), clang::CodeGen::CodeGenFunction::EmitCXXThrowExpr(), clang::CodeGen::CodeGenFunction::EmitDelegateCallArg(), clang::CodeGen::CodeGenFunction::EmitDeleteCall(), clang::CodeGen::CodeGenFunction::EmitDynamicCast(), clang::CodeGen::CodeGenFunction::EmitEndEHSpec(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementLValue(), EmitFunctionDeclLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), clang::CodeGen::CGCXXABI::EmitLoadOfMemberFunctionPointer(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenModule::EmitNullConstant(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), EmitObjectDelete(), emitPointerArithmetic(), clang::CodeGen::CodeGenFunction::EmitPointerToDataMemberBinaryExpr(), clang::CodeGen::CodeGenFunction::EmitStartEHSpec(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), EncodeBitField(), clang::ento::ExprEngine::evalLoad(), EvaluateBinaryTypeTrait(), clang::CodeGen::CodeGenFunction::EvaluateExprAsBool(), EvaluateUnaryTypeTrait(), evenFlexibleArraySize(), clang::Sema::ExtractUnqualifiedFunctionType(), FieldHasTrivialDestructorBody(), clang::Sema::FindAllocationFunctions(), clang::Sema::FindCompositeObjCPointerType(), clang::Sema::FindCompositePointerType(), FindConversionForRefInit(), findEnumForBlockReturn(), FindFirstNamedDataMember(), FindHiddenVirtualMethod(), clang::Sema::FindInstantiatedDecl(), FindOverriddenMethod(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), clang::CXXRecordDecl::forallBases(), clang::CodeGen::CodeGenFunction::GenerateVarArgsThunk(), getAbsoluteValueArgumentType(), GetAlignOfType(), clang::CXXNewExpr::getAllocatedType(), getArrayIndexingBound(), GetAssumedMessageSendExprType(), GetBaseType(), clang::QualType::getBaseTypeIdentifier(), clang::Expr::getBestDynamicClassType(), clang::Sema::getCallingConvAttributedType(), clang::FunctionDecl::getCallResultType(), clang::CallExpr::getCallReturnType(), clang::ASTContext::getCanonicalNestedNameSpecifier(), clang::ASTContext::getCommentForDecl(), clang::CXXConversionDecl::getConversionType(), clang::CXXMethodDecl::getCorrespondingMethodInClass(), clang::ASTContext::getCorrespondingUnsignedType(), getCXXRecord(), clang::ento::MemRegionManager::getCXXThisRegion(), clang::ASTContext::getDeclAlign(), clang::ento::CallEvent::getDeclaredResultType(), clang::getDeclUsageType(), clang::TemplateTypeParmDecl::getDepth(), clang::CXXDeleteExpr::getDestroyedType(), clang::CFGImplicitDtor::getDestructorDecl(), clang::Sema::getDestructorName(), getFloatingRank(), clang::ASTContext::getFloatTypeSemantics(), GetFullTypeForDeclarator(), clang::getFunctionExtInfo(), clang::CodeCompleteConsumer::OverloadCandidate::getFunctionType(), clang::Decl::getFunctionType(), clang::CodeGen::CodeGenTypes::GetFunctionTypeForVTable(), GetGCAttrTypeForType(), clang::TemplateTypeParmDecl::getIndex(), clang::ASTContext::getInnerObjCOwnership(), clang::ObjCObjectPointerType::getInterfaceType(), clang::ASTContext::getIntWidth(), clang::ASTContext::getLegacyIntegralTypeEncoding(), clang::ento::TypedValueRegion::getLocationType(), clang::ASTContext::getLValueReferenceType(), clang::Sema::getMessageSendResultType(), clang::UnresolvedMemberExpr::getNamingClass(), clang::QualType::getNonReferenceType(), clang::NSAPI::GetNSIntegralKind(), clang::NSAPI::getNSNumberFactoryMethodKind(), GetNumNonZeroBytesInInit(), clang::OverloadCandidate::getNumParams(), clang::FunctionDecl::getNumParams(), getObjCBridgeAttr(), clang::ASTContext::getObjCEncodingForBlock(), clang::ASTContext::getObjCGCAttrKind(), clang::ASTContext::getObjCGCQualType(), clang::TemplateArgument::getPackExpansionPattern(), getPointeeCXXRecordDecl(), clang::ASTContext::getPreferredTypeAlign(), clang::ASTContext::getPromotedIntegerType(), getRangeForType(), clang::ObjCMessageExpr::getReceiverInterface(), getRecordArgABI(), getRecordType(), clang::CXXMethodDecl::getRefQualifier(), clang::FunctionDecl::getReturnType(), GetReturnType(), clang::ASTContext::getRValueReferenceType(), clang::Sema::GetSignedVectorType(), clang::CodeGen::CodeGenTBAA::getTBAAStructTypeInfo(), getTypeExpansion(), clang::ASTContext::getTypeInfoDataSizeInChars(), clang::CXXMethodDecl::getTypeQualifiers(), clang::GetUnderlyingFunction(), clang::Expr::getValueKindForType(), HandleBaseToDerivedCast(), handleFormatArgAttr(), handleFormatAttr(), clang::Sema::HandleFunctionTypeMismatch(), handleInitPriorityAttr(), HandleMemberPointerAccess(), handleModeAttr(), handleObjCOwnershipTypeAttr(), handleSentinelAttr(), hasBooleanRepresentation(), HasExplicitOwnershipAttr(), clang::hasImplicitExceptionSpec(), hasIsEqualMethod(), HasNoThrowOperator(), clang::CodeGen::CodeGenFunction::hasVolatileMember(), clang::Sema::IgnoredValueConversions(), clang::Sema::ImpCastExprToType(), clang::Sema::inferCUDATargetForImplicitSpecialMember(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), clang::ASTReader::InitializeContext(), clang::InitializationSequence::InitializeFrom(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), is32Or64BitBasicType(), IsAcceptableNonMemberOperatorCandidate(), clang::CXXDynamicCastExpr::isAlwaysNull(), isAtLeastAsSpecializedAs(), clang::Sema::IsBlockPointerConversion(), isBooleanType(), IsCFError(), isCFStringType(), isCharSpecialization(), clang::ento::cocoa::isCocoaObjectRef(), clang::Sema::IsComplexPromotion(), clang::Expr::isConstantInitializer(), IsConstructorDelegationValid(), clang::CXXMethodDecl::isCopyAssignmentOperator(), clang::CXXConstructorDecl::isCopyOrMoveConstructor(), clang::QualType::isCXX11PODType(), IsDerivedFromInclusive(), isDispatchBlock(), isEmptyField(), isEmptyRecord(), isFirstArgumentCompatibleWithType(), clang::Sema::IsFloatingPointPromotion(), clang::CodeGen::CodeGenTypes::isFuncParamTypeConvertible(), clang::arcmt::trans::MigrationContext::isGCOwnedNonObjC(), clang::ABIInfo::isHomogeneousAggregate(), clang::Sema::isInitListConstructor(), isIntegerLikeType(), clang::Sema::IsIntegralPromotion(), isKnownNonNilCollectionType(), isLiteralType(), IsLLVMStringRef(), clang::Sema::IsMemberPointerConversion(), clang::FunctionDecl::isNoReturn(), IsNSError(), isNSStringType(), clang::Expr::isNullPointerConstant(), clang::Sema::isObjCPointerConversion(), isObjCPtrBlockCompatible(), clang::Sema::isObjCWritebackConversion(), clang::NonTypeTemplateParmDecl::isPackExpansion(), clang::TemplateTypeParmDecl::isParameterPack(), IsPartOfAST(), isPermittedNeonBaseType(), clang::Sema::IsPointerConversion(), clang::StandardConversionSequence::isPointerConversionToVoidPointer(), isPointerToRecordType(), isRecordWithSSEVectorType(), clang::ento::cocoa::isRefType(), isSafeForCXXConstantCapture(), isSimpleTemplateIdType(), IsSmallVector(), isSSEVectorType(), IsStandardConversion(), isStandardLayoutType(), clang::Sema::isStdInitializerList(), IsStdString(), IsStdVector(), clang::Sema::IsStringLiteralToNonConstPointerConversion(), isTBAAPathStruct(), isTemplateArgumentTemplateParameter(), clang::QualType::isTriviallyCopyableType(), clang::QualType::isTrivialType(), IsUserDefinedConversion(), isVariableCapturable(), IsVoidStarType(), clang::CodeGen::CodeGenTypes::isZeroInitializable(), clang::CodeGen::CodeGenFunction::IvarTypeWithAggrGCObjects(), LookupAnyMember(), LookupDirect(), clang::Sema::LookupInlineAsmField(), LookupMemberExpr(), LookupMethodInReceiverType(), LookupVisibleDecls(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), clang::Sema::MarkFunctionReferenced(), clang::analyze_format_string::ArgType::matchesType(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), maybeAdjustInterfaceForSubscriptingCheck(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MergeFunctionDecl(), clang::ASTContext::mergeFunctionTypes(), clang::ASTContext::mergeObjCGCQualifiers(), clang::Sema::MergeTypedefNameDecl(), clang::ASTContext::mergeTypes(), clang::Sema::MergeVarDeclExceptionSpecs(), NoteSurrogateCandidate(), ObjCEnumerationCollection(), clang::ASTContext::ObjCObjectAdoptsQTypeProtocols(), clang::ASTContext::ObjCQualifiedClassTypesAreCompatible(), clang::ASTContext::ObjCQualifiedIdTypesAreCompatible(), clang::InitializationSequence::Perform(), clang::Sema::PerformContextualImplicitConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformMoveOrCopyInitialization(), clang::Sema::PerformObjectArgumentInitialization(), clang::Sema::PerformObjectMemberConversion(), PopulateKeysForFields(), print_elem(), PrintFloatingLiteral(), clang::APValue::printPretty(), clang::ento::ExprEngine::ProcessAutomaticObjDtor(), clang::ento::ExprEngine::processSwitch(), PropertyMemoryAttribute(), pushTemporaryCleanup(), clang::ASTContext::QIdProtocolsAdoptObjCObjectProtocols(), clang::TreeTransform< Derived >::RebuildCXXPseudoDestructorExpr(), clang::Sema::RequireCompleteDeclContext(), clang::Sema::RequireCompleteExprType(), clang::Sema::RequireCompleteType(), clang::Sema::RequireLiteralType(), clang::Sema::RequireNonAbstractType(), clang::CodeGen::CodeGenModule::ReturnTypeUsesFP2Ret(), clang::CodeGen::CodeGenModule::ReturnTypeUsesFPRet(), rewriteToNumericBoxedExpression(), clang::Sema::SemaBuiltinShuffleVector(), clang::Sema::SemaConvertVectorExpr(), clang::CXXRecordDecl::setBases(), clang::ASTContext::setCFConstantStringType(), clang::Sema::SetCtorInitializers(), setObjCGCLValueClass(), ShouldDiagnoseUnusedDecl(), shouldNotPrintDirectly(), ShouldTryAgainWithRedefinitionType(), clang::Expr::skipRValueSubobjectAdjustments(), clang::Sema::SpecialMemberIsTrivial(), clang::CodeGen::CodeGenFunction::StartThunk(), clang::Sema::SubstituteExplicitTemplateArguments(), threadSafetyCheckIsPointer(), clang::TreeTransform< Derived >::TransformExceptionSpec(), clang::TreeTransform< Derived >::TransformReferenceType(), tryAtomicConversion(), TryClassUnification(), TryConstCast(), TryConstructorInitialization(), clang::CodeGen::CodeGenModule::TryEmitBaseDestructorAsAlias(), clang::Sema::tryExprAsCall(), TryImplicitConversion(), TryListConversion(), TryLValueToRValueCast(), TryObjectArgumentInitialization(), TryReferenceInit(), TryReferenceInitialization(), TryReferenceListInitialization(), TryRefInitWithConversionFunction(), TryReinterpretCast(), TryStaticCast(), TryStaticMemberPointerUpcast(), TryStaticPointerDowncast(), TryStaticReferenceDowncast(), TryUserDefinedConversion(), TryValueInitialization(), TypeIsInnerPointer(), UnwrapDissimilarPointerTypes(), clang::ASTContext::UnwrapSimilarPointerTypes(), clang::Sema::UsualArithmeticConversions(), clang::FunctionCallFilterCCC::ValidateCandidate(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::ASTNodeImporter::VisitEnumDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::ento::ExprEngine::VisitOffsetOfExpr(), clang::ASTNodeImporter::VisitRecordDecl(), clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr(), and clang::InheritanceHierarchyWriter::WriteNode().
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 5235 of file Type.h.
Referenced by appendType(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildObjCEncodeExpression(), classifyTypeForARCConversion(), clang::CodeGen::CodeGenFunction::EmitNewArrayInitializer(), clang::CodeGen::CodeGenFunction::EmitOMPAggregateAssign(), clang::ASTContext::getBaseElementType(), getBaseElementTypeUnsafe(), clang::ASTContext::getConstantArrayElementCount(), getTypeString(), hasSizedVLAType(), isObjCLifetimeType(), and clang::InitListExpr::isStringLiteralInit().
const ComplexType * Type::getAsComplexIntegerType | ( | ) | const |
Definition at line 410 of file Type.cpp.
Referenced by handleComplexIntConversion(), and isComplexIntegerType().
CXXRecordDecl * Type::getAsCXXRecordDecl | ( | ) | 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.
Definition at line 543 of file Type.cpp.
Referenced by clang::Sema::ActOnDecltypeExpression(), clang::Sema::ActOnFunctionDeclarator(), BaseInSet(), clang::ASTContext::BlockRequiresCopying(), BuildImplicitBaseInitializer(), BuildNonArrayForRange(), clang::Sema::CheckBaseSpecifier(), clang::Sema::CheckCompleteVariableDeclaration(), CheckConstexprCtorInitializer(), clang::Sema::CheckEquivalentExceptionSpec(), checkForConsumableClass(), checkMoveAssignmentForRepeatedMove(), checkTrivialClassMembers(), checkTrivialSubobjectCall(), computeBlockInfo(), clang::Sema::ComputeDefaultedCopyAssignmentExceptionSpec(), clang::Sema::ComputeDefaultedCopyCtorExceptionSpec(), clang::Sema::ComputeDefaultedMoveAssignmentExceptionSpec(), clang::Sema::ComputeDefaultedMoveCtorExceptionSpec(), clang::Sema::DiagnoseEmptyLookup(), DiagnoseReinterpretUpDownCast(), DiagnoseUninitializedReference(), diagnoseUnreadableFields(), DumpCXXRecordLayout(), clang::CodeGen::CodeGenFunction::emitAutoVarTypeCleanup(), clang::CodeGen::CodeGenFunction::EmitCallArg(), clang::CodeGen::CodeGenFunction::EmitCXXConstructLValue(), EmitDeclDestroy(), clang::CodeGen::CodeGenFunction::EmitLambdaBlockInvokeBody(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), clang::Sema::EndOpenMPDSABlock(), clang::ento::StoreManager::evalDerivedToBase(), clang::ento::StoreManager::evalDynamicCast(), EvaluateUnaryTypeTrait(), findSubobject(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), clang::ento::MemRegion::getAsOffset(), clang::ASTContext::getCommentForDecl(), getContainedDynamicClass(), clang::CFGImplicitDtor::getDestructorDecl(), clang::Sema::getFixItZeroInitializerForType(), clang::LambdaExpr::getLambdaClass(), clang::CodeGen::CGCXXABI::getMemberPointerAdjustment(), clang::MemberPointerType::getMostRecentCXXRecordDecl(), clang::UnresolvedMemberExpr::getNamingClass(), clang::CXXMemberCallExpr::getRecordDecl(), clang::CXXInstanceCall::getRuntimeDefinition(), clang::CXXUuidofExpr::GetUuidAttrOfType(), HandleBaseToDerivedCast(), HandleLValueBase(), HandleLValueBasePath(), HandleMemberPointerAccess(), hasNontrivialDestruction(), InitializationHasSideEffects(), isAutoCastType(), isConsumableType(), clang::Sema::IsDerivedFrom(), isInAllocaArgument(), clang::CXXTypeidExpr::isPotentiallyEvaluated(), isReadByLvalueToRvalueConversion(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::Sema::isThisOutsideMemberFunctionBody(), clang::CodeGen::CodeGenModule::isTypeConstant(), isTypeValid(), clang::Expr::isUnusedResultAWarning(), isValidBaseClass(), clang::Sema::isValidVarArgType(), mapConsumableAttrState(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), performBaseAdjustment(), print_elem(), clang::ento::ExprEngine::ProcessDeleteDtor(), clang::CodeGen::CodeGenFunction::PushDestructorCleanup(), recoverFromMSUnqualifiedLookup(), regionMatchesCXXRecordType(), clang::CXXRecordDecl::setBases(), treatUnusedNewEscaped(), TryListInitialization(), usesMultipleInheritanceModel(), clang::ento::ExprEngine::VisitCXXDestructor(), and warnAboutAmbiguousFunction().
const ObjCObjectPointerType * Type::getAsObjCInterfacePointerType | ( | ) | const |
Definition at line 520 of file Type.cpp.
Referenced by clang::Sema::ActOnClassPropertyRefExpr(), clang::Sema::BuildInstanceMessage(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::Sema::CodeCompleteMemberReferenceExpr(), clang::Sema::CodeCompleteObjCInstanceMessage(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), clang::Sema::HandleExprPropertyRefExpr(), clang::ASTContext::ObjCQualifiedIdTypesAreCompatible(), and clang::Sema::SelectorsForTypoCorrection().
const ObjCObjectPointerType * Type::getAsObjCQualifiedClassType | ( | ) | const |
Definition at line 510 of file Type.cpp.
Referenced by clang::Sema::BuildInstanceMessage().
const ObjCObjectPointerType * Type::getAsObjCQualifiedIdType | ( | ) | const |
Definition at line 500 of file Type.cpp.
Referenced by clang::Sema::BuildInstanceMessage(), clang::Sema::CodeCompleteObjCInstanceMessage(), and clang::ASTContext::ObjCQualifiedIdTypesAreCompatible().
const ObjCObjectType * Type::getAsObjCQualifiedInterfaceType | ( | ) | const |
Definition at line 486 of file Type.cpp.
Referenced by hasIsEqualMethod(), and isObjCQualifiedInterfaceType().
const BuiltinType * clang::Type::getAsPlaceholderType | ( | ) | const [inline] |
Definition at line 5069 of file Type.h.
Referenced by clang::Sema::BuildBinOp(), clang::Sema::BuildUnaryOp(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckPlaceholderExpr(), checkPlaceholderForOverload(), and clang::Sema::DefaultVariadicArgumentPromotion().
const RecordType * Type::getAsStructureType | ( | ) | const |
Definition at line 433 of file Type.cpp.
References getUnqualifiedDesugaredType().
Referenced by appendType(), isCallbackArg(), isSingleElementStruct(), clang::analyze_format_string::ArgType::matchesType(), and clang::Sema::ParsedFreeStandingDeclSpec().
const RecordType * Type::getAsUnionType | ( | ) | const |
NOTE: getAs*ArrayType are methods on ASTContext.
Definition at line 452 of file Type.cpp.
References getUnqualifiedDesugaredType().
Referenced by appendType(), CheckNonNullExpr(), clang::Sema::CheckTransparentUnionArgumentConstraints(), clang::CodeGen::CodeGenFunction::EnterDtorCleanups(), handleTransparentUnionAttr(), IsTransparentUnionStandardConversion(), clang::Sema::isValidPointerAttrType(), clang::ASTContext::mergeTransparentUnionType(), clang::Sema::ParsedFreeStandingDeclSpec(), and useFirstFieldIfTransparentUnion().
const Type * clang::Type::getBaseElementTypeUnsafe | ( | ) | const [inline] |
getBaseElementTypeUnsafe - Get the base element type of this type, potentially discarding type qualifiers. This method should never be used when type qualifiers are meaningful.
Definition at line 5183 of file Type.h.
References getAsArrayTypeUnsafe(), and clang::ast_matchers::type.
Referenced by clang::Sema::ActOnDecltypeExpression(), buildMemcpyForAssignmentOp(), DiagnoseUninitializedReference(), diagnoseUnreadableFields(), doesUsualArrayDeleteWantSize(), getContainedDynamicClass(), getElementType(), clang::ASTContext::getPreferredTypeAlign(), clang::CXXUuidofExpr::GetUuidAttrOfType(), hasNontrivialDestruction(), InitializationHasSideEffects(), clang::QualType::isCXX11PODType(), isLiteralType(), isReadByLvalueToRvalueConversion(), isSafeForCXXConstantCapture(), isStandardLayoutType(), print_elem(), and pushTemporaryCleanup().
QualType clang::Type::getCanonicalTypeInternal | ( | ) | const [inline] |
Definition at line 1801 of file Type.h.
Referenced by addAssociatedClassesAndNamespaces(), clang::Sema::CheckTemplateIdType(), clang::TypePropertyCache< Private >::ensure(), clang::ASTContext::getCanonicalType(), getCanonicalTypeUnqualified(), getCurrentInstantiationOf(), getLinkageAndVisibility(), clang::ASTContext::getObjCEncodingForBlock(), clang::ASTContext::getObjCEncodingForFunctionDecl(), clang::ASTContext::getObjCEncodingForMethodDecl(), clang::ASTContext::getObjCGCAttrKind(), GetThisType(), clang::LocInfoType::getType(), isLinkageValid(), isLiteralType(), isObjCARCImplicitlyUnretainedType(), isSameQualifier(), and clang::Sema::IsSimplyAccessible().
CanQualType clang::Type::getCanonicalTypeUnqualified | ( | ) | const [inline] |
Definition at line 200 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(), findDirectBaseWithType(), GetFormalType(), and GetReturnType().
AutoType * Type::getContainedAutoType | ( | ) | const |
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 607 of file Type.cpp.
Referenced by clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::BuildDeclaratorGroup(), clang::Sema::BuildReturnStmt(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::Sema::DeduceTemplateArguments(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), clang::Sema::InstantiateFunctionDefinition(), clang::Sema::MergeFunctionDecl(), SpecializeCorrespondingLambdaCallOperatorAndInvoker(), and SubstAutoWithinFunctionReturnType().
Linkage Type::getLinkage | ( | ) | const |
Determine the linkage of this type.
Definition at line 2245 of file Type.cpp.
References clang::TypePropertyCache< Private >::ensure(), and TypeBits.
Referenced by getLinkageAndVisibility(), getLVForClassMember(), getLVForNamespaceScopeDecl(), getLVForType(), and getTypeInfoLinkage().
LinkageInfo Type::getLinkageAndVisibility | ( | ) | const |
Determine the linkage and visibility of this type.
Definition at line 2338 of file Type.cpp.
References computeLinkageInfo(), getCanonicalTypeInternal(), clang::LinkageInfo::getLinkage(), getLinkage(), and isCanonicalUnqualified().
Referenced by getLVForTemplateParameterList(), and getLVForType().
Pull a single level of sugar off of this locally-unqualified type. Users should generally prefer SplitQualType::getSingleStepDesugaredType() or QualType::getSingleStepDesugaredType(const ASTContext&).
Definition at line 231 of file Type.cpp.
References getTypeClass().
Return the implicit lifetime for this type, which must not be dependent.
Definition at line 2347 of file Type.cpp.
References isObjCARCImplicitlyUnretainedType(), clang::Qualifiers::OCL_ExplicitNone, and clang::Qualifiers::OCL_Strong.
Referenced by clang::Sema::BuildCXXNew(), clang::Sema::CheckParameter(), and clang::Sema::inferObjCARCLifetime().
const CXXRecordDecl * Type::getPointeeCXXRecordDecl | ( | ) | const |
If this is a pointer or reference to a RecordType, return the CXXRecordDecl that that 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 528 of file Type.cpp.
References getAs(), and getPointeeType().
Referenced by clang::Sema::ActOnFunctionDeclarator(), adjustReturnValue(), DiagnoseReinterpretUpDownCast(), clang::ento::StoreManager::evalDerivedToBase(), isSetOnReadPtrType(), and regionMatchesCXXRecordType().
QualType Type::getPointeeType | ( | ) | const |
getPointeeType - If this is a pointer, ObjC object pointer, or block pointer, this returns the respective pointee.
Reimplemented in clang::ObjCObjectPointerType, clang::MemberPointerType, clang::ReferenceType, clang::BlockPointerType, clang::DecayedType, and clang::PointerType.
Definition at line 417 of file Type.cpp.
References getPointeeType(), and clang::ExtQualsTypeCommonBase::QualType.
Referenced by clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::AddConversionCandidate(), clang::ASTContext::AtomicUsesUnsupportedLibcall(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), BuildFieldReferenceExpr(), clang::Sema::BuildObjCBoxedExpr(), clang::Sema::BuildQualifiedType(), clang::Sema::BuildResolvedCallExpr(), BuildSimilarlyQualifiedPointerType(), clang::arcmt::trans::canApplyWeak(), clang::canCalleeThrow(), captureInLambda(), clang::ento::StoreManager::castRegion(), checkArithmeticBinOpPointerOperands(), checkArithmeticIncompletePointerType(), checkArithmeticOpPointerOperand(), CheckArrow(), clang::Sema::CheckCompatibleReinterpretCast(), checkConditionalPointerCompatibility(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::CheckDistantExceptionSpec(), clang::Sema::CheckExceptionSpecSubset(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), CheckFallThroughForBody(), checkForConsumableClass(), CheckIndirectionOperand(), clang::Sema::CheckObjCARCConversion(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), CheckOriginalCallArgDeduction(), clang::Sema::CheckOverridingFunctionReturnType(), clang::Sema::CheckPointerConversion(), clang::Sema::CheckPointerToMemberOperands(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::threadSafety::ClassifyDiagnostic(), classifyTypeForARCConversion(), clang::Sema::CodeCompleteCall(), clang::Sema::CodeCompleteMemberReferenceExpr(), CollectVRQualifiers(), CompareStandardConversionSequences(), CompleteNonViableCandidate(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DefineImplicitCopyAssignment(), diagnoseArithmeticOnFunctionPointer(), diagnoseArithmeticOnTwoFunctionPointers(), clang::Sema::DiagnoseAssignmentResult(), DiagnoseCastOfObjCSEL(), DiagnoseDirectIsaAccess(), clang::Sema::DiagnoseSentinelCalls(), diagnoseStringPlusChar(), doRewriteToUTF8StringBoxedExpressionHelper(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), EmitBinaryAtomic(), EmitBinaryAtomicPost(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitMemberExpr(), clang::CodeGen::CodeGenFunction::EmitObjCIvarRefLValue(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), clang::ento::StoreManager::evalDynamicCast(), clang::Sema::ExtractUnqualifiedFunctionType(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicGetterCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicSetterCopyHelperFunction(), GenOpenCLArgMetadata(), GetAlignOfType(), clang::ento::MemRegion::getAsOffset(), GetBaseType(), clang::QualType::getBaseTypeIdentifier(), clang::Expr::getBestDynamicClassType(), clang::CallExpr::getCallReturnType(), getCoreType(), getCXXRecord(), clang::ASTContext::getDeclAlign(), clang::getDeclUsageType(), getDeepPointeeType(), getElementType(), clang::getFunctionExtInfo(), clang::ASTContext::getInnerObjCOwnership(), clang::PointerLikeTypeLoc< ObjCObjectPointerTypeLoc, ObjCObjectPointerType >::getInnerType(), clang::QualType::getNonLValueExprType(), clang::QualType::getNonReferenceType(), clang::OverloadCandidate::getNumParams(), getObjCBridgeAttr(), clang::ASTContext::getObjCGCQualType(), getOpenCLKernelParameterType(), getPointeeCXXRecordDecl(), getPointeeType(), clang::CXXMemberCallExpr::getRecordDecl(), getRecordType(), clang::CXXInstanceCall::getRuntimeDefinition(), clang::GetUnderlyingFunction(), clang::CXXUuidofExpr::GetUuidAttrOfType(), HandleBaseToDerivedCast(), clang::consumed::ConsumedStmtVisitor::handleCall(), clang::Sema::HandleFunctionTypeMismatch(), HandleMemberPointerAccess(), handleObjCOwnershipTypeAttr(), HasExplicitOwnershipAttr(), clang::Sema::ImpCastExprToType(), InitCatchParam(), clang::CXXDynamicCastExpr::isAlwaysNull(), clang::Sema::IsBlockPointerConversion(), isCallbackArg(), clang::CXXMethodDecl::isCopyAssignmentOperator(), clang::arcmt::trans::MigrationContext::isGCOwnedNonObjC(), clang::Sema::isInitListConstructor(), clang::CXXMethodDecl::isMoveAssignmentOperator(), clang::Expr::isNullPointerConstant(), clang::Sema::isObjCPointerConversion(), clang::Sema::isObjCWritebackConversion(), clang::StandardConversionSequence::isPointerConversionToVoidPointer(), isPointerToConst(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::Sema::IsStringLiteralToNonConstPointerConversion(), IsStructurallyEquivalent(), clang::AtomicExpr::isVolatile(), LookupMemberExpr(), clang::analyze_format_string::ArgType::matchesType(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MergeVarDeclExceptionSpecs(), NoteSurrogateCandidate(), clang::InitializationSequence::Perform(), clang::Sema::PerformObjectArgumentInitialization(), clang::Sema::PerformObjectMemberConversion(), clang::Sema::PrepareScalarCast(), print_elem(), clang::APValue::printPretty(), clang::ento::ExprEngine::ProcessAutomaticObjDtor(), recoverFromMSUnqualifiedLookup(), clang::Sema::RequireCompleteExprType(), clang::Sema::RequireNonAbstractType(), treatUnusedNewEscaped(), clang::Sema::tryExprAsCall(), TryObjectArgumentInitialization(), TryStaticCast(), TryToFixInvalidVariablyModifiedType(), UnwrapDissimilarPointerTypes(), clang::ASTContext::UnwrapSimilarPointerTypes(), clang::FunctionCallFilterCCC::ValidateCandidate(), clang::consumed::ConsumedStmtVisitor::VisitCXXConstructExpr(), clang::ento::UndefOrNullArgVisitor::VisitNode(), and clang::consumed::ConsumedStmtVisitor::VisitParmVarDecl().
Type::ScalarTypeKind Type::getScalarTypeKind | ( | ) | const |
getScalarTypeKind - Given that this is a scalar type, classify it.
Definition at line 840 of file Type.cpp.
References isScalarType(), STK_BlockPointer, STK_Bool, STK_CPointer, STK_Floating, STK_FloatingComplex, STK_Integral, STK_IntegralComplex, STK_MemberPointer, and STK_ObjCObjectPointer.
Referenced by matchTypes(), clang::Sema::PrepareScalarCast(), and clang::Sema::ScalarTypeToBooleanCastKind().
TypeClass clang::Type::getTypeClass | ( | ) | const [inline] |
Definition at line 1400 of file Type.h.
Referenced by addAssociatedClassesAndNamespaces(), BuildSimilarlyQualifiedPointerType(), clang::LocInfoType::classof(), clang::BuiltinType::classof(), clang::ComplexType::classof(), clang::ParenType::classof(), clang::PointerType::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::IncompleteArrayType::classof(), clang::VariableArrayType::classof(), clang::DependentSizedArrayType::classof(), clang::DependentSizedExtVectorType::classof(), clang::VectorType::classof(), clang::ExtVectorType::classof(), clang::FunctionType::classof(), clang::FunctionNoProtoType::classof(), clang::FunctionProtoType::classof(), clang::UnresolvedUsingType::classof(), clang::TypedefType::classof(), clang::TypeOfExprType::classof(), clang::TypeOfType::classof(), clang::DecltypeType::classof(), clang::UnaryTransformType::classof(), clang::TagType::classof(), clang::RecordType::classof(), clang::EnumType::classof(), clang::AttributedType::classof(), clang::TemplateTypeParmType::classof(), clang::SubstTemplateTypeParmType::classof(), clang::SubstTemplateTypeParmPackType::classof(), clang::AutoType::classof(), clang::TemplateSpecializationType::classof(), clang::InjectedClassNameType::classof(), clang::ElaboratedType::classof(), clang::DependentNameType::classof(), clang::DependentTemplateSpecializationType::classof(), clang::PackExpansionType::classof(), clang::ObjCObjectType::classof(), clang::ObjCInterfaceType::classof(), clang::ObjCObjectPointerType::classof(), clang::AtomicType::classof(), computeCachedProperties(), computeLinkageInfo(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::Sema::CreateParsedType(), DeduceTemplateArgumentsByTypeMatch(), Desugar(), getAsSugar(), clang::QualType::getBaseTypeIdentifier(), clang::CodeGen::CodeGenFunction::getEvaluationKind(), clang::ast_type_traits::ASTNodeKind::getFromNode(), getLocallyUnqualifiedSingleStepDesugaredType(), clang::TypeLoc::getTypeLocClass(), clang::UnqualTypeLoc::getTypeLocClass(), getUnqualifiedDesugaredType(), clang::ASTContext::getVariableArrayDecayedType(), clang::QualType::isCXX98PODType(), isObjCReceiverType(), IsPossiblyOpaquelyQualifiedType(), isSpecifierType(), IsStructurallyEquivalent(), MarkUsedTemplateParameters(), clang::Sema::MaybeBindToTemporary(), clang::ASTContext::mergeTypes(), clang::ASTContext::PrintStats(), clang::RecursiveASTVisitor< Derived >::TraverseType(), clang::Sema::tryCaptureVariable(), UnwrapTypeForDebugInfo(), and clang::TypeVisitor< ASTNodeImporter, QualType >::Visit().
const char * Type::getTypeClassName | ( | ) | const |
Definition at line 1498 of file Type.cpp.
References TypeBits.
Referenced by clang::ASTNodeImporter::VisitType().
const Type * Type::getUnqualifiedDesugaredType | ( | ) | const |
getUnqualifiedDesugaredType() - 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 348 of file Type.cpp.
References getTypeClass().
Referenced by getArrayElementTypeNoTypeQual(), getAsStructureType(), getAsUnionType(), and clang::ASTContext::getUnqualifiedArrayType().
Visibility clang::Type::getVisibility | ( | ) | const [inline] |
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 803 of file Type.cpp.
References isFloatingType().
Referenced by clang::Sema::CheckCompareOperands(), clang::Sema::CheckVectorCompareOperands(), clang::Sema::CheckVectorLogicalOperands(), and handleTransparentUnionAttr().
bool Type::hasIntegerRepresentation | ( | ) | const |
Determine whether this type has an integer representation of some sort, e.g., it is an integer type or a vector.
Definition at line 611 of file Type.cpp.
References isIntegerType().
Referenced by clang::Sema::CheckBitwiseOperands(), clang::Sema::CheckRemainderOperands(), clang::Sema::CheckShiftOperands(), clang::Sema::CreateBuiltinUnaryOp(), and clang::Sema::SemaBuiltinShuffleVector().
bool clang::Type::hasObjCPointerRepresentation | ( | ) | const [inline] |
bool clang::Type::hasPointerRepresentation | ( | ) | const [inline] |
hasPointerRepresentation - 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 5174 of file Type.h.
Referenced by Evaluate(), EvaluatePointer(), is32Or64BitBasicType(), and tryEmitARCRetainScalarExpr().
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 747 of file Type.cpp.
References isSignedIntegerOrEnumerationType().
Referenced by CheckOpenMPLoop(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::ASTContext::getCorrespondingUnsignedType(), handleIntegerConversion(), and clang::analyze_format_string::ArgType::matchesType().
bool Type::hasSizedVLAType | ( | ) | const |
Whether this type involves a variable-length array type with a definite size.
Definition at line 2420 of file Type.cpp.
References getAsArrayTypeUnsafe(), and isVariablyModifiedType().
Referenced by clang::QualType::isCanonicalAsParam().
bool Type::hasUnnamedOrLocalType | ( | ) | const |
Whether this type is or contains a local or unnamed type.
Definition at line 2250 of file Type.cpp.
References clang::TypePropertyCache< Private >::ensure(), and TypeBits.
Referenced by clang::Sema::CheckTemplateArgument().
bool Type::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.
Definition at line 787 of file Type.cpp.
References isUnsignedIntegerOrEnumerationType().
Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList(), and DiagnoseBadShiftValues().
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 879 of file Type.cpp.
References Record.
Referenced by clang::Sema::AddInitializerToDecl(), TryListConversion(), and TryListInitialization().
bool Type::isAnyCharacterType | ( | ) | const |
Determine whether this type is any of the built-in character types.
Definition at line 697 of file Type.cpp.
References clang::BuiltinType::getKind().
Referenced by clang::Sema::BuildExpressionFromIntegralTemplateArgument(), clang::Sema::CheckCompatibleReinterpretCast(), diagnoseStringPlusChar(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), clang::UserDefinedLiteral::getLiteralOperatorKind(), and clang::Sema::IsIntegralPromotion().
bool clang::Type::isAnyComplexType | ( | ) | const [inline] |
Definition at line 4958 of file Type.h.
Referenced by clang::Sema::CreateBuiltinUnaryOp(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CodeGen::CodeGenFunction::EmitComplexToScalarConversion(), clang::CodeGen::CodeGenFunction::EmitLValue(), emitReplacement(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), Evaluate(), EvaluateBuiltinConstantP(), EvaluateComplex(), clang::CodeGen::CodeGenFunction::EvaluateExprAsBool(), FindDesignatorMismatch(), findSubobject(), getAbsoluteValueKind(), isLiteralType(), IsStandardConversion(), TryListInitialization(), clang::ento::ExprEngine::VisitInitListExpr(), and clang::ento::ExprEngine::VisitUnaryOperator().
bool clang::Type::isAnyPointerType | ( | ) | const [inline] |
Definition at line 4898 of file Type.h.
Referenced by clang::Sema::AddAlignValueAttr(), AreTypesCompatible(), AuditedType(), clang::Sema::BuildQualifiedType(), CastsAwayConstness(), clang::Sema::CheckAdditionOperands(), checkArithmeticBinOpPointerOperands(), checkArithmeticIncompletePointerType(), checkArithmeticOpPointerOperand(), clang::Sema::CheckCompareOperands(), checkConditionalNullPointer(), CheckOriginalCallArgDeduction(), clang::Sema::CheckPointerConversion(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CodeCompleteExpression(), diagnoseArithmeticOnFunctionPointer(), diagnoseArithmeticOnTwoFunctionPointers(), DiagnoseBadFunctionCast(), diagnosePointerIncompatibility(), diagnoseStringPlusChar(), EvalAddr(), clang::Sema::FindCompositePointerType(), getElementType(), getNonNullAttr(), clang::ASTContext::getObjCGCAttrKind(), clang::ASTContext::getObjCGCQualType(), clang::CXXMemberCallExpr::getRecordDecl(), handleMallocAttr(), handleOwnershipAttr(), isCallbackArg(), clang::ento::Loc::isLocType(), clang::StandardConversionSequence::isPointerConversionToVoidPointer(), isPointerToConst(), clang::ASTContext::isSentinelNullExpr(), IsStandardConversion(), clang::Sema::isValidPointerAttrType(), TryReinterpretCast(), TypeIsInnerPointer(), clang::FunctionCallFilterCCC::ValidateCandidate(), clang::ento::ExprEngine::VisitIncrementDecrementOperator(), and clang::ento::UndefOrNullArgVisitor::VisitNode().
bool Type::isArithmeticType | ( | ) | const |
Definition at line 825 of file Type.cpp.
Referenced by clang::Sema::ActOnPropertyImplDecl(), clang::Sema::CheckAdditionOperands(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckConditionalOperands(), clang::Sema::CheckMultiplyDivideOperands(), CheckRealImagOperand(), clang::Sema::CheckSubtractionOperands(), CheckVecStepTraitOperandType(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DiagnosePropertyAccessorMismatch(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), EvaluateUnaryTypeTrait(), clang::ento::MemRegionManager::getVarRegion(), IsStandardConversion(), IsVectorConversion(), and clang::Sema::UsualArithmeticConversions().
bool clang::Type::isArrayType | ( | ) | const [inline] |
Definition at line 4934 of file Type.h.
Referenced by clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnOpenMPAlignedClause(), clang::Sema::ActOnOpenMPFirstprivateClause(), AdjustFunctionParmAndArgTypesForDeduction(), clang::Sema::BuildAtomicType(), clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), buildSingleCopyAssign(), clang::Sema::BuildVAArgExpr(), captureInBlock(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckConditionVariable(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckFunctionReturnType(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::Sema::CheckParameter(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), ClassifyTemporary(), clang::CXXBindTemporaryExpr::Create(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreatePropertyDecl(), DecodeTypeFromStr(), clang::Sema::DeduceTemplateArguments(), clang::Sema::DefaultFunctionArrayConversion(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::Sema::DiagnoseAssignmentResult(), doRewriteToUTF8StringBoxedExpressionHelper(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CodeGen::CodeGenFunction::emitArrayDestroy(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::emitAutoVarTypeCleanup(), clang::CodeGen::CodeGenModule::EmitConstantInit(), clang::Sema::EndOpenMPDSABlock(), Evaluate(), EvaluateArray(), EvaluateArrayTypeTrait(), EvaluateBinaryTypeTrait(), EvaluateBuiltinClassifyType(), EvaluateInPlace(), EvaluateUnaryTypeTrait(), FastEvaluateAsRValue(), FindDesignatorMismatch(), findSubobject(), clang::ASTContext::getAdjustedParameterType(), clang::QualType::getBaseTypeIdentifier(), clang::ASTContext::GetBuiltinType(), getCoreType(), clang::ASTContext::getDecayedType(), getElementType(), GetFullTypeForDeclarator(), clang::ASTContext::getInnerObjCOwnership(), clang::ASTContext::getObjCEncodingTypeSize(), clang::CXXUuidofExpr::GetUuidAttrOfType(), clang::InitializationSequence::InitializeFrom(), clang::Expr::isConstantInitializer(), clang::arcmt::trans::MigrationContext::isGCOwnedNonObjC(), IsStandardConversion(), clang::Sema::LookupInlineAsmIdentifier(), clang::Sema::MergeVarDeclTypes(), pushTemporaryCleanup(), setObjCGCLValueClass(), TryListConversion(), TryReferenceInit(), TryReferenceInitializationCore(), clang::ento::ExprEngine::VisitCompoundLiteralExpr(), clang::ento::ExprEngine::VisitInitListExpr(), and clang::ento::ExprEngine::VisitMemberExpr().
bool clang::Type::isAtomicType | ( | ) | const [inline] |
Definition at line 4977 of file Type.h.
Referenced by clang::Sema::BuildAtomicType(), clang::Sema::BuildQualifiedType(), clang::Sema::CheckSingleAssignmentConstraints(), diagnoseRedundantReturnTypeQualifiers(), clang::CodeGen::CodeGenFunction::EmitAtomicInit(), clang::CodeGen::CodeGenFunction::EmitExprAsInit(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), Evaluate(), EvaluateAtomic(), and GetFullTypeForDeclarator().
bool clang::Type::isBlockPointerType | ( | ) | const [inline] |
Definition at line 4901 of file Type.h.
Referenced by clang::Sema::ActOnFields(), clang::Sema::ActOnObjCForCollectionStmt(), AuditedType(), clang::ASTContext::BlockRequiresCopying(), clang::Sema::BuildCXXMemberCallExpr(), clang::Sema::BuildInstanceMessage(), clang::Sema::BuildObjCBridgedCast(), clang::ento::StoreManager::castRegion(), CastsAwayConstness(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckCompareOperands(), checkConditionalBlockPointerCompatibility(), checkConditionalNullPointer(), clang::Sema::CheckConditionalOperands(), CheckObjCCollectionLiteralElement(), clang::Sema::CheckPointerConversion(), CheckReturnStackAddr(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckSubscriptingKind(), clang::Sema::CodeCompleteExpression(), compareConversionFunctions(), clang::Sema::ConvertArgumentsForCall(), DiagnoseBadFunctionCast(), diagnoseObjCARCConversion(), DiagnoseUninitializedUse(), clang::CodeGen::CodeGenFunction::EmitARCRetain(), clang::CodeGen::CodeGenFunction::EmitARCRetainAutorelease(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrong(), clang::CodeGen::CodeGenFunction::EmitBlockLiteral(), clang::CodeGen::CodeGenFunction::emitByrefStructureInit(), clang::CodeGen::CodeGenFunction::EmitCallExpr(), EvalAddr(), clang::ento::SValBuilder::evalCast(), FormatFunctionParameter(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), clang::ASTContext::getByrefLifetime(), clang::Decl::getFunctionType(), GetGCAttrTypeForType(), getNonNullAttr(), clang::ASTContext::getObjCGCAttrKind(), getScalarZeroExpressionForType(), clang::ObjCPropertyDecl::getSetterKind(), clang::CallEventManager::getSimpleCall(), clang::Sema::getVariadicCallType(), handleAnalyzerNoReturnAttr(), handleMallocAttr(), handleObjCGCTypeAttr(), handleOwnershipAttr(), handleSentinelAttr(), is32Or64BitBasicType(), isCallbackArg(), clang::CXXConversionDecl::isLambdaToBlockPointerConversion(), clang::ento::Loc::isLocType(), isObjCARCBridgableType(), isObjCRetainableType(), clang::Sema::IsPointerConversion(), IsStandardConversion(), clang::Sema::isValidPointerAttrType(), clang::analyze_format_string::ArgType::matchesType(), maybeExtendBlockObject(), clang::ASTContext::mergeTypes(), clang::Sema::PrepareCastToObjCObjectPointer(), PropertyMemoryAttribute(), rewriteToObjCProperty(), shouldEmitSeparateBlockRetain(), SuggestInitializationFixit(), TryReinterpretCast(), TryStaticCast(), and TypeIsInnerPointer().
bool clang::Type::isBooleanType | ( | ) | const [inline] |
Definition at line 5152 of file Type.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), AddObjCKeyValueCompletions(), clang::Sema::BuildExpressionFromIntegralTemplateArgument(), CheckConvertedConstantConversions(), checkIntToPointerCast(), clang::Sema::CheckLogicalOperands(), clang::Sema::CheckLoopHintExpr(), clang::Sema::CheckTemplateArgument(), create_OSAtomicCompareAndSwap(), DiagnoseBadFunctionCast(), diagnoseLogicalNotOnLHSofComparison(), clang::ento::SValBuilder::evalCast(), EvaluateBuiltinClassifyType(), ExprLooksBoolean(), clang::ASTContext::getIntWidth(), getOpenCLKernelParameterType(), getScalarZeroExpressionForType(), HandleVectorSizeAttr(), handleVecTypeHint(), hasBooleanRepresentation(), isBooleanType(), clang::Sema::IsIntegralPromotion(), isIntOrBool(), clang::Expr::isKnownToHaveBooleanValue(), IsStandardConversion(), clang::Sema::PerformImplicitConversion(), clang::APValue::printPretty(), rewriteToNumericBoxedExpression(), TryReinterpretCast(), TryStaticCast(), and clang::ento::ConditionBRVisitor::VisitConditionVariable().
bool clang::Type::isBuiltinType | ( | ) | const [inline] |
isBuiltinType - returns true if the type is a builtin type.
Helper methods to distinguish type categories. All type predicates operate on the canonical type, ignoring typedefs and qualifiers.
Definition at line 4949 of file Type.h.
Referenced by clang::ASTContext::getExtVectorType(), clang::ASTContext::getVectorType(), handleIBOutletCollection(), HandleVectorSizeAttr(), and clang::ento::ExprEngine::VisitOffsetOfExpr().
bool clang::Type::isCanonicalUnqualified | ( | ) | const [inline] |
Determines if this type would be canonical if it had no further qualification.
Definition at line 1426 of file Type.h.
Referenced by areCompatVectorTypes(), clang::TypePropertyCache< Private >::ensure(), clang::TemplateTypeParmType::getIdentifier(), getLinkageAndVisibility(), clang::ASTContext::getMemberPointerType(), and clang::ASTContext::getSubstTemplateTypeParmPackType().
bool Type::isCARCBridgableType | ( | ) | const |
Determine whether the given type T is a "bridgeable" C type.
Definition at line 2411 of file Type.cpp.
References clang::PointerType::getPointeeType(), isRecordType(), and isVoidType().
Referenced by clang::Sema::BuildObjCBridgedCast(), and handleObjCNSObject().
bool Type::isChar16Type | ( | ) | const |
Definition at line 683 of file Type.cpp.
Referenced by clang::Sema::BuildExpressionFromIntegralTemplateArgument(), and getScalarZeroExpressionForType().
bool Type::isChar32Type | ( | ) | const |
Definition at line 689 of file Type.cpp.
Referenced by clang::Sema::BuildExpressionFromIntegralTemplateArgument(), and getScalarZeroExpressionForType().
bool Type::isCharType | ( | ) | const |
Definition at line 667 of file Type.cpp.
Referenced by clang::Sema::CheckLoopHintExpr(), EvaluateBuiltinClassifyType(), clang::analyze_printf::PrintfSpecifier::fixType(), getScalarZeroExpressionForType(), handleFormatArgAttr(), handleFormatAttr(), clang::Sema::IsIntegralPromotion(), and IsStringInit().
bool Type::isClassType | ( | ) | const |
Definition at line 365 of file Type.cpp.
Referenced by EvaluateUnaryTypeTrait().
bool Type::isComplexIntegerType | ( | ) | const |
Definition at line 405 of file Type.cpp.
References getAsComplexIntegerType().
Referenced by clang::Sema::CreateBuiltinUnaryOp(), DiagnoseBadFunctionCast(), handleIntegerToComplexFloatConversion(), handleIntToFloatConversion(), and clang::Sema::UsualArithmeticConversions().
bool Type::isComplexType | ( | ) | const |
isComplexType() does *not* include complex integers (a GCC extension). isComplexIntegerType() can be used to test for complex integers.
Definition at line 399 of file Type.cpp.
Referenced by clang::Sema::CreateBuiltinUnaryOp(), DiagnoseBadFunctionCast(), EvaluateBuiltinClassifyType(), clang::ASTContext::getFloatingTypeOfSizeWithinDomain(), handleIntegerToComplexFloatConversion(), handleModeAttr(), and clang::Sema::UsualArithmeticConversions().
bool clang::Type::isCompoundType | ( | ) | const [inline] |
Tests whether the type is categorized as a compound type.
Definition at line 4870 of file Type.h.
References isRecordType().
Referenced by EvaluateUnaryTypeTrait().
bool clang::Type::isConstantArrayType | ( | ) | const [inline] |
Definition at line 4937 of file Type.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCXXDeleteExpr(), clang::CodeGen::CodeGenFunction::EmitNewArrayInitializer(), and hasCompatibleArrayTypes().
bool Type::isConstantSizeType | ( | ) | const |
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.
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 or dependent types.
Definition at line 893 of file Type.cpp.
References isDependentType(), and isIncompleteType().
Referenced by clang::Sema::BuildArrayType(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::ASTContext::getConstantArrayType(), clang::CodeGen::CodeGenModule::getOrCreateStaticVarDecl(), HandleSizeof(), and clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr().
bool clang::Type::isDependentSizedArrayType | ( | ) | const [inline] |
bool clang::Type::isDependentType | ( | ) | const [inline] |
isDependentType - Whether this type is a dependent type, meaning that its definition somehow depends on a template parameter (C++ [temp.dep.type]).
Definition at line 1618 of file Type.h.
Referenced by clang::Sema::ActOnChooseExpr(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishCXXInClassMemberInitializer(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnIdExpression(), clang::Sema::ActOnInitializerError(), clang::Sema::ActOnMemberAccessExpr(), clang::Sema::ActOnObjCAtSynchronizedOperand(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::ActOnOpenMPAlignedClause(), clang::Sema::ActOnOpenMPLinearClause(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnStartOfFunctionDef(), clang::Sema::ActOnStmtExpr(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::AddAlignValueAttr(), clang::Sema::AddInitializerToDecl(), addInstantiatedParametersToScope(), clang::Sema::BuildArrayType(), clang::Sema::BuildArrayTypeTrait(), clang::Sema::BuildAtomicType(), clang::Sema::BuildBaseInitializer(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildClassMessage(), clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::BuildCXXNamedCast(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildCXXUuidof(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExtVectorType(), clang::Sema::buildLambdaScope(), clang::Sema::BuildMemberInitializer(), clang::Sema::BuildMemberPointerType(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildObjCAtThrowStmt(), clang::Sema::BuildObjCBridgedCast(), clang::Sema::BuildObjCEncodeExpression(), clang::Sema::BuildObjCExceptionDecl(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildQualifiedType(), clang::Sema::BuildReturnStmt(), clang::Sema::BuildUnaryTransformType(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVariableInstantiation(), clang::Sema::canThrow(), captureInLambda(), checkAcquireOrderAttrCommon(), clang::Sema::CheckAllocatedType(), checkArithmeticIncompletePointerType(), clang::Sema::CheckBaseSpecifier(), clang::Sema::CheckCastAlign(), clang::Sema::CheckClassTemplate(), clang::Sema::CheckCompleteVariableDeclaration(), clang::Sema::CheckConstexprFunctionBody(), clang::Sema::CheckConstexprFunctionDecl(), clang::Sema::CheckEnumRedeclaration(), clang::Sema::CheckEnumUnderlyingType(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckNontrivialField(), clang::Sema::CheckNonTypeTemplateParameterType(), CheckOperatorNewDeleteTypes(), clang::Sema::CheckOverrideControl(), clang::Sema::CheckOverridingFunctionReturnType(), clang::Sema::CheckQualifiedMemberReference(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CodeCompleteMemberReferenceExpr(), clang::Sema::computeDeclContext(), computeDeclRefDependence(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), clang::Sema::DeduceAutoType(), clang::Sema::deduceClosureReturnType(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DiagnoseSizeOfParametersAndReturnValue(), clang::Sema::DiagnoseUnusedNestedTypedefs(), EvaluateArrayTypeTrait(), EvaluateBinaryTypeTrait(), EvaluateUnaryTypeTrait(), findTemplateParameter(), FinishTemplateArgumentDeduction(), clang::Sema::FinishTemplateArgumentDeduction(), FormatFunctionParameter(), clang::Expr::getBestDynamicClassType(), clang::ASTContext::getCanonicalTemplateSpecializationType(), clang::ASTContext::getConstantArrayType(), clang::ento::CallEvent::getDeclaredResultType(), clang::CXXDeleteExpr::getDestroyedType(), clang::Sema::getDestructorName(), clang::ASTContext::getExtVectorType(), GetFullTypeForDeclarator(), getLVForTemplateParameterList(), clang::QualType::getNonLValueExprType(), clang::ASTContext::getUnaryTransformType(), handleNonNullAttr(), handleObjCOwnershipTypeAttr(), hasDeducibleTemplateParameters(), clang::InitializationSequence::InitializeFrom(), clang::Sema::isAcceptableNestedNameSpecifier(), IsAcceptableNonMemberOperatorCandidate(), isConstantSizeType(), clang::Sema::isCopyElisionCandidate(), clang::QualType::isCXX11PODType(), clang::NestedNameSpecifier::isDependent(), clang::TemplateArgument::isDependent(), clang::DeclarationName::isDependentName(), IsDerivedFromInclusive(), clang::Sema::isIncompatibleTypedef(), isLiteralType(), clang::Sema::isNonTypeNestedNameSpecifier(), isObjCReceiverType(), isPromotableIntegerType(), isStandardLayoutType(), clang::PackExpansionType::isSugared(), clang::QualType::isTriviallyCopyableType(), clang::QualType::isTrivialType(), isValidSubjectOfCFAttribute(), isValidSubjectOfNSAttribute(), isValidSubjectOfNSReturnsRetainedAttribute(), clang::Sema::isValidVarArgType(), IsVariableNonDependentAndAConstantExpression(), LookupDirect(), clang::Sema::LookupInlineAsmIdentifier(), LookupMemberExpr(), clang::Sema::LookupTemplateName(), LookupVisibleDecls(), MarkUsedTemplateParameters(), MatchTemplateParameterKind(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), clang::Sema::MergeFunctionDecl(), clang::Sema::MergeVarDeclTypes(), clang::InitializationSequence::Perform(), clang::Sema::PerformObjectMemberConversion(), RebuildDeclaratorInCurrentInstantiation(), clang::TreeTransform< Derived >::RebuildInitList(), clang::Sema::RebuildTypeInCurrentInstantiation(), clang::Sema::RequireLiteralType(), clang::Sema::SemaConvertVectorExpr(), clang::CXXRecordDecl::setBases(), ShouldDiagnoseUnusedDecl(), SubstDefaultTemplateArgument(), clang::TreeTransform< Derived >::TransformNestedNameSpecifierLoc(), TryToFixInvalidVariablyModifiedType(), clang::TypoExpr::TypoExpr(), VariableCanNeverBeAConstantExpression(), and clang::Sema::VerifyBitField().
bool Type::isElaboratedTypeSpecifier | ( | ) | const |
Determine wither this type is a C++ elaborated-type-specifier.
Definition at line 1483 of file Type.cpp.
References clang::TypeWithKeyword::KeywordIsTagTypeKind().
Referenced by clang::Sema::ActOnFriendTypeDecl(), and clang::Sema::CheckFriendTypeDecl().
bool clang::Type::isEnumeralType | ( | ) | const [inline] |
Definition at line 4955 of file Type.h.
Referenced by clang::Sema::ActOnStartOfSwitchStmt(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXNew(), clang::Sema::BuildUnaryTransformType(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckCompareOperands(), checkIntToPointerCast(), clang::Sema::CheckTemplateArgument(), clang::Sema::CodeCompleteCase(), DiagnoseBadFunctionCast(), EvaluateBuiltinClassifyType(), EvaluateUnaryTypeTrait(), clang::QualType::getBaseTypeIdentifier(), getScalarZeroExpressionForType(), is32Or64BitBasicType(), IsAcceptableNonMemberOperatorCandidate(), clang::Sema::IsIntegralPromotion(), clang::Expr::isNullPointerConstant(), isNullPointerConstantForConversion(), clang::Sema::PerformOpenMPImplicitIntegerConversion(), clang::TreeTransform< Derived >::TransformNestedNameSpecifierLoc(), TryStaticCast(), and clang::Sema::VerifyIntegerConstantExpression().
bool clang::Type::isEventT | ( | ) | const [inline] |
Definition at line 5038 of file Type.h.
Referenced by clang::Sema::ActOnVariableDeclarator(), getOpenCLKernelParameterType(), clang::Sema::HandleField(), IsStandardConversion(), clang::InitializationSequence::Perform(), and TryOCLZeroEventInitialization().
bool clang::Type::isExtVectorType | ( | ) | const [inline] |
Definition at line 4964 of file Type.h.
Referenced by clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckExtVectorCast(), clang::Sema::CreateBuiltinUnaryOp(), handleVecTypeHint(), IsVectorConversion(), and LookupMemberExpr().
bool Type::isFloatingType | ( | ) | const |
Definition at line 794 of file Type.cpp.
Referenced by clang::Sema::AddInitializerToDecl(), clang::Sema::CheckLogicalOperands(), clang::CodeGen::CodeGenFunction::EmitCheckTypeDescriptor(), EvaluateBuiltinConstantP(), EvaluateUnaryTypeTrait(), findCompleteObject(), clang::UserDefinedLiteral::getLiteralOperatorKind(), handleModeAttr(), handleVecTypeHint(), hasFloatingRepresentation(), and rewriteToNumberLiteral().
bool clang::Type::isFromAST | ( | ) | const [inline] |
bool clang::Type::isFunctionNoProtoType | ( | ) | const [inline] |
Definition at line 1530 of file Type.h.
Referenced by clang::Sema::ActOnFunctionDeclarator().
bool clang::Type::isFunctionPointerType | ( | ) | const [inline] |
Definition at line 4913 of file Type.h.
Referenced by clang::Sema::ActOnVariableDeclarator(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::ento::SValBuilder::evalCast(), clang::Decl::getFunctionType(), handleAnalyzerNoReturnAttr(), handleSentinelAttr(), handleX86ForceAlignArgPointerAttr(), isCallbackArg(), clang::comments::Sema::isFunctionPointerVarDecl(), ResolveOverloadForDeduction(), rewriteToObjCProperty(), TryConstCast(), TryReinterpretCast(), and TypeIsInnerPointer().
bool clang::Type::isFunctionProtoType | ( | ) | const [inline] |
Definition at line 1531 of file Type.h.
Referenced by CreateNewFunctionDecl(), GetFullTypeForDeclarator(), and clang::Sema::MergeVarDeclExceptionSpecs().
bool clang::Type::isFunctionType | ( | ) | const [inline] |
Definition at line 4892 of file Type.h.
Referenced by clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), AdjustFunctionParmAndArgTypesForDeduction(), clang::Sema::BuildArrayType(), clang::Sema::BuildAtomicType(), clang::Sema::BuildBlockPointerType(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildMemberPointerType(), clang::Sema::CallExprUnaryConversions(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckAllocatedType(), checkArithmeticBinOpPointerOperands(), checkArithmeticOpPointerOperand(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckConditionVariable(), clang::Sema::CheckConversionDeclarator(), CheckExtensionTraitOperandType(), clang::Sema::CheckFunctionReturnType(), clang::Sema::CheckMain(), clang::Sema::CheckMSVCRTEntryPoint(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::Sema::CheckPointerToMemberOperands(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentIsCompatibleWithParameter(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), ClassifyBinaryOp(), ClassifyUnnamed(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreatePropertyDecl(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DefaultFunctionArrayConversion(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenModule::EmitNullConstant(), emitPointerArithmetic(), clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(), clang::ento::SValBuilder::evalCast(), Evaluate(), EvaluateBinaryTypeTrait(), EvaluateBuiltinClassifyType(), EvaluateLValue(), evaluateTypeTrait(), EvaluateUnaryTypeTrait(), clang::Expr::findBoundMemberType(), FindConversionForRefInit(), clang::ASTContext::getAdjustedParameterType(), clang::ASTContext::getBlockPointerType(), clang::ASTContext::getDecayedType(), clang::ASTContext::getDeclAlign(), GetFullTypeForDeclarator(), clang::ASTContext::getObjCEncodingForBlock(), clang::ASTContext::getObjCEncodingForFunctionDecl(), clang::ASTContext::getObjCEncodingForMethodDecl(), HandleAddressSpaceTypeAttribute(), clang::Sema::HandleDeclarator(), HandleSizeof(), handleX86ForceAlignArgPointerAttr(), clang::Sema::IgnoredValueConversions(), clang::TemplateDeclInstantiator::InstantiateVarTemplatePartialSpecialization(), clang::Declarator::isDeclarationOfFunction(), IsModifiable(), clang::Sema::IsPointerConversion(), IsStandardConversion(), clang::Sema::LookupInlineAsmIdentifier(), LookupMemberExpr(), maybeSynthesizeBlockSignature(), clang::ASTContext::mergeObjCGCQualifiers(), clang::Sema::PerformMemberExprBaseConversion(), ResolveOverloadForDeduction(), clang::CodeGen::CodeGenFunction::OpaqueValueMappingData::shouldBindAsLValue(), TryReferenceInit(), TryReferenceInitializationCore(), and TryReinterpretCast().
bool clang::Type::isFundamentalType | ( | ) | const [inline] |
Tests whether the type is categorized as a fundamental type.
Definition at line 4860 of file Type.h.
Referenced by EvaluateUnaryTypeTrait().
bool clang::Type::isHalfType | ( | ) | const [inline] |
Definition at line 5095 of file Type.h.
Referenced by clang::Sema::ActOnVariableDeclarator(), clang::Sema::BuildFunctionType(), clang::Sema::CheckFunctionReturnType(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::DefaultLvalueConversion(), GetFullTypeForDeclarator(), getOpenCLKernelParameterType(), clang::Sema::PerformImplicitConversion(), and clang::Sema::UsualUnaryConversions().
bool clang::Type::isImage1dArrayT | ( | ) | const [inline] |
bool clang::Type::isImage1dBufferT | ( | ) | const [inline] |
bool clang::Type::isImage1dT | ( | ) | const [inline] |
bool clang::Type::isImage2dArrayT | ( | ) | const [inline] |
bool clang::Type::isImage2dT | ( | ) | const [inline] |
bool clang::Type::isImage3dT | ( | ) | const [inline] |
bool clang::Type::isImageType | ( | ) | const [inline] |
Definition at line 5042 of file Type.h.
Referenced by GenOpenCLArgMetadata(), and getOpenCLKernelParameterType().
bool clang::Type::isIncompleteArrayType | ( | ) | const [inline] |
Definition at line 4940 of file Type.h.
Referenced by clang::Sema::ActOnFields(), clang::Sema::ActOnUninitializedDecl(), AdjustFunctionParmAndArgTypesForDeduction(), clang::Sema::BuildArrayType(), CheckUnaryTypeTraitTypeCompleteness(), computeDeclRefDependence(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), EvaluateBinaryTypeTrait(), evaluateTypeTrait(), GetNumNonZeroBytesInInit(), clang::ASTContext::getObjCEncodingTypeSize(), hasCompatibleArrayTypes(), isIncompleteOrZeroLengthArrayType(), clang::Sema::MergeVarDeclTypes(), clang::InitializationSequence::Perform(), and clang::Sema::RequireCompleteExprType().
bool clang::Type::isIncompleteOrObjectType | ( | ) | const [inline] |
isIncompleteOrObjectType - Return true if this is an incomplete or object type, in other words, not a function type.
Definition at line 1450 of file Type.h.
Referenced by clang::Sema::BuildQualifiedType(), checkConditionalObjectPointersCompatibility(), clang::Sema::CheckTemplateArgument(), clang::Sema::IsPointerConversion(), and TryStaticCast().
bool Type::isIncompleteType | ( | NamedDecl ** | Def = nullptr | ) | const |
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.
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. 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.
isIncompleteType - Return true if this is an incomplete type (C99 6.2.5p1)
Definition at line 903 of file Type.cpp.
References getElementType(), clang::ObjCInterfaceDecl::hasDefinition(), clang::TagDecl::isCompleteDefinition(), clang::EnumDecl::isFixed(), isIncompleteType(), isVoidType(), and Record.
Referenced by clang::Sema::ActOnFields(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::BuildArrayType(), clang::Sema::BuildUnaryTransformType(), clang::ento::StoreManager::castRegion(), clang::Sema::CheckCallReturnType(), clang::Sema::CheckCastAlign(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckFunctionDeclaration(), checkRecordTypeForCapability(), clang::Sema::CheckSubscriptingKind(), CheckVecStepTraitOperandType(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), DiagnoseBadConversion(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), EvaluateUnaryTypeTrait(), clang::ento::ElementRegion::getAsArrayOffset(), clang::ento::MemRegion::getAsOffset(), clang::ASTContext::getConstantArrayType(), clang::ASTContext::getDeclAlign(), clang::Sema::getDestructorName(), clang::ento::TypedValueRegion::getExtent(), clang::ASTContext::getObjCEncodingTypeSize(), isConstantSizeType(), clang::QualType::isCXX11PODType(), isEnableIf(), clang::CodeGen::CodeGenTypes::isFuncParamTypeConvertible(), isIncompleteType(), isLiteralType(), isStandardLayoutType(), clang::QualType::isTriviallyCopyableType(), clang::CodeGen::CGCXXABI::isTypeInfoCalculable(), IsUserDefinedConversion(), clang::Sema::isValidVarArgType(), clang::Sema::LookupTemplateName(), matchTypes(), clang::Sema::RequireCompleteExprType(), ShouldDiagnoseUnusedDecl(), and clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr().
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 1624 of file Type.h.
Referenced by clang::Sema::ActOnOpenMPLinearClause(), computeCachedProperties(), computeDeclRefDependence(), computeLinkageInfo(), clang::Sema::HandleFunctionTypeMismatch(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::NestedNameSpecifier::isInstantiationDependent(), clang::TemplateArgument::isInstantiationDependent(), clang::DeclarationNameInfo::isInstantiationDependent(), NeedsInstantiationAsFunctionType(), and clang::Sema::SubstType().
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 5111 of file Type.h.
References clang::IsEnumDeclComplete(), and clang::IsEnumDeclScoped().
Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnSEHExceptBlock(), AddObjCKeyValueCompletions(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildExtVectorType(), clang::Sema::BuildInstanceMessage(), clang::Sema::BuildObjCDictionaryLiteral(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckCompareOperands(), CheckIncrementDecrementOperand(), clang::Sema::CheckLogicalOperands(), clang::Sema::CheckLoopHintExpr(), checkPointerIntegerMismatch(), clang::Sema::CheckRemainderOperands(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckVectorCast(), create_dispatch_once(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::DiagnoseAssignmentEnum(), DiagnoseBadFunctionCast(), clang::CodeGen::CodeGenFunction::EmitCheckTypeDescriptor(), clang::CodeGen::CodeGenFunction::EmitLoadOfGlobalRegLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughGlobalRegLValue(), clang::CodeGen::CodeGenFunction::EmitX86BuiltinExpr(), EvaluateBuiltinClassifyType(), expandStringLiteral(), extractStringLiteralCharacter(), clang::ArraySubscriptExpr::getBase(), clang::ArraySubscriptExpr::getIdx(), clang::UserDefinedLiteral::getLiteralOperatorKind(), handleIntegerToComplexFloatConversion(), handleIntToFloatConversion(), handleOwnershipAttr(), HandleVectorSizeAttr(), hasIntegerRepresentation(), clang::IntegerLiteral::IntegerLiteral(), isAcceptableMethodMismatch(), clang::Sema::IsIntegralPromotion(), isIntOrBool(), isNullPointerConstantForConversion(), clang::InitListExpr::isStringLiteralInit(), mergeEnumWithInteger(), clang::Sema::PerformImplicitConversion(), and SemaBuiltinAnnotation().
bool clang::Type::isIntegralOrEnumerationType | ( | ) | const [inline] |
Determine whether this type is an integral or enumeration type.
Definition at line 5139 of file Type.h.
References clang::IsEnumDeclComplete().
Referenced by clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::AddInitializerToDecl(), clang::ento::SimpleConstraintManager::assumeAuxForSymbol(), clang::ento::SymbolManager::canSymbolicate(), clang::Sema::CheckCaseExpression(), clang::Sema::CheckConvertedConstantExpression(), CheckICE(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::Sema::CheckSubscriptingKind(), clang::Sema::CheckTemplateArgument(), DecodeTypeFromStr(), emitReplacement(), clang::ento::SValBuilder::evalCast(), Evaluate(), EvaluateBuiltinConstantP(), EvaluateCPlusPlus11IntegralConstantExpr(), EvaluateIntegerOrLValue(), clang::Sema::FinalizeDeclaration(), findCompleteObject(), getAbsoluteValueKind(), clang::ento::BasicValueFactory::getAPSIntType(), clang::ASTContext::getObjCEncodingTypeSize(), clang::ento::ProgramState::getSValAsScalarOrLoc(), handleModeAttr(), clang::ento::SValBuilder::haveSameType(), clang::ObjCSubscriptRefExpr::isArraySubscriptRefExpr(), clang::Expr::isKnownToHaveBooleanValue(), clang::ASTContext::isMSStaticDataMemberInlineDefinition(), clang::ento::SValBuilder::makeZeroVal(), clang::Sema::ICEConvertDiagnoser::match(), clang::ento::ExprEngine::processBranch(), RecoverCastedSymbol(), TryReinterpretCast(), TryStaticCast(), clang::Sema::VerifyBitField(), clang::ento::ExprEngine::VisitBinaryOperator(), clang::ento::ConditionBRVisitor::VisitConditionVariable(), and clang::ento::ExprEngine::VisitIncrementDecrementOperator().
Determine whether this type is an integral or unscoped enumeration type.
Definition at line 650 of file Type.cpp.
Referenced by adjustBlockReturnsToEnum(), clang::Sema::BuildArrayType(), clang::Sema::BuildCXXNew(), clang::Sema::CheckBitwiseOperands(), CheckConvertedConstantConversions(), diagnoseStringPlusInt(), clang::StandardConversionSequence::getNarrowingKind(), IsStandardConversion(), clang::Sema::ICEConvertDiagnoser::match(), clang::Sema::UsualUnaryConversions(), and clang::Sema::VerifyIntegerConstantExpression().
bool Type::isIntegralType | ( | ASTContext & | Ctx | ) | const |
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.
Ctx | The context in which this type occurs. |
Definition at line 637 of file Type.cpp.
References clang::ASTContext::getLangOpts().
Referenced by clang::Sema::ActOnOpenMPLinearClause(), clang::Sema::ActOnVariableDeclarator(), checkIntToPointerCast(), clang::Sema::CheckObjCARCConversion(), create_OSAtomicCompareAndSwap(), DiagnoseBinOpPrecedence(), EvaluateUnaryTypeTrait(), clang::StandardConversionSequence::getNarrowingKind(), getNextLargerIntegralType(), handleVecTypeHint(), clang::Expr::IgnoreParenNoopCasts(), clang::Sema::IsIntegralPromotion(), isRepresentableIntegerValue(), IsStandardConversion(), TryReinterpretCast(), TryStaticCast(), and tryVectorConvertAndSplat().
bool Type::isInterfaceType | ( | ) | const |
Definition at line 375 of file Type.cpp.
Referenced by EvaluateUnaryTypeTrait().
bool Type::isLinkageValid | ( | ) | const |
True if the computed linkage is valid. Used for consistency checking. Should always return true.
Definition at line 2330 of file Type.cpp.
References computeLinkageInfo(), getCanonicalTypeInternal(), clang::LinkageInfo::getLinkage(), and TypeBits.
bool Type::isLiteralType | ( | const ASTContext & | Ctx | ) | const |
isLiteralType - Return true if this is a literal type (C++11 [basic.types]p10)
Definition at line 1144 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(), EvaluateObjectArgument(), EvaluateUnaryTypeTrait(), clang::Sema::RequireLiteralType(), and clang::CXXRecordDecl::setBases().
bool clang::Type::isLValueReferenceType | ( | ) | const [inline] |
Definition at line 4907 of file Type.h.
Referenced by ClassifyUnnamed(), DeduceTemplateArgumentsByTypeMatch(), DiagnoseBadConversion(), EvaluateUnaryTypeTrait(), FindConversionForRefInit(), clang::CXXConstructorDecl::isCopyConstructor(), clang::InitializationSequence::Perform(), TryListConversion(), and TryReferenceInitializationCore().
bool clang::Type::isMemberDataPointerType | ( | ) | const [inline] |
Definition at line 4928 of file Type.h.
Referenced by EvaluateUnaryTypeTrait().
bool clang::Type::isMemberFunctionPointerType | ( | ) | const [inline] |
Definition at line 4922 of file Type.h.
Referenced by EvaluateUnaryTypeTrait(), isAggregateTypeForABI(), ResolveOverloadForDeduction(), and TryConstCast().
bool clang::Type::isMemberPointerType | ( | ) | const [inline] |
Definition at line 4919 of file Type.h.
Referenced by clang::Sema::AddAlignValueAttr(), AdjustFunctionParmAndArgTypesForDeduction(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildQualifiedType(), CastsAwayConstness(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckNonTypeTemplateParameterType(), CheckOriginalCallArgDeduction(), clang::Sema::CheckTemplateArgument(), clang::Sema::CodeCompleteExpression(), CompareDerivedToBaseConversions(), convertPointersToCompositeType(), clang::Sema::DeduceTemplateArguments(), clang::CodeGen::CodeGenModule::EmitNullConstant(), clang::ento::SValBuilder::evalCast(), Evaluate(), EvaluateMemberPointer(), EvaluateUnaryTypeTrait(), clang::Sema::FindCompositePointerType(), getScalarZeroExpressionForType(), clang::Sema::HandleFunctionTypeMismatch(), handleMSPointerTypeQualifierAttr(), IsStandardConversion(), clang::Sema::PerformImplicitConversion(), TryConstCast(), TryReinterpretCast(), and TryStaticImplicitCast().
bool clang::Type::isNonOverloadPlaceholderType | ( | ) | const [inline] |
isNonOverloadPlaceholderType - Test for a placeholder type other than Overload; see BuiltinType::isNonOverloadPlaceholderType.
Reimplemented in clang::BuiltinType.
Definition at line 5083 of file Type.h.
Referenced by clang::Sema::ActOnArraySubscriptExpr(), clang::Sema::BuildCXXNew(), clang::Sema::checkPseudoObjectAssignment(), and clang::Sema::DeduceAutoType().
bool clang::Type::isNullPtrType | ( | ) | const [inline] |
Definition at line 5102 of file Type.h.
Referenced by clang::Sema::BuildExpressionFromIntegralTemplateArgument(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), clang::Sema::FindCompositePointerType(), clang::ento::Loc::isLocType(), isNullPointerValueTemplateArgument(), clang::Sema::IsPointerConversion(), clang::ASTContext::isSentinelNullExpr(), IsStandardConversion(), clang::analyze_format_string::ArgType::matchesType(), and TryReinterpretCast().
bool Type::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.
Definition at line 2406 of file Type.cpp.
References isBlockPointerType(), and isObjCObjectPointerType().
Referenced by clang::Sema::BuildObjCBridgedCast(), and classifyTypeForARCConversion().
bool Type::isObjCARCImplicitlyUnretainedType | ( | ) | const |
Determines if this type, which must satisfy isObjCLifetimeType(), is implicitly __unsafe_unretained rather than implicitly __strong.
Definition at line 2353 of file Type.cpp.
References getCanonicalTypeInternal(), clang::QualType::getTypePtr(), and isObjCLifetimeType().
Referenced by checkARCPropertyImpl(), getObjCARCImplicitLifetime(), inferARCLifetimeForPointee(), inferARCWriteback(), and clang::Sema::MaybeBindToTemporary().
bool clang::Type::isObjCBuiltinType | ( | ) | const [inline] |
Definition at line 5006 of file Type.h.
Referenced by AuditedType(), clang::ASTContext::canAssignObjCInterfacesInBlockPointer(), checkObjCPointerTypesForAssignment(), clang::Sema::FindCompositeObjCPointerType(), clang::Sema::isObjCPointerConversion(), and TypeIsInnerPointer().
bool clang::Type::isObjCClassType | ( | ) | const [inline] |
Reimplemented in clang::ObjCObjectPointerType.
Definition at line 4996 of file Type.h.
Referenced by clang::Sema::BuildInstanceMessage(), clang::Sema::CheckAssignmentConstraints(), checkObjCPointerTypesForAssignment(), clang::Sema::CodeCompleteObjCInstanceMessage(), clang::Sema::FindCompositeObjCPointerType(), clang::Sema::getMessageSendResultType(), clang::ASTContext::ObjCQualifiedIdTypesAreCompatible(), and clang::Sema::SelectorsForTypoCorrection().
bool clang::Type::isObjCIdType | ( | ) | const [inline] |
Reimplemented in clang::ObjCObjectPointerType.
Definition at line 4991 of file Type.h.
Referenced by clang::Sema::AddInitializerToDecl(), clang::Sema::BuildInstanceMessage(), BuildSimilarlyQualifiedPointerType(), clang::Sema::CheckAssignmentConstraints(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::Sema::CheckSubscriptingKind(), clang::Sema::CodeCompleteObjCInstanceMessage(), clang::Sema::FindCompositeObjCPointerType(), clang::ObjCMethodDecl::getMethodFamily(), handleIBOutletCollection(), isObjCPtrBlockCompatible(), clang::Expr::isUnusedResultAWarning(), clang::ASTContext::mergeTypes(), clang::ASTContext::ObjCQualifiedIdTypesAreCompatible(), and clang::Sema::SelectorsForTypoCorrection().
bool Type::isObjCIndirectLifetimeType | ( | ) | const |
Definition at line 2383 of file Type.cpp.
References isObjCLifetimeType().
bool Type::isObjCLifetimeType | ( | ) | const |
Returns true if objects of this type have lifetime semantics under ARC.
Definition at line 2397 of file Type.cpp.
References getAsArrayTypeUnsafe(), and isObjCRetainableType().
Referenced by clang::Sema::BuildArrayType(), clang::Sema::BuildCXXNew(), clang::Sema::BuildVAArgExpr(), clang::Sema::CheckAllocatedType(), clang::Sema::CheckParameter(), clang::Sema::CheckTemplateTypeArgument(), createObjCPropertyGetter(), DeduceTemplateArgumentsByTypeMatch(), clang::CodeGen::CodeGenFunction::EmitCallExpr(), clang::CodeGen::CodeGenFunction::EmitMaterializeTemporaryExpr(), EmitObjectDelete(), EvaluateUnaryTypeTrait(), hasNontrivialObjCLifetime(), inferARCLifetimeForPointee(), clang::Sema::inferObjCARCLifetime(), isObjCARCImplicitlyUnretainedType(), isObjCIndirectLifetimeType(), clang::Sema::isObjCWritebackConversion(), clang::Sema::isValidVarArgType(), clang::InitializationSequence::Perform(), and pushTemporaryCleanup().
bool Type::isObjCNSObjectType | ( | ) | const |
Definition at line 2373 of file Type.cpp.
Referenced by clang::ASTContext::isObjCNSObjectType(), and isObjCRetainableType().
bool clang::Type::isObjCObjectOrInterfaceType | ( | ) | const [inline] |
Definition at line 4973 of file Type.h.
Referenced by clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::CodeCompleteDeclSpec(), clang::Sema::CodeCompleteMemberReferenceExpr(), clang::Sema::CompareReferenceRelationship(), and clang::Sema::LookupTemplateName().
bool clang::Type::isObjCObjectPointerType | ( | ) | const [inline] |
Definition at line 4967 of file Type.h.
Referenced by clang::Sema::ActOnArraySubscriptExpr(), clang::Sema::ActOnFields(), clang::Sema::ActOnObjCAtSynchronizedOperand(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::AddInitializerToDecl(), clang::Sema::AddKnownFunctionAttributes(), AddObjCKeyValueCompletions(), AdjustFunctionParmAndArgTypesForDeduction(), adjustReturnValue(), AuditedType(), clang::ASTContext::BlockRequiresCopying(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildObjCAtThrowStmt(), clang::Sema::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(), clang::Sema::CheckMessageArgumentTypes(), checkMethodFamilyMismatch(), clang::Sema::CheckObjCARCUnavailableWeakConversion(), CheckObjCCollectionLiteralElement(), checkObjCDealloc(), checkObjCPointerIntrospection(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckSubscriptingKind(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CodeCompleteMemberReferenceExpr(), clang::Sema::DiagnoseAssignmentResult(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), emitBadConversionNotes(), clang::CodeGen::CodeGenFunction::emitByrefStructureInit(), clang::CodeGen::CodeGenFunction::EmitCXXThrowExpr(), clang::CodeGen::CodeGenFunction::EnterCXXTryStmt(), clang::Sema::FindCompositeObjCPointerType(), clang::CodeGen::CodeGenModule::GetAddrOfRTTIDescriptor(), clang::ASTContext::getByrefLifetime(), GetGCAttrTypeForType(), clang::ASTContext::getObjCGCAttrKind(), getScalarZeroExpressionForType(), clang::ASTContext::getUnqualifiedObjCPointerType(), handleObjCGCTypeAttr(), handleObjCMethodFamilyAttr(), hasIsEqualMethod(), clang::ento::cocoa::isCocoaObjectRef(), isObjCARCBridgableType(), isObjCRetainableType(), clang::Sema::IsPointerConversion(), 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::Sema::PrepareCastToObjCObjectPointer(), clang::TreeTransform< Derived >::RebuildCXXForRangeStmt(), clang::Sema::SelectorsForTypoCorrection(), TryConstCast(), TryReinterpretCast(), TryStaticCast(), TypeIsInnerPointer(), validateBoxingMethod(), clang::ento::ConditionBRVisitor::VisitConditionVariable(), clang::ento::FindLastStoreBRVisitor::VisitNode(), and clang::ento::ConditionBRVisitor::VisitTrueTest().
bool clang::Type::isObjCObjectType | ( | ) | const [inline] |
Definition at line 4970 of file Type.h.
Referenced by clang::Sema::ActOnCompatibilityAlias(), clang::Sema::ActOnFields(), clang::Sema::ActOnForwardClassDeclaration(), clang::Sema::ActOnStartClassInterface(), clang::Sema::ActOnTypedefedProtocols(), clang::Sema::BuildArrayType(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildPointerType(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckAssignmentOperands(), clang::Sema::CheckFunctionReturnType(), CheckObjCTraitOperandConstraints(), clang::Sema::CheckParameter(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::checkVariadicArgument(), clang::Sema::CodeCompleteMemberReferenceExpr(), clang::Sema::CreatePropertyDecl(), GetFullTypeForDeclarator(), handleIBOutletCollection(), inferARCWriteback(), clang::Sema::isValidVarArgType(), and transferARCOwnership().
bool clang::Type::isObjCQualifiedClassType | ( | ) | const [inline] |
Reimplemented in clang::ObjCObjectPointerType.
Definition at line 4986 of file Type.h.
Referenced by clang::Sema::BuildInstanceMessage(), checkObjCPointerTypesForAssignment(), clang::Sema::CodeCompleteObjCInstanceMessage(), clang::Sema::getMessageSendResultType(), and clang::Sema::SelectorsForTypoCorrection().
bool clang::Type::isObjCQualifiedIdType | ( | ) | const [inline] |
Reimplemented in clang::ObjCObjectPointerType.
Definition at line 4981 of file Type.h.
Referenced by clang::Sema::BuildObjCExceptionDecl(), BuildSimilarlyQualifiedPointerType(), checkObjCPointerTypesForAssignment(), clang::Sema::DiagnoseAssignmentResult(), EvalAddr(), clang::Sema::FindCompositeObjCPointerType(), clang::ASTContext::ObjCObjectAdoptsQTypeProtocols(), clang::ASTContext::QIdProtocolsAdoptObjCObjectProtocols(), and clang::Sema::SelectorsForTypoCorrection().
bool Type::isObjCQualifiedInterfaceType | ( | ) | const |
Definition at line 496 of file Type.cpp.
References getAsObjCQualifiedInterfaceType().
Referenced by clang::Sema::getMessageSendResultType().
bool Type::isObjCRetainableType | ( | ) | const |
Definition at line 2378 of file Type.cpp.
References isBlockPointerType(), isObjCNSObjectType(), and isObjCObjectPointerType().
Referenced by clang::Sema::ActOnPropertyImplDecl(), clang::ASTContext::BlockRequiresCopying(), BuildImplicitMemberInitializer(), clang::Sema::BuildInstanceMessage(), checkAllAtProps(), clang::Sema::checkUnsafeExprAssigns(), checkWeakGCAttrs(), computeBlockInfo(), clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), errorForGCAttrsOnNonObjC(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), getImpliedARCOwnership(), handleObjCOwnershipTypeAttr(), handleObjCReturnsInnerPointerAttr(), inferARCWriteback(), isObjCLifetimeType(), isValidSubjectOfNSReturnsRetainedAttribute(), clang::Sema::MaybeBindToTemporary(), MaybeProduceObjCObject(), PropertyMemoryAttribute(), clang::CodeGen::CodeGenFunction::StartFunction(), transferARCOwnership(), and transferARCOwnershipToDeclSpec().
bool clang::Type::isObjCSelType | ( | ) | const [inline] |
Definition at line 5001 of file Type.h.
Referenced by clang::ObjCMethodDecl::getMethodFamily(), isCallbackArg(), and LookupMemberExpr().
bool clang::Type::isObjectType | ( | ) | const [inline] |
Determine whether this type is an object type.
Definition at line 1455 of file Type.h.
Referenced by EvaluateBinaryTypeTrait(), evaluateTypeTrait(), EvaluateUnaryTypeTrait(), and GetFullTypeForDeclarator().
bool clang::Type::isOpenCLSpecificType | ( | ) | const [inline] |
Definition at line 5048 of file Type.h.
Referenced by clang::CodeGen::CGOpenCLRuntime::convertOpenCLSpecificType().
bool clang::Type::isOverloadableType | ( | ) | const [inline] |
Determines whether this is a type for which one can define an overloaded operator.
Definition at line 5165 of file Type.h.
References isRecordType().
Referenced by clang::Sema::BuildBinOp(), clang::Sema::BuildUnaryOp(), and clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr().
bool clang::Type::isPlaceholderType | ( | ) | const [inline] |
isPlaceholderType - 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. All such types are BuiltinTypes.
Reimplemented in clang::BuiltinType.
Definition at line 5063 of file Type.h.
Referenced by clang::Sema::BuildCXXTypeId(), clang::Sema::BuildExpressionTrait(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckPointerToMemberOperands(), clang::Sema::CreateGenericSelectionExpr(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DefaultFunctionArrayConversion(), clang::Sema::DefaultLvalueConversion(), and clang::Expr::hasPlaceholderType().
bool clang::Type::isPointerType | ( | ) | const [inline] |
Definition at line 4895 of file Type.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnOpenMPAlignedClause(), clang::Sema::ActOnOpenMPLinearClause(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnVariableDeclarator(), AdjustFunctionParmAndArgTypesForDeduction(), BuildCXXCastArgument(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildInstanceMessage(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::CheckAdditionOperands(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckConditionalOperands(), CheckForDanglingReferenceOrPointer(), checkIsValidOpenCLKernelParameter(), clang::Sema::CheckNonTypeTemplateParameterType(), checkPointerIntegerMismatch(), CheckReturnStackAddr(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), clang::Sema::CheckTransparentUnionArgumentConstraints(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::threadSafety::ClassifyDiagnostic(), CompareDerivedToBaseConversions(), convertPointersToCompositeType(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::DeduceTemplateArguments(), diagnoseObjCARCConversion(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), EmitBinaryAtomic(), EmitBinaryAtomicPost(), clang::CodeGen::CodeGenFunction::EmitCallArgs(), clang::CodeGen::CodeGenFunction::EmitDynamicCast(), EmitDynamicCastToNull(), clang::CodeGen::CodeGenFunction::EmitLoadOfGlobalRegLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughGlobalRegLValue(), EvalAddr(), clang::ento::SValBuilder::evalCast(), EvaluateBuiltinClassifyType(), EvaluateBuiltinConstantP(), EvaluateObjectArgument(), EvaluateUnaryTypeTrait(), clang::Sema::FindCompositePointerType(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), GenOpenCLArgMetadata(), clang::QualType::getBaseTypeIdentifier(), clang::CodeGen::CodeGenModule::GetConstantArrayFromStringLiteral(), getCoreType(), clang::CXXDeleteExpr::getDestroyedType(), clang::UserDefinedLiteral::getLiteralOperatorKind(), getObjCBridgeAttr(), clang::ASTContext::getObjCGCAttrKind(), getOpenCLKernelParameterType(), getScalarZeroExpressionForType(), clang::CXXUuidofExpr::GetUuidAttrOfType(), handleArgumentWithTypeTagAttr(), handleFormatArgAttr(), handleFormatAttr(), clang::Sema::HandleFunctionTypeMismatch(), handleObjCGCTypeAttr(), handleObjCOwnershipTypeAttr(), handleObjCReturnsInnerPointerAttr(), clang::threadSafety::hasCppPointerType(), clang::Expr::IgnoreParenNoopCasts(), clang::ExtVectorElementExpr::isArrow(), isAutoCastType(), isConsumableType(), isIntegerLikeType(), isLibstdcxxPointerReturnFalseHack(), clang::Expr::isOBJCGCCandidate(), clang::Sema::isObjCPointerConversion(), clang::Sema::IsPointerConversion(), isPointerOrRef(), isValidSubjectOfCFAttribute(), IsVoidStarType(), clang::analyze_format_string::ArgType::matchesType(), clang::Sema::MergeTypedefNameDecl(), objectifyExpr(), clang::ento::ConditionBRVisitor::patternMatch(), clang::InitializationSequence::Perform(), clang::Sema::PrepareCastToObjCObjectPointer(), ResolveOverloadForDeduction(), setObjCGCLValueClass(), TryConstCast(), TypeIsInnerPointer(), clang::ento::ConditionBRVisitor::VisitConditionVariable(), and clang::ento::ConditionBRVisitor::VisitTrueTest().
bool Type::isPromotableIntegerType | ( | ) | const |
More type predicates useful for type checking/promotion.
Definition at line 1309 of file Type.cpp.
References isDependentType().
Referenced by clang::Sema::ActOnEnumBody(), clang::Sema::BuildVAArgExpr(), clang::Sema::CheckAdditionOperands(), clang::ASTContext::getPromotedIntegerType(), clang::Sema::IsIntegralPromotion(), clang::analyze_format_string::ArgType::matchesType(), clang::ASTContext::mergeFunctionTypes(), clang::Sema::UsualArithmeticConversions(), and clang::Sema::UsualUnaryConversions().
bool Type::isRealFloatingType | ( | ) | const |
Floating point categories.
Definition at line 810 of file Type.cpp.
Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::Sema::BuildExtVectorType(), DiagnoseBadFunctionCast(), emitReplacement(), Evaluate(), EvaluateFloat(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), getAbsoluteValueKind(), clang::ASTContext::getFloatingTypeOfSizeWithinDomain(), clang::StandardConversionSequence::getNarrowingKind(), getScalarZeroExpressionForType(), handleFloatConversion(), handleIntegerToComplexFloatConversion(), HandleVectorSizeAttr(), isIntegerLikeType(), IsStandardConversion(), clang::Sema::PerformImplicitConversion(), TryStaticCast(), tryVectorConvertAndSplat(), and clang::Sema::UsualArithmeticConversions().
bool Type::isRealType | ( | ) | const |
Definition at line 816 of file Type.cpp.
Referenced by breakDownVectorType(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckVectorOperands(), EvaluateBuiltinClassifyType(), and rewriteToObjCProperty().
bool clang::Type::isRecordType | ( | ) | const [inline] |
Definition at line 4952 of file Type.h.
Referenced by clang::Sema::ActOnArraySubscriptExpr(), clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnCallExpr(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnPropertyImplDecl(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildBaseInitializer(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToObjectOfClassType(), BuildImplicitMemberInitializer(), clang::Sema::BuildMemberPointerType(), buildMemcpyForAssignmentOp(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::BuildVAArgExpr(), clang::ento::SymbolManager::canSymbolicate(), clang::Sema::CheckBaseSpecifier(), clang::Sema::CheckExceptionSpecSubset(), clang::Sema::CheckMemberPointerConversion(), CheckObjCCollectionLiteralElement(), CheckOriginalCallArgDeduction(), clang::Sema::CheckPointerConversion(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::checkVariadicArgument(), ClassifyTemporary(), classifyTypeForARCConversion(), clang::Sema::CollectIvarsToConstructOrDestruct(), clang::CXXBindTemporaryExpr::Create(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), clang::InitializationSequence::Diagnose(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenModule::EmitConstantInit(), clang::CodeGen::CodeGenFunction::EmitDynamicCast(), Evaluate(), EvaluateInPlace(), EvaluateRecord(), EvaluateTemporary(), FastEvaluateAsRValue(), clang::Sema::FindAllocationFunctions(), FindConversionForRefInit(), findSubobject(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicGetterCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicSetterCopyHelperFunction(), clang::QualType::getBaseTypeIdentifier(), clang::ASTContext::getByrefLifetime(), GetFullTypeForDeclarator(), clang::QualType::getNonLValueExprType(), getOpenCLKernelParameterType(), clang::Sema::getTypeName(), InitCatchParam(), clang::InitializationSequence::InitializeFrom(), IsAcceptableNonMemberOperatorCandidate(), clang::Sema::IsBlockPointerConversion(), isCARCBridgableType(), clang::Expr::isConstantInitializer(), clang::Sema::isCopyElisionCandidate(), clang::CodeGen::CodeGenModule::isInSanitizerBlacklist(), isObjCReceiverType(), clang::Sema::IsPointerConversion(), isRecordType(), IsStandardConversion(), LookupMemberExpr(), clang::Sema::PerformObjectMemberConversion(), clang::TreeTransform< Derived >::RebuildMemberExpr(), ResolveOverloadedFunctionForReferenceBinding(), setObjCGCLValueClass(), clang::Expr::skipRValueSubobjectAdjustments(), clang::TreeTransform< Derived >::TransformNestedNameSpecifierLoc(), TryConstCast(), tryDiagnoseOverloadedCast(), TryListConversion(), TryListInitialization(), TryObjectArgumentInitialization(), TryReferenceInit(), TryReferenceInitializationCore(), TryStaticImplicitCast(), TryUserDefinedConversion(), clang::ento::ExprEngine::VisitDeclStmt(), clang::ento::ExprEngine::VisitInitListExpr(), and warnAboutAmbiguousFunction().
bool clang::Type::isReferenceType | ( | ) | const [inline] |
Definition at line 4904 of file Type.h.
Referenced by clang::Sema::ActOnIvar(), clang::Sema::ActOnOpenMPLinearClause(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::AddAlignValueAttr(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildArrayType(), clang::Sema::BuildAtomicType(), BuildImplicitMemberInitializer(), clang::Sema::buildInitCaptureField(), clang::Sema::BuildMemberPointerType(), clang::Sema::BuildPointerType(), clang::Sema::BuildQualifiedType(), clang::canDynamicCastThrow(), captureInBlock(), captureInLambda(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckAllocatedType(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompleteVariableDeclaration(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::CheckFieldDecl(), CheckForDanglingReferenceOrPointer(), CheckForReference(), CheckLValueConstantExpression(), clang::Sema::CheckNonTypeTemplateParameterType(), CheckReturnStackAddr(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::threadSafety::ClassifyDiagnostic(), clang::Sema::CompareReferenceRelationship(), createObjCPropertyGetter(), clang::Sema::DeduceTemplateArguments(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), clang::InitializationSequence::Diagnose(), diagnoseListInit(), DiagnoseUninitializedReference(), DoMarkVarDeclReferenced(), clang::CodeGen::CodeGenFunction::EmitBlockLiteral(), clang::CodeGen::CodeGenFunction::EmitCallArg(), clang::CodeGen::CodeGenFunction::EmitCallExprLValue(), clang::CodeGen::CodeGenModule::EmitConstantExpr(), clang::CodeGen::CodeGenModule::EmitConstantInit(), clang::CodeGen::CodeGenFunction::EmitCXXGlobalVarDeclInit(), EmitDeclInit(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), clang::CodeGen::CodeGenFunction::EmitExprAsInit(), EmitGlobalVarDeclLValue(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExprLValue(), clang::CodeGen::CodeGenFunction::EmitReturnStmt(), clang::ento::SValBuilder::evalCast(), clang::Expr::EvaluateAsInitializer(), EvaluateBuiltinClassifyType(), EvaluateUnaryTypeTrait(), EvalVal(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::GetAddrOfBlockDecl(), clang::QualType::getBaseTypeIdentifier(), getCoreType(), GetNumNonZeroBytesInInit(), clang::CXXUuidofExpr::GetUuidAttrOfType(), handleObjCReturnsInnerPointerAttr(), clang::Expr::HasSideEffects(), clang::InitializationSequence::InitializeFrom(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), isAutoCastType(), isCallbackArg(), isConstantEmittableObjectType(), clang::Expr::isConstantInitializer(), isConsumableType(), isLiteralType(), clang::ento::Loc::isLocType(), isPointerOrRef(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::CodeGen::CodeGenModule::isTypeConstant(), clang::Expr::isUnusedResultAWarning(), clang::Sema::isValidPointerAttrType(), clang::InitializationSequence::Perform(), clang::Sema::PerformImplicitConversion(), PerformReturnAdjustment(), clang::APValue::printPretty(), clang::ReferenceType::ReferenceType(), clang::Expr::setType(), TryCopyInitialization(), TryListConversion(), TryListInitialization(), TryReferenceInit(), TryRefInitWithConversionFunction(), TryStaticImplicitCast(), TryUserDefinedConversion(), clang::FunctionCallFilterCCC::ValidateCandidate(), clang::threadSafety::BuildLockset::VisitCallExpr(), clang::ento::ExprEngine::VisitCast(), clang::ento::ExprEngine::VisitDeclStmt(), clang::ento::ExprEngine::VisitMemberExpr(), clang::ento::UndefOrNullArgVisitor::VisitNode(), clang::consumed::ConsumedStmtVisitor::VisitParmVarDecl(), and warnAboutAmbiguousFunction().
bool clang::Type::isRValueReferenceType | ( | ) | const [inline] |
Definition at line 4910 of file Type.h.
Referenced by clang::Sema::AddConversionCandidate(), AdjustFunctionParmAndArgTypesForDeduction(), clang::Sema::BuildExceptionDeclaration(), EvaluateUnaryTypeTrait(), FindConversionForRefInit(), clang::CXXConstructorDecl::isMoveConstructor(), isRValueRef(), RefersToRValueRef(), TryListConversion(), TryReferenceInit(), TryReferenceListInitialization(), and TryStaticReferenceDowncast().
bool clang::Type::isSamplerT | ( | ) | const [inline] |
Definition at line 5034 of file Type.h.
Referenced by clang::Sema::ActOnVariableDeclarator(), clang::Sema::CheckVariableDeclarationType(), clang::InitializationSequence::Perform(), and TryOCLSamplerInitialization().
bool clang::Type::isScalarType | ( | ) | const [inline] |
Definition at line 5124 of file Type.h.
References clang::IsEnumDeclComplete().
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnOpenMPAtomicDirective(), breakDownVectorType(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::CheckBooleanCondition(), checkCondition(), checkConditionalConvertScalarsToVectors(), clang::Sema::CheckLogicalOperands(), clang::Sema::CreateBuiltinUnaryOp(), EvaluateUnaryTypeTrait(), clang::Sema::getFixItZeroInitializerForType(), getScalarTypeKind(), getScalarZeroExpressionForType(), hasIsEqualMethod(), clang::QualType::isCXX11PODType(), isLiteralType(), isStandardLayoutType(), isTrackedVar(), clang::QualType::isTriviallyCopyableType(), clang::QualType::isTrivialType(), matchTypes(), TryListInitialization(), and clang::ento::ConditionBRVisitor::VisitTrueTest().
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 733 of file Type.cpp.
Referenced by clang::Sema::ActOnEnumBody(), clang::Sema::ActOnFinishSwitchStmt(), CheckICE(), clang::Sema::CheckTemplateArgument(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::Sema::DiagnoseAssignmentEnum(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitBoundsCheck(), EmitCXXNewAllocSize(), emitPointerArithmetic(), clang::ento::BasicValueFactory::getAPSIntType(), clang::StandardConversionSequence::getNarrowingKind(), getNextLargerIntegralType(), HandleFloatToIntCast(), hasSignedIntegerRepresentation(), isRepresentableIntegerValue(), clang::CodeGen::CGBitFieldInfo::MakeInfo(), and clang::ASTContext::MakeIntValue().
bool Type::isSignedIntegerType | ( | ) | const |
isSignedIntegerType - 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 717 of file Type.cpp.
Referenced by clang::Sema::CheckCompatibleReinterpretCast(), clang::CodeGen::CodeGenFunction::EmitCheckTypeDescriptor(), EvaluateUnaryTypeTrait(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), clang::ASTContext::getPromotedIntegerType(), handleModeAttr(), clang::Sema::IsIntegralPromotion(), isOverflowingIntegerType(), clang::ASTContext::isPromotableBitField(), rewriteToNumericBoxedExpression(), and clang::ento::ExprEngine::VisitOffsetOfExpr().
bool clang::Type::isSpecificBuiltinType | ( | unsigned | K | ) | const [inline] |
isSpecificBuiltinType - Test for a particular builtin type.
Definition at line 5056 of file Type.h.
Referenced by clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildVAArgExpr(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::OverloadExpr::find(), clang::ASTContext::getPreferredTypeAlign(), isCharType(), and LookupMemberExpr().
bool clang::Type::isSpecificPlaceholderType | ( | unsigned | K | ) | const [inline] |
isSpecificPlaceholderType - Test for a specific placeholder type.
Definition at line 5076 of file Type.h.
References clang::BuiltinType::isPlaceholderTypeKind().
Referenced by clang::CallExpr::getCallReturnType(), and clang::ObjCPropertyRefExpr::ObjCPropertyRefExpr().
bool Type::isSpecifierType | ( | ) | const |
isSpecifierType - Returns true if this type can be represented by some set of type specifiers.
Definition at line 1341 of file Type.cpp.
References getTypeClass(), and Record.
Referenced by GetBaseType().
bool Type::isStandardLayoutType | ( | ) | const |
Test if this type is a standard-layout type. (C++0x [basic.type]p9)
Definition at line 1210 of file Type.cpp.
References getAs(), getBaseElementTypeUnsafe(), isDependentType(), isIncompleteType(), isScalarType(), and isVectorType().
Referenced by EvaluateUnaryTypeTrait().
bool Type::isStructureOrClassType | ( | ) | const |
Definition at line 380 of file Type.cpp.
References clang::TagDecl::isClass(), clang::TagDecl::isInterface(), and clang::TagDecl::isStruct().
Referenced by clang::Sema::CheckCompleteVariableDeclaration(), and EvaluateBuiltinClassifyType().
bool Type::isStructureType | ( | ) | const |
Definition at line 370 of file Type.cpp.
Referenced by EvaluateUnaryTypeTrait(), and clang::Sema::MergeTypedefNameDecl().
bool clang::Type::isTemplateTypeParmType | ( | ) | const [inline] |
bool clang::Type::isUndeducedType | ( | ) | const [inline] |
Determine whether this type is an undeduced type, meaning that it somehow involves a C++11 'auto' type which has not yet been deduced.
Definition at line 5158 of file Type.h.
References clang::AutoType::isDeduced().
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildArrayType(), clang::Sema::BuildCXXNew(), clang::Sema::BuildVariableInstantiation(), clang::Sema::canDelayFunctionBody(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::deduceClosureReturnType(), clang::Sema::DeduceReturnType(), clang::Sema::DeduceTemplateArguments(), GetTypeOfFunction(), handleObjCOwnershipTypeAttr(), hasDeducedReturnType(), clang::Sema::MergeVarDeclTypes(), and SpecializeCorrespondingLambdaCallOperatorAndInvoker().
bool Type::isUnionType | ( | ) | const |
Definition at line 393 of file Type.cpp.
Referenced by appendRecordType(), clang::ento::SymbolManager::canSymbolicate(), clang::Sema::CheckBaseSpecifier(), CheckConstexprCtorInitializer(), checkIsValidOpenCLKernelParameter(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), EvaluateBuiltinClassifyType(), EvaluateUnaryTypeTrait(), and handleTransparentUnionAttr().
bool Type::isUnsignedIntegerOrEnumerationType | ( | ) | const |
Determines whether this is an integer type that is unsigned or an enumeration types whose underlying type is a unsigned integer type.
Definition at line 773 of file Type.cpp.
Referenced by clang::Sema::CheckTemplateArgument(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), HandleIntToIntCast(), hasUnsignedIntegerRepresentation(), and clang::ento::SValBuilder::makeIntVal().
bool Type::isUnsignedIntegerType | ( | ) | const |
isUnsignedIntegerType - 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 757 of file Type.cpp.
Referenced by clang::Sema::ActOnStringLiteral(), clang::Sema::CheckCompatibleReinterpretCast(), EvaluateUnaryTypeTrait(), expandStringLiteral(), extractStringLiteralCharacter(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), clang::ASTContext::getIntegerTypeOrder(), clang::ASTContext::getPromotedIntegerType(), and clang::Sema::IsIntegralPromotion().
bool clang::Type::isVariableArrayType | ( | ) | const [inline] |
Definition at line 4943 of file Type.h.
Referenced by clang::Sema::BuildArrayType(), clang::Sema::BuildCompoundLiteralExpr(), CheckICE(), clang::Sema::CheckTypedefForVariablyModifiedType(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), clang::CodeGen::CodeGenFunction::EmitCallArgs(), clang::ento::SValBuilder::evalCast(), isConstantSizeArrayWithMoreThanOneElement(), isLiteralType(), isSimpleArrayDecayOperand(), clang::Sema::RequireLiteralType(), and clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr().
bool clang::Type::isVariablyModifiedType | ( | ) | const [inline] |
Whether this type is a variably-modified type (C99 6.7.5).
Definition at line 1633 of file Type.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnIvar(), clang::Sema::BuildArrayType(), clang::Sema::CheckAllocatedType(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTypedefForVariablyModifiedType(), clang::Sema::CheckVariableDeclarationType(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::EmitCompoundLiteralLValue(), clang::CodeGen::CodeGenFunction::EmitStaticVarDecl(), clang::CodeGen::CodeGenFunction::EmitVariablyModifiedType(), clang::ASTContext::getVariableArrayDecayedType(), clang::Sema::HandleExprEvaluationContextForTypeof(), hasSizedVLAType(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::QualType::isCanonicalAsParam(), clang::Sema::isIncompatibleTypedef(), isVariableCapturable(), NeedsInstantiationAsFunctionType(), clang::CodeGen::CodeGenFunction::StartFunction(), clang::Sema::SubstType(), clang::Sema::tryCaptureVariable(), and TryToFixInvalidVariablyModifiedType().
bool clang::Type::isVectorType | ( | ) | const [inline] |
Definition at line 4961 of file Type.h.
Referenced by clang::Sema::ActOnCastExpr(), clang::ASTContext::areCompatibleVectorTypes(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildVectorLiteral(), clang::Sema::CheckAdditionOperands(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckBitwiseOperands(), clang::Sema::CheckCompareOperands(), checkCondition(), clang::Sema::CheckConditionalOperands(), clang::Sema::CheckLogicalOperands(), clang::Sema::CheckMultiplyDivideOperands(), clang::Sema::CheckRemainderOperands(), clang::Sema::CheckShiftOperands(), clang::Sema::CheckSubtractionOperands(), CheckVecStepTraitOperandType(), clang::Sema::CheckVectorCast(), ConvertTypeToDiagnosticString(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CXXCheckConditionalOperands(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), Evaluate(), EvaluateVector(), handleTransparentUnionAttr(), clang::QualType::isCXX11PODType(), clang::ABIInfo::isHomogeneousAggregate(), isIntegerLikeType(), clang::Sema::isLaxVectorConversion(), isLiteralType(), clang::Sema::IsPointerConversion(), isStandardLayoutType(), isTrackedVar(), clang::QualType::isTriviallyCopyableType(), clang::QualType::isTrivialType(), IsVectorConversion(), clang::Expr::refersToVectorElement(), clang::Sema::SemaBuiltinShuffleVector(), clang::Sema::SemaConvertVectorExpr(), TryReinterpretCast(), and clang::ento::ExprEngine::VisitInitListExpr().
bool clang::Type::isVisibilityExplicit | ( | ) | const [inline] |
bool Type::isVoidPointerType | ( | ) | const |
Definition at line 387 of file Type.cpp.
Referenced by clang::Sema::CheckAssignmentConstraints(), checkConditionalBlockPointerCompatibility(), checkIntToPointerCast(), clang::Sema::CheckSubscriptingKind(), clang::Sema::FindCompositeObjCPointerType(), getExistingLazyBinding(), clang::Sema::MergeTypedefNameDecl(), and clang::ASTContext::ObjCQualifiedIdTypesAreCompatible().
bool clang::Type::isVoidType | ( | ) | const [inline] |
Definition at line 5089 of file Type.h.
Referenced by clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCastExpr(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnObjCAtSynchronizedOperand(), clang::Sema::ActOnStartOfFunctionDef(), AddObjCKeyValueCompletions(), AddOrdinaryNameResults(), clang::Sema::BuildArrayType(), clang::Sema::BuildClassMessage(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildFunctionType(), clang::Sema::BuildInstanceMessage(), clang::Sema::buildLambdaScope(), clang::Sema::BuildMemberPointerType(), clang::Sema::BuildObjCAtThrowStmt(), clang::Sema::BuildObjCEncodeExpression(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildReferenceType(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildReturnStmt(), checkArithmeticBinOpPointerOperands(), checkArithmeticOpPointerOperand(), clang::Sema::CheckCallReturnType(), CheckCommaOperands(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompatibleReinterpretCast(), checkConditionalObjectPointersCompatibility(), clang::Sema::CheckConditionalOperands(), checkConditionalVoidType(), clang::Sema::CheckConstexprFunctionBody(), clang::Sema::CheckCXXThrowOperand(), CheckExtensionTraitOperandType(), clang::Sema::CheckFunctionDeclaration(), CheckIndirectionOperand(), clang::comments::Sema::checkReturnsCommand(), clang::Sema::CheckSpecifiedExceptionType(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTransparentUnionArgumentConstraints(), CheckUnaryTypeTraitTypeCompleteness(), clang::Sema::CheckVariableDeclarationType(), CheckVecStepTraitOperandType(), ClassifyConditional(), classifyTypeForARCConversion(), clang::Sema::CodeCompleteObjCMethodDecl(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DefaultLvalueConversion(), DiagnoseBadFunctionCast(), DiagnoseCastOfObjCSEL(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitDynamicCast(), emitPointerArithmetic(), clang::CodeGen::CodeGenFunction::EmitReturnStmt(), EvalAddr(), clang::ento::StoreManager::evalDynamicCast(), Evaluate(), EvaluateBinaryTypeTrait(), EvaluateBuiltinClassifyType(), EvaluateLValue(), evaluateTypeTrait(), EvaluateUnaryTypeTrait(), EvaluateVoid(), EvalVal(), FinishForRangeVarDecl(), FormatFunctionParameter(), clang::CodeGen::CodeGenFunction::GenerateCode(), clang::CodeGen::CodeGenFunction::GetUndefRValue(), HandleFunctionCall(), handleGlobalAttr(), HandleSizeof(), handleWarnUnusedResult(), clang::Sema::IgnoredValueConversions(), clang::CXXDynamicCastExpr::isAlwaysNull(), isCARCBridgableType(), isDispatchBlock(), isIncompleteType(), isLiteralType(), clang::Expr::isNullPointerConstant(), clang::Sema::IsPointerConversion(), clang::StandardConversionSequence::isPointerConversionToVoidPointer(), clang::ento::cocoa::isRefType(), clang::Expr::isUnusedResultAWarning(), clang::Sema::isValidVarArgType(), IsVoidStarType(), clang::analyze_format_string::ArgType::matchesType(), clang::consumed::ConsumedAnalyzer::run(), shouldBeModeledWithNoOp(), clang::CodeGen::CodeGenFunction::StartFunction(), clang::Sema::SubstParmVarDecl(), TryStaticCast(), and warnAboutAmbiguousFunction().
bool Type::isWideCharType | ( | ) | const |
Definition at line 676 of file Type.cpp.
Referenced by clang::Sema::BuildExpressionFromIntegralTemplateArgument(), clang::analyze_printf::PrintfSpecifier::fixType(), clang::analyze_scanf::ScanfSpecifier::fixType(), and getScalarZeroExpressionForType().
void clang::Type::setContainsUnexpandedParameterPack | ( | bool | PP = true | ) | [inline, protected] |
void clang::Type::setDependent | ( | bool | D = true | ) | [inline, protected] |
void clang::Type::setInstantiationDependent | ( | bool | D = true | ) | [inline, protected] |
void clang::Type::setVariablyModified | ( | bool | VM = true | ) | [inline, protected] |
Type* clang::Type::this_ | ( | ) | [inline, protected] |
friend class ASTContext [friend] |
Reimplemented in clang::AtomicType, clang::ObjCObjectPointerType, clang::ObjCInterfaceType, clang::ObjCObjectTypeImpl, clang::PackExpansionType, clang::DependentTemplateSpecializationType, clang::DependentNameType, clang::ElaboratedType, clang::InjectedClassNameType, clang::TemplateSpecializationType, clang::AutoType, clang::SubstTemplateTypeParmPackType, clang::SubstTemplateTypeParmType, clang::TemplateTypeParmType, clang::AttributedType, clang::EnumType, clang::RecordType, clang::UnaryTransformType, clang::DecltypeType, clang::TypeOfType, clang::TypeOfExprType, clang::TypedefType, clang::UnresolvedUsingType, clang::FunctionProtoType, clang::FunctionNoProtoType, clang::ExtVectorType, clang::VectorType, clang::DependentSizedExtVectorType, clang::DependentSizedArrayType, clang::VariableArrayType, clang::IncompleteArrayType, clang::ConstantArrayType, clang::ArrayType, clang::MemberPointerType, clang::RValueReferenceType, clang::LValueReferenceType, clang::BlockPointerType, clang::DecayedType, clang::AdjustedType, clang::PointerType, clang::ParenType, and clang::ComplexType.
friend class ASTReader [friend] |
Reimplemented in clang::ObjCInterfaceType, clang::InjectedClassNameType, and clang::TagType.
friend class TypePropertyCache [friend] |
union { ... } [protected] |
Definition at line 1352 of file Type.h.
Referenced by clang::ObjCObjectType::ObjCObjectType().
TypeBitfields clang::Type::TypeBits |
Definition at line 1346 of file Type.h.
Referenced by clang::TypePropertyCache< Private >::ensure(), getLinkage(), getTypeClassName(), hasUnnamedOrLocalType(), and isLinkageValid().
Definition at line 1355 of file Type.h.
Referenced by clang::VectorType::VectorType().