clang API Documentation
#include <Type.h>
Classes | |
class | StreamedQualTypeHelper |
Public Types | |
enum | DestructionKind { DK_none, DK_cxx_destructor, DK_objc_strong_lifetime, DK_objc_weak_lifetime } |
Public Member Functions | |
QualType () | |
QualType (const Type *Ptr, unsigned Quals) | |
QualType (const ExtQuals *Ptr, unsigned Quals) | |
unsigned | getLocalFastQualifiers () const |
void | setLocalFastQualifiers (unsigned Quals) |
const Type * | getTypePtr () const |
const Type * | getTypePtrOrNull () const |
const IdentifierInfo * | getBaseTypeIdentifier () const |
Retrieves a pointer to the name of the base type. | |
SplitQualType | split () const |
void * | getAsOpaquePtr () const |
const Type & | operator* () const |
const Type * | operator-> () const |
bool | isCanonical () const |
bool | isCanonicalAsParam () const |
bool | isNull () const |
isNull - Return true if this QualType doesn't point to a type yet. | |
bool | isLocalConstQualified () const |
Determine whether this particular QualType instance has the "const" qualifier set, without looking through typedefs that may have added "const" at a different level. | |
bool | isConstQualified () const |
Determine whether this type is const-qualified. | |
bool | isLocalRestrictQualified () const |
Determine whether this particular QualType instance has the "restrict" qualifier set, without looking through typedefs that may have added "restrict" at a different level. | |
bool | isRestrictQualified () const |
Determine whether this type is restrict-qualified. | |
bool | isLocalVolatileQualified () const |
Determine whether this particular QualType instance has the "volatile" qualifier set, without looking through typedefs that may have added "volatile" at a different level. | |
bool | isVolatileQualified () const |
Determine whether this type is volatile-qualified. | |
bool | hasLocalQualifiers () const |
Determine whether this particular QualType instance has any qualifiers, without looking through any typedefs that might add qualifiers at a different level. | |
bool | hasQualifiers () const |
Determine whether this type has any qualifiers. | |
bool | hasLocalNonFastQualifiers () const |
Determine whether this particular QualType instance has any "non-fast" qualifiers, e.g., those that are stored in an ExtQualType instance. | |
Qualifiers | getLocalQualifiers () const |
Retrieve the set of qualifiers local to this particular QualType instance, not including any qualifiers acquired through typedefs or other sugar. | |
Qualifiers | getQualifiers () const |
Retrieve the set of qualifiers applied to this type. | |
unsigned | getLocalCVRQualifiers () const |
Retrieve the set of CVR (const-volatile-restrict) qualifiers local to this particular QualType instance, not including any qualifiers acquired through typedefs or other sugar. | |
unsigned | getCVRQualifiers () const |
Retrieve the set of CVR (const-volatile-restrict) qualifiers applied to this type. | |
bool | isConstant (ASTContext &Ctx) const |
bool | isPODType (ASTContext &Context) const |
Determine whether this is a Plain Old Data (POD) type (C++ 3.9p10). | |
bool | isCXX98PODType (ASTContext &Context) const |
bool | isCXX11PODType (ASTContext &Context) const |
bool | isTrivialType (ASTContext &Context) const |
bool | isTriviallyCopyableType (ASTContext &Context) const |
void | addConst () |
addConst - add the specified type qualifier to this QualType. | |
QualType | withConst () const |
void | addVolatile () |
addVolatile - add the specified type qualifier to this QualType. | |
QualType | withVolatile () const |
void | addRestrict () |
Add the restrict qualifier to this QualType. | |
QualType | withRestrict () const |
QualType | withCVRQualifiers (unsigned CVR) const |
void | addFastQualifiers (unsigned TQs) |
void | removeLocalConst () |
void | removeLocalVolatile () |
void | removeLocalRestrict () |
void | removeLocalCVRQualifiers (unsigned Mask) |
void | removeLocalFastQualifiers () |
void | removeLocalFastQualifiers (unsigned Mask) |
QualType | withFastQualifiers (unsigned TQs) const |
QualType | withExactLocalFastQualifiers (unsigned TQs) const |
QualType | withoutLocalFastQualifiers () const |
QualType | getCanonicalType () const |
QualType | getLocalUnqualifiedType () const |
Return this type with all of the instance-specific qualifiers removed, but without removing any qualifiers that may have been applied through typedefs. | |
QualType | getUnqualifiedType () const |
Retrieve the unqualified variant of the given type, removing as little sugar as possible. | |
SplitQualType | getSplitUnqualifiedType () const |
bool | isMoreQualifiedThan (QualType Other) const |
Determine whether this type is more qualified than the other given type, requiring exact equality for non-CVR qualifiers. | |
bool | isAtLeastAsQualifiedAs (QualType Other) const |
Determine whether this type is at least as qualified as the other given type, requiring exact equality for non-CVR qualifiers. | |
QualType | getNonReferenceType () const |
QualType | getNonLValueExprType (const ASTContext &Context) const |
Determine the type of a (typically non-lvalue) expression with the specified result type. | |
QualType | getDesugaredType (const ASTContext &Context) const |
SplitQualType | getSplitDesugaredType () const |
QualType | getSingleStepDesugaredType (const ASTContext &Context) const |
Return the specified type with one level of "sugar" removed from the type. | |
QualType | IgnoreParens () const |
std::string | getAsString () const |
std::string | getAsString (const PrintingPolicy &Policy) const |
void | print (raw_ostream &OS, const PrintingPolicy &Policy, const Twine &PlaceHolder=Twine()) const |
void | getAsStringInternal (std::string &Str, const PrintingPolicy &Policy) const |
StreamedQualTypeHelper | stream (const PrintingPolicy &Policy, const Twine &PlaceHolder=Twine()) const |
void | dump (const char *s) const |
void | dump () const |
void | Profile (llvm::FoldingSetNodeID &ID) const |
unsigned | getAddressSpace () const |
getAddressSpace - Return the address space of this type. | |
Qualifiers::GC | getObjCGCAttr () const |
getObjCGCAttr - Returns gc attribute of this type. | |
bool | isObjCGCWeak () const |
isObjCGCWeak true when Type is objc's weak. | |
bool | isObjCGCStrong () const |
isObjCGCStrong true when Type is objc's strong. | |
Qualifiers::ObjCLifetime | getObjCLifetime () const |
getObjCLifetime - Returns lifetime attribute of this type. | |
bool | hasNonTrivialObjCLifetime () const |
bool | hasStrongOrWeakObjCLifetime () const |
DestructionKind | isDestructedType () const |
bool | isCForbiddenLValueType () const |
Determine whether expressions of the given type are forbidden from being lvalues in C. | |
Static Public Member Functions | |
static QualType | getFromOpaquePtr (const void *Ptr) |
static std::string | getAsString (SplitQualType split) |
static std::string | getAsString (const Type *ty, Qualifiers qs) |
static void | print (SplitQualType split, raw_ostream &OS, const PrintingPolicy &policy, const Twine &PlaceHolder) |
static void | print (const Type *ty, Qualifiers qs, raw_ostream &OS, const PrintingPolicy &policy, const Twine &PlaceHolder) |
static void | getAsStringInternal (SplitQualType split, std::string &out, const PrintingPolicy &policy) |
static void | getAsStringInternal (const Type *ty, Qualifiers qs, std::string &out, const PrintingPolicy &policy) |
Friends | |
class | QualifierCollector |
bool | operator== (const QualType &LHS, const QualType &RHS) |
bool | operator!= (const QualType &LHS, const QualType &RHS) |
QualType - For efficiency, we don't store CV-qualified types as nodes on their own: instead each reference to a type stores the qualifiers. This greatly reduces the number of nodes we need to allocate for types (for example we only need one for 'int', 'const int', 'volatile int', 'const volatile int', etc).
As an added efficiency bonus, instead of making this a pair, we just store the two bits we care about in the low bits of the pointer. To handle the packing/unpacking, we make QualType be a simple wrapper class that acts like a smart pointer. A third bit indicates whether there are extended qualifiers present, in which case the pointer points to a special structure.
clang::QualType::QualType | ( | ) | [inline] |
clang::QualType::QualType | ( | const Type * | Ptr, |
unsigned | Quals | ||
) | [inline] |
clang::QualType::QualType | ( | const ExtQuals * | Ptr, |
unsigned | Quals | ||
) | [inline] |
void clang::QualType::addConst | ( | ) | [inline] |
addConst - add the specified type qualifier to this QualType.
Definition at line 699 of file Type.h.
References clang::Qualifiers::addFastQualifiers(), and clang::Qualifiers::Const.
Referenced by clang::Sema::ActOnStringLiteral(), clang::Sema::BuildObjCEncodeExpression(), captureInLambda(), checkTrivialSubobjectCall(), findSubobject(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicGetterCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicSetterCopyHelperFunction(), GetFullTypeForDeclarator(), isVariableAlreadyCapturedInScopeInfo(), and clang::Sema::LookupSpecialMember().
void clang::QualType::addFastQualifiers | ( | unsigned | TQs | ) | [inline] |
Definition at line 726 of file Type.h.
References clang::Qualifiers::FastMask.
Referenced by withFastQualifiers().
void clang::QualType::addRestrict | ( | ) | [inline] |
Add the restrict qualifier to this QualType.
Definition at line 715 of file Type.h.
References clang::Qualifiers::addFastQualifiers(), and clang::Qualifiers::Restrict.
void clang::QualType::addVolatile | ( | ) | [inline] |
addVolatile - add the specified type qualifier to this QualType.
Definition at line 707 of file Type.h.
References clang::Qualifiers::addFastQualifiers(), and clang::Qualifiers::Volatile.
Referenced by clang::Sema::LookupSpecialMember().
void QualType::dump | ( | const char * | s | ) | const |
Definition at line 2196 of file ASTDumper.cpp.
References dump().
Referenced by clang::CanQual< ObjCObjectType >::dump(), clang::Type::dump(), and clang::arcmt::trans::MigrationContext::dumpGCAttrs().
LLVM_DUMP_METHOD void QualType::dump | ( | ) | const |
Definition at line 2202 of file ASTDumper.cpp.
unsigned clang::QualType::getAddressSpace | ( | ) | const [inline] |
getAddressSpace - Return the address space of this type.
Definition at line 4794 of file Type.h.
Referenced by clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::BuildObjCExceptionDecl(), clang::Sema::CheckAllocatedType(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckParameter(), clang::Sema::CheckVariableDeclarationType(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), GenOpenCLArgMetadata(), clang::ASTContext::getAddrSpaceQualType(), getOpenCLKernelParameterType(), clang::CodeGen::CodeGenModule::getOrCreateStaticVarDecl(), HandleAddressSpaceTypeAttribute(), and clang::Sema::PrepareScalarCast().
void* clang::QualType::getAsOpaquePtr | ( | ) | const [inline] |
Definition at line 580 of file Type.h.
Referenced by clang::CodeGen::CGDebugInfo::completeClassData(), clang::CodeGen::CGDebugInfo::completeTemplateDefinition(), clang::CodeGen::CGDebugInfo::completeType(), clang::DependentDiagnostic::Create(), clang::CodeGen::CodeGenFunction::EmitCheckTypeDescriptor(), clang::CanQual< ObjCObjectType >::getAsOpaquePtr(), llvm::PointerLikeTypeTraits< clang::QualType >::getAsVoidPointer(), clang::CanQual< T >::getFromOpaquePtr(), llvm::DenseMapInfo< clang::QualType >::getHashValue(), clang::serialization::UnsafeQualTypeDenseMapInfo::getHashValue(), clang::CodeGen::CGDebugInfo::getOrCreateInterfaceType(), clang::sema::DelayedDiagnostic::makeForbiddenType(), clang::QualTypeOrdering::operator()(), clang::operator<<(), clang::ComplexType::Profile(), clang::PointerType::Profile(), clang::AdjustedType::Profile(), clang::BlockPointerType::Profile(), clang::ReferenceType::Profile(), clang::MemberPointerType::Profile(), clang::ConstantArrayType::Profile(), clang::IncompleteArrayType::Profile(), clang::DependentSizedArrayType::Profile(), clang::DependentSizedExtVectorType::Profile(), clang::VectorType::Profile(), clang::FunctionNoProtoType::Profile(), clang::AttributedType::Profile(), clang::SubstTemplateTypeParmType::Profile(), clang::AutoType::Profile(), clang::PackExpansionType::Profile(), clang::ObjCObjectTypeImpl::Profile(), clang::ObjCObjectPointerType::Profile(), clang::AtomicType::Profile(), clang::StandardConversionSequence::setAllToTypes(), clang::StandardConversionSequence::setFromType(), clang::AmbiguousConversionSequence::setFromType(), clang::BadConversionSequence::setFromType(), clang::TemplateArgument::setIntegralType(), clang::ObjCMessageExpr::setSuper(), clang::StandardConversionSequence::setToType(), clang::AmbiguousConversionSequence::setToType(), clang::BadConversionSequence::setToType(), clang::TemplateArgument::TemplateArgument(), TryReferenceInit(), and clang::InheritanceHierarchyWriter::WriteNodeReference().
std::string clang::QualType::getAsString | ( | ) | const [inline] |
Definition at line 863 of file Type.h.
References clang::Qualifiers::getAsString().
Referenced by addFixitForObjCARCConversion(), CompareReturnTypes(), ConvertTypeToDiagnosticString(), clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString(), DumpCXXRecordLayout(), dumpMicrosoftThunkAdjustment(), clang::ASTContext::DumpRecordLayout(), clang::ento::SymbolConjured::dumpToStream(), clang::ento::SymbolMetadata::dumpToStream(), clang::ento::SymbolCast::dumpToStream(), clang::ento::ElementRegion::dumpToStream(), clang::ento::CXXTempObjectRegion::dumpToStream(), GenOpenCLArgMetadata(), clang::CodeGen::CodeGenModule::isInSanitizerBlacklist(), isNullPointerValueTemplateArgument(), NoteBuiltinOperatorCandidate(), rewriteToObjCProperty(), TryStaticDowncast(), clang::CXXRecordDecl::viewInheritance(), clang::InheritanceHierarchyWriter::WriteGraph(), and clang::InheritanceHierarchyWriter::WriteNode().
static std::string clang::QualType::getAsString | ( | SplitQualType | split | ) | [inline, static] |
Definition at line 866 of file Type.h.
References clang::Qualifiers::getAsString(), clang::SplitQualType::Quals, and clang::SplitQualType::Ty.
std::string QualType::getAsString | ( | const Type * | ty, |
Qualifiers | qs | ||
) | [static] |
Definition at line 1538 of file TypePrinter.cpp.
std::string QualType::getAsString | ( | const PrintingPolicy & | Policy | ) | const |
Definition at line 1532 of file TypePrinter.cpp.
void clang::QualType::getAsStringInternal | ( | std::string & | Str, |
const PrintingPolicy & | Policy | ||
) | const [inline] |
Definition at line 885 of file Type.h.
Referenced by clang::PredefinedExpr::ComputeName(), clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString(), diagnoseNoViableConversion(), FormatFunctionParameter(), and GetCompletionTypeString().
static void clang::QualType::getAsStringInternal | ( | SplitQualType | split, |
std::string & | out, | ||
const PrintingPolicy & | policy | ||
) | [inline, static] |
Definition at line 889 of file Type.h.
References clang::SplitQualType::Quals, and clang::SplitQualType::Ty.
void QualType::getAsStringInternal | ( | const Type * | ty, |
Qualifiers | qs, | ||
std::string & | out, | ||
const PrintingPolicy & | policy | ||
) | [static] |
Definition at line 1554 of file TypePrinter.cpp.
const IdentifierInfo * QualType::getBaseTypeIdentifier | ( | ) | const |
Retrieves a pointer to the name of the base type.
Definition at line 46 of file Type.cpp.
References clang::Type::castAsArrayTypeUnsafe(), clang::Type::getAs(), getBaseTypeIdentifier(), clang::TypedefType::getDecl(), clang::RecordType::getDecl(), clang::EnumType::getDecl(), getElementType(), clang::NamedDecl::getIdentifier(), clang::Type::getPointeeType(), clang::Type::getTypeClass(), getTypePtr(), clang::Type::isArrayType(), clang::Type::isEnumeralType(), clang::Type::isPointerType(), clang::Type::isRecordType(), and clang::Type::isReferenceType().
Referenced by appendType(), getBaseTypeIdentifier(), hasSimilarParameters(), and clang::ento::ExprEngine::VisitCXXNewExpr().
QualType clang::QualType::getCanonicalType | ( | ) | const [inline] |
Definition at line 4718 of file Type.h.
References withFastQualifiers().
Referenced by clang::Sema::ActOnOpenMPAlignedClause(), clang::Sema::ActOnOpenMPLinearClause(), adjustReturnValue(), appendType(), clang::ento::SymbolManager::canSymbolicate(), clang::Sema::CheckExtVectorCast(), checkVarTypeForConstantEmission(), ConvertTypeToDiagnosticString(), DiagnoseBadConversion(), dumpMicrosoftThunkAdjustment(), clang::CodeGen::CodeGenFunction::EmitCXXMemberCallExpr(), clang::ento::SValBuilder::evalCast(), GenOpenCLArgMetadata(), clang::ASTContext::getAsArrayType(), clang::ASTContext::getCanonicalType(), getComplexType(), clang::CodeGen::CodeGenFunction::getEvaluationKind(), clang::CodeGen::CodeGenModule::isInSanitizerBlacklist(), clang::FunctionDecl::isReservedGlobalPlacementOperator(), isSafeToConvert(), isTriviallyCopyableType(), maybeEmitZeroInitializationFixit(), clang::Sema::MergeFunctionDecl(), and SuggestInitializationFixit().
unsigned clang::QualType::getCVRQualifiers | ( | ) | const [inline] |
Retrieve the set of CVR (const-volatile-restrict) qualifiers applied to this type.
Definition at line 4712 of file Type.h.
Referenced by clang::Sema::CheckPointerToMemberOperands(), CheckTemplateArgumentIsCompatibleWithParameter(), checkTrivialSubobjectCall(), CompareQualificationConversions(), clang::Sema::ComputeDefaultedCopyAssignmentExceptionSpec(), clang::Sema::ComputeDefaultedCopyCtorExceptionSpec(), clang::Sema::ComputeDefaultedMoveAssignmentExceptionSpec(), clang::Sema::ComputeDefaultedMoveCtorExceptionSpec(), clang::Sema::CXXCheckConditionalOperands(), DeduceTemplateArgumentsByTypeMatch(), defaultedSpecialMemberIsConstexpr(), diagnoseRedundantReturnTypeQualifiers(), clang::Sema::FindCompositePointerType(), GetFullTypeForDeclarator(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::Sema::SpecialMemberIsTrivial(), and TryObjectArgumentInitialization().
QualType clang::QualType::getDesugaredType | ( | const ASTContext & | Context | ) | const [inline] |
getDesugaredType - Return the specified type with any "sugar" removed from the type. This takes off typedefs, typeof's etc. If the outer level of the type is already concrete, it returns it unmodified. This is similar to getting the canonical type, but it doesn't remove *all* typedefs. For example, it returns "T*" as "T*", (not as "int*"), because the pointer is concrete.
Qualifiers are left in place.
Definition at line 830 of file Type.h.
Referenced by clang::ento::TypedRegion::getDesugaredLocationType(), and clang::ento::TypedValueRegion::getDesugaredValueType().
static QualType clang::QualType::getFromOpaquePtr | ( | const void * | Ptr | ) | [inline, static] |
Definition at line 581 of file Type.h.
Referenced by ConvertTypeToDiagnosticString(), clang::FormatASTNodeDiagnosticArgument(), clang::DependentDiagnostic::getAccessBaseObjectType(), clang::TemplateArgument::getAsType(), clang::serialization::UnsafeQualTypeDenseMapInfo::getEmptyKey(), clang::NonTypeTemplateParmDecl::getExpansionType(), clang::sema::DelayedDiagnostic::getForbiddenTypeOperand(), clang::CanQual< T >::getFromOpaquePtr(), clang::StandardConversionSequence::getFromType(), clang::AmbiguousConversionSequence::getFromType(), clang::BadConversionSequence::getFromType(), llvm::PointerLikeTypeTraits< clang::QualType >::getFromVoidPointer(), clang::TemplateArgument::getIntegralType(), clang::TemplateArgument::getNullPtrType(), clang::TemplateArgument::getParamTypeForDecl(), clang::ObjCMessageExpr::getSuperType(), clang::serialization::UnsafeQualTypeDenseMapInfo::getTombstoneKey(), clang::StandardConversionSequence::getToType(), clang::AmbiguousConversionSequence::getToType(), clang::BadConversionSequence::getToType(), clang::TypeLoc::getType(), and clang::TypeLoc::getTypePtr().
unsigned clang::QualType::getLocalCVRQualifiers | ( | ) | const [inline] |
Retrieve the set of CVR (const-volatile-restrict) qualifiers local to this particular QualType instance, not including any qualifiers acquired through typedefs or other sugar.
Definition at line 661 of file Type.h.
Referenced by clang::Sema::CheckOverridingFunctionReturnType(), diagnoseRedundantReturnTypeQualifiers(), and clang::CanQual< ObjCObjectType >::getCVRQualifiers().
unsigned clang::QualType::getLocalFastQualifiers | ( | ) | const [inline] |
Definition at line 562 of file Type.h.
Referenced by clang::serialization::UnsafeQualTypeDenseMapInfo::getHashValue(), clang::ASTWriter::GetOrCreateTypeIdx(), clang::ASTWriter::getTypeIdx(), clang::serialization::MakeTypeID(), and clang::QualifierCollector::strip().
Qualifiers clang::QualType::getLocalQualifiers | ( | ) | const [inline] |
Retrieve the set of qualifiers local to this particular QualType instance, not including any qualifiers acquired through typedefs or other sugar.
Definition at line 4698 of file Type.h.
References clang::Qualifiers::addFastQualifiers().
Referenced by clang::Sema::ActOnForEachDeclStmt(), BuildSimilarlyQualifiedPointerType(), GetCompletionTypeString(), clang::CanQual< ObjCObjectType >::getQualifiers(), HasExplicitOwnershipAttr(), clang::ASTImporter::Import(), isConstantEmittableObjectType(), IsStandardConversion(), clang::ASTContext::mergeObjCGCQualifiers(), clang::ASTContext::mergeTypes(), and UnwrapTypeForDebugInfo().
QualType clang::QualType::getLocalUnqualifiedType | ( | ) | const [inline] |
Return this type with all of the instance-specific qualifiers removed, but without removing any qualifiers that may have been applied through typedefs.
Definition at line 769 of file Type.h.
Referenced by clang::Sema::AttachBaseSpecifiers(), BuildSimilarlyQualifiedPointerType(), clang::ento::StoreManager::castRegion(), clang::Sema::CheckExceptionSpecSubset(), DiagnoseNarrowingInInitList(), llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), IsStandardConversion(), and TryObjectArgumentInitialization().
QualType QualType::getNonLValueExprType | ( | const ASTContext & | Context | ) | const |
Determine the type of a (typically non-lvalue) expression with the specified result type.
This routine should be used for expressions for which the return type is explicitly specified (e.g., in a cast or call) and isn't necessarily an lvalue. It removes a top-level reference (since there are no expressions of reference type) and deletes top-level cvr-qualifiers from non-class types (in C++) or all types (in C).
Definition at line 1558 of file Type.cpp.
References clang::ASTContext::getLangOpts(), clang::Type::getPointeeType(), getTypePtr(), getUnqualifiedType(), clang::Type::isDependentType(), and clang::Type::isRecordType().
Referenced by clang::Sema::AddConversionCandidate(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCXXMemberCallExpr(), clang::Sema::BuildLiteralOperatorCall(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::BuildVAArgExpr(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), EvaluateBinaryTypeTrait(), evaluateTypeTrait(), clang::FunctionType::getCallResultType(), clang::ObjCMethodDecl::getSendResultType(), clang::InitializationSequence::Perform(), clang::Sema::PerformImplicitConversion(), tryObjCWritebackConversion(), and TryRefInitWithConversionFunction().
QualType clang::QualType::getNonReferenceType | ( | ) | const [inline] |
getNonReferenceType - If Type is a reference type (e.g., const int&), returns the type that the reference refers to ("const int"). Otherwise, returns the type itself. This routine is used throughout Sema to implement C++ 5p6:
If an expression initially has the type "reference to T" (8.3.2, 8.5.3), the type is adjusted to "T" prior to any further analysis, the expression designates the object or function denoted by the reference, and the expression is an lvalue.
Definition at line 4845 of file Type.h.
References clang::Type::getAs(), and clang::Type::getPointeeType().
Referenced by clang::Sema::ActOnOpenMPAlignedClause(), clang::Sema::ActOnOpenMPIdExpression(), clang::Sema::ActOnParamDefaultArgumentError(), clang::Sema::ActOnPropertyImplDecl(), clang::Sema::AddConversionCandidate(), AddObjCKeyValueCompletions(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildDeclarationNameExpr(), BuildImplicitBaseInitializer(), BuildImplicitMemberInitializer(), captureInBlock(), captureInLambda(), clang::Sema::CheckConditionVariable(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), CheckTemplateArgumentPointerToMember(), clang::Sema::CodeCompleteCall(), clang::Sema::CodeCompleteExpression(), CompleteNonViableCandidate(), clang::Sema::ComputeDefaultedCopyAssignmentExceptionSpec(), clang::Sema::ComputeDefaultedCopyCtorExceptionSpec(), createObjCPropertyGetter(), DeduceTemplateArgumentByListElement(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), clang::InitializationSequence::Diagnose(), diagnoseAmbiguousConversion(), clang::Sema::diagnoseARCUnbridgedCast(), DiagnoseBadConversion(), diagnoseNoViableConversion(), clang::Sema::DiagnosePropertyAccessorMismatch(), DiagnoseUninitializedReference(), emitBadConversionNotes(), clang::CodeGen::CodeGenFunction::EmitCallArgs(), emitCPPObjectAtomicSetterCall(), clang::Sema::EmitRelatedResultTypeNote(), clang::CodeGen::CodeGenFunction::EmitStartEHSpec(), emitStructSetterCall(), clang::CodeGen::CodeGenFunction::EnterCXXTryStmt(), EvaluateBinaryTypeTrait(), FindConversionForRefInit(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), clang::CFGImplicitDtor::getDestructorDecl(), clang::UnresolvedMemberExpr::getNamingClass(), clang::CXXTypeidExpr::getTypeOperand(), clang::CXXUuidofExpr::getTypeOperand(), clang::Sema::HandleFunctionTypeMismatch(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), IsAcceptableNonMemberOperatorCandidate(), isAllowableExplicitConversion(), isFirstArgumentCompatibleWithType(), clang::Sema::isValidPointerAttrType(), isVariableAlreadyCapturedInScopeInfo(), clang::InitializationSequence::Perform(), clang::Sema::PerformContextualImplicitConversion(), clang::Sema::PerformImplicitConversion(), clang::APValue::printPretty(), recordConversion(), clang::Sema::tryCaptureVariable(), and TryRefInitWithConversionFunction().
Qualifiers::GC clang::QualType::getObjCGCAttr | ( | ) | const [inline] |
getObjCGCAttr - Returns gc attribute of this type.
getObjCGCAttr - Return the gc attribute of this type.
Definition at line 4799 of file Type.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(), clang::ASTContext::getObjCGCAttrKind(), clang::ASTContext::getObjCGCQualType(), and handleObjCGCTypeAttr().
Qualifiers::ObjCLifetime clang::QualType::getObjCLifetime | ( | ) | const [inline] |
getObjCLifetime - Returns lifetime attribute of this type.
Definition at line 942 of file Type.h.
Referenced by clang::Sema::ActOnFields(), clang::Sema::ActOnPropertyImplDecl(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildCXXNew(), clang::Sema::BuildDeclRefExpr(), BuildImplicitMemberInitializer(), clang::Sema::BuildPseudoDestructorExpr(), captureInBlock(), captureInLambda(), checkAllAtProps(), clang::Sema::CheckAllocatedType(), checkARCPropertyImpl(), clang::Sema::CheckAssignmentOperands(), clang::Sema::CheckCompleteVariableDeclaration(), clang::Sema::CheckObjCARCConversion(), clang::Sema::CheckObjCARCUnavailableWeakConversion(), clang::Sema::CheckParameter(), clang::Sema::CheckTemplateTypeArgument(), checkTrivialClassMembers(), clang::Sema::checkUnsafeAssigns(), clang::Sema::checkUnsafeExprAssigns(), computeBlockInfo(), considerVariable(), deduceWeakPropertyFromType(), clang::Sema::DefaultLvalueConversion(), DiagnoseARCUseOfWeakReceiver(), clang::CodeGen::CodeGenFunction::EmitBinaryOperatorLValue(), clang::CodeGen::CodeGenFunction::EmitBlockLiteral(), clang::CodeGen::CodeGenFunction::EmitCallExpr(), clang::CodeGen::CodeGenFunction::EmitMaterializeTemporaryExpr(), EmitObjectDelete(), EvaluateUnaryTypeTrait(), findRetainCycleOwner(), clang::ASTContext::getByrefLifetime(), GetGCAttrTypeForType(), clang::ASTContext::getInnerObjCOwnership(), clang::ASTContext::getLifetimeQualifiedType(), clang::Sema::HandlePropertyInClassExtension(), hasNontrivialObjCLifetime(), inferARCLifetimeForPointee(), inferARCWriteback(), clang::Sema::inferObjCARCLifetime(), isCanonicalResultType(), isCXX11PODType(), isCXX98PODType(), isInvalidICRSource(), isTriviallyCopyableType(), isTrivialType(), clang::Sema::LookupInObjCMethod(), LookupMemberExpr(), PropertyMemoryAttribute(), pushTemporaryCleanup(), setImpliedPropertyAttributeForReadOnlyProperty(), shouldExtendReceiverForInnerPointerMessage(), transferARCOwnershipToDeclSpec(), and tryEmitARCRetainLoadOfScalar().
Qualifiers clang::QualType::getQualifiers | ( | ) | const [inline] |
Retrieve the set of qualifiers applied to this type.
Definition at line 4706 of file Type.h.
References clang::Qualifiers::addFastQualifiers().
Referenced by AdjustFunctionParmAndArgTypesForDeduction(), AdoptQualifiers(), clang::ASTContext::BlockRequiresCopying(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), BuildFieldReferenceExpr(), BuildImplicitBaseInitializer(), BuildSimilarlyQualifiedPointerType(), checkConditionalObjectPointersCompatibility(), checkConditionalPointerCompatibility(), CheckOriginalCallArgDeduction(), clang::Sema::CodeCompleteMemberReferenceExpr(), clang::CodeGen::CodeGenFunction::CreateAggTemp(), createPlaceholderSlot(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), clang::Sema::DiagnoseAssignmentResult(), EmitAnyExprToExn(), clang::CodeGen::CodeGenFunction::EmitCallExpr(), clang::CodeGen::CodeGenFunction::EmitCompoundLiteralLValue(), clang::CodeGen::CodeGenFunction::EmitMaterializeTemporaryExpr(), clang::CodeGen::CodeGenFunction::EmitObjCIvarRefLValue(), clang::CodeGen::CodeGenFunction::EmitOMPAggregateAssign(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), EmitValToTemp(), clang::Sema::FindCompositeObjCPointerType(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), GetFullTypeForDeclarator(), clang::ASTContext::getFunctionType(), clang::ASTContext::getTargetAddressSpace(), clang::ASTContext::getUnqualifiedObjCPointerType(), clang::Sema::HandleField(), handleObjCOwnershipTypeAttr(), hasDirectOwnershipQualifier(), hasInconsistentOrSupersetQualifiersOf(), hasMangledSubstitutionQualifiers(), isAtLeastAsQualifiedAs(), IsConstNonVolatile(), isMoreQualifiedThan(), clang::Sema::isObjCPointerConversion(), clang::Sema::isObjCWritebackConversion(), clang::Sema::IsQualificationConversion(), IsStructurallyEquivalent(), clang::CodeGen::LValue::MakeAddr(), clang::CodeGen::LValue::MakeBitfield(), clang::CodeGen::LValue::MakeExtVectorElt(), clang::CodeGen::LValue::MakeGlobalReg(), clang::CodeGen::LValue::MakeVectorElt(), clang::Sema::PerformObjectArgumentInitialization(), rewriteToObjCProperty(), StoreAnyExprIntoOneUnit(), TryReferenceInit(), TryRefInitWithConversionFunction(), TryStaticCast(), and TypeInfoIsInStandardLibrary().
QualType clang::QualType::getSingleStepDesugaredType | ( | const ASTContext & | Context | ) | const [inline] |
Return the specified type with one level of "sugar" removed from the type.
This routine takes off the first typedef, typeof, etc. If the outer level of the type is already concrete, it returns it unmodified.
Definition at line 843 of file Type.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitVariablyModifiedType(), and clang::Sema::tryCaptureVariable().
SplitQualType clang::QualType::getSplitDesugaredType | ( | ) | const [inline] |
Definition at line 834 of file Type.h.
Referenced by clang::ASTContext::getAsArrayType(), clang::ASTContext::getBaseElementType(), and clang::ASTContext::getVariableArrayDecayedType().
SplitQualType clang::QualType::getSplitUnqualifiedType | ( | ) | const [inline] |
getSplitUnqualifiedType - Retrieve the unqualified variant of the given type, removing as little sugar as possible.
Like getUnqualifiedType(), but also returns the set of qualifiers that were built up.
The resulting type might still be qualified if it's sugar for an array type. To strip qualifiers even from within a sugared array type, use ASTContext::getUnqualifiedArrayType.
Definition at line 4766 of file Type.h.
Referenced by clang::Sema::BuildQualifiedType(), and clang::ASTContext::getUnqualifiedArrayType().
const Type * clang::QualType::getTypePtr | ( | ) | const [inline] |
Retrieves a pointer to the underlying (unqualified) type.
This function requires that the type not be NULL. If the type might be NULL, use the (slightly less efficient) getTypePtrOrNull()
.
Definition at line 4679 of file Type.h.
Referenced by clang::Sema::ActOnFields(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnGCCAsmStmt(), addAssociatedClassesAndNamespaces(), clang::ASTContext::adjustFunctionType(), clang::Sema::BuildCXXNew(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildMemberPointerType(), buildSingleCopyAssignRecursively(), clang::Sema::CheckAddressOfOperand(), checkIsValidOpenCLKernelParameter(), clang::Sema::CheckObjCARCConversion(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::EnumDecl::completeDefinition(), computeLinkageInfo(), clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::TemplateTypeParmDecl::Create(), CreateNewFunctionDecl(), clang::CanQual< T >::CreateUnsafe(), clang::Sema::DeduceTemplateArguments(), clang::CodeGen::CodeGenFunction::EmitVariablyModifiedType(), clang::TypePropertyCache< Private >::ensure(), FindVA(), clang::Sema::FixOverloadedFunctionReference(), GetAlignOfType(), getBaseTypeIdentifier(), clang::ASTContext::getCanonicalNestedNameSpecifier(), clang::ASTContext::getCanonicalParamType(), clang::ASTContext::getCanonicalType(), clang::CodeGen::CodeGenTypes::getCGRecordLayout(), getCurrentInstantiationOf(), clang::ASTContext::getDeclAlign(), getElementType(), getIntegerTypeForEnum(), clang::ASTContext::getLegacyIntegralTypeEncoding(), getNonLValueExprType(), getRequiredQualification(), llvm::simplify_type< ::clang::QualType >::getSimplifiedValue(), clang::ASTContext::getTypeInfo(), clang::ASTContext::getTypeInfoInChars(), clang::CanQual< ObjCObjectType >::getTypePtr(), clang::TypeLoc::getTypePtr(), clang::ASTContext::getUnqualifiedObjCPointerType(), clang::CXXUuidofExpr::GetUuidAttrOfType(), clang::ASTImporter::Import(), clang::ASTContext::isAlignmentRequired(), isCXX11PODType(), isCXX98PODType(), clang::ABIInfo::isHomogeneousAggregate(), clang::CodeGen::CodeGenModule::isInSanitizerBlacklist(), clang::Sema::IsMemberPointerConversion(), clang::Type::isObjCARCImplicitlyUnretainedType(), clang::Sema::IsOverload(), clang::ento::cocoa::isRefType(), isSafeToConvert(), isSingleElementStruct(), clang::ASTImporter::IsStructurallyEquivalent(), isTrivialType(), IsVoidStarType(), clang::CodeGen::CodeGenFunction::IvarTypeWithAggrGCObjects(), clang::serialization::MakeTypeID(), MarkUsedTemplateParameters(), clang::Sema::MaybeBindToTemporary(), clang::ASTContext::mergeObjCGCQualifiers(), clang::Sema::MergeTypedefNameDecl(), clang::StmtIteratorBase::NextVA(), ObjCBridgeRelatedAttrFromType(), print_elem(), printIntegral(), clang::Sema::tryCaptureVariable(), TypeIsInnerPointer(), UnwrapTypeForDebugInfo(), clang::CodeGen::CodeGenTypes::UpdateCompletedType(), and clang::ASTNodeImporter::VisitMemberPointerType().
const Type * clang::QualType::getTypePtrOrNull | ( | ) | const [inline] |
Definition at line 4683 of file Type.h.
Referenced by clang::Sema::ActOnOpenMPAlignedClause(), clang::Sema::ActOnOpenMPLinearClause(), clang::ento::TypedValueRegion::getDesugaredValueType(), clang::CanQual< ObjCObjectType >::getTypePtrOrNull(), clang::ento::MemRegionManager::getVarRegion(), clang::ASTReader::ReadNestedNameSpecifier(), and clang::EnumDecl::setIntegerType().
QualType clang::QualType::getUnqualifiedType | ( | ) | const [inline] |
Retrieve the unqualified variant of the given type, removing as little sugar as possible.
This routine looks through various kinds of sugar to find the least-desugared type that is unqualified. For example, given:
typedef int Integer; typedef const Integer CInteger; typedef CInteger DifferenceType;
Executing getUnqualifiedType()
on the type DifferenceType
will desugar until we hit the type Integer
, which has no qualifiers on it.
The resulting type might still be qualified if it's sugar for an array type. To strip qualifiers even from within a sugared array type, use ASTContext::getUnqualifiedArrayType.
Definition at line 4759 of file Type.h.
Referenced by clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnOpenMPAlignedClause(), clang::Sema::ActOnOpenMPLinearClause(), clang::Sema::ActOnStmtExpr(), clang::Sema::AddConversionCandidate(), AdjustFunctionParmAndArgTypesForDeduction(), AdoptQualifiers(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), BuildImplicitBaseInitializer(), BuildSimilarlyQualifiedPointerType(), clang::Sema::CheckAllocatedType(), clang::Sema::CheckAssignmentOperands(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckConditionalOperands(), checkConditionalPointerCompatibility(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::Sema::CheckNonTypeTemplateParameterType(), CheckOriginalCallArgDeduction(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTemplateArgument(), checkTrivialSubobjectCall(), clang::Sema::CheckVectorOperands(), CompareDerivedToBaseConversions(), CompareStandardConversionSequences(), convertQualifiersAndValueKindIfNecessary(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DiagnoseAssignmentEnum(), clang::Sema::DiagnoseAssignmentResult(), DiagnoseBadFunctionCast(), DiagnoseCastOfObjCSEL(), clang::CodeGen::CodeGenFunction::EmitObjCBoxedExpr(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), clang::CodeGen::CodeGenFunction::EmitStartEHSpec(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), EvaluateBinaryTypeTrait(), FindConversionForRefInit(), FormatFunctionParameter(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), GenOpenCLArgMetadata(), clang::ASTContext::getFunctionType(), getNonLValueExprType(), clang::ASTContext::getSignatureParameterType(), clang::CXXBaseSpecifier::getType(), clang::ASTContext::getUnqualifiedObjCPointerType(), clang::InitializedEntity::InitializeParameter(), clang::Sema::IsBlockPointerConversion(), clang::Sema::isInitListConstructor(), clang::CodeGen::CodeGenModule::isInSanitizerBlacklist(), clang::Sema::isObjCWritebackConversion(), clang::Sema::IsQualificationConversion(), clang::ento::cocoa::isRefType(), IsStandardConversion(), IsVoidStarType(), maybeAdjustInterfaceForSubscriptingCheck(), clang::ASTContext::mergeFunctionTypes(), clang::ASTContext::mergeTypes(), clang::Sema::PerformContextualImplicitConversion(), clang::Sema::PerformImplicitConversion(), ResolveOverloadedFunctionForReferenceBinding(), rewriteToObjCProperty(), TryClassUnification(), TryLValueToRValueCast(), TryRefInitWithConversionFunction(), TryStaticDowncast(), TryUserDefinedConversion(), and TypeIsInnerPointer().
bool clang::QualType::hasLocalNonFastQualifiers | ( | ) | const [inline] |
Determine whether this particular QualType instance has any "non-fast" qualifiers, e.g., those that are stored in an ExtQualType instance.
Definition at line 646 of file Type.h.
Referenced by clang::serialization::MakeTypeID(), and clang::QualifierCollector::strip().
bool clang::QualType::hasLocalQualifiers | ( | ) | const [inline] |
Determine whether this particular QualType instance has any qualifiers, without looking through any typedefs that might add qualifiers at a different level.
Definition at line 636 of file Type.h.
Referenced by clang::ASTContext::getAsArrayType(), clang::ASTContext::getConstantArrayType(), clang::ASTContext::getIncompleteArrayType(), clang::ASTContext::getVariableArrayType(), clang::CanQual< ObjCObjectType >::hasQualifiers(), clang::serialization::MakeTypeID(), and clang::TreeTransform< Derived >::TransformNestedNameSpecifierLoc().
bool clang::QualType::hasNonTrivialObjCLifetime | ( | ) | const [inline] |
Definition at line 946 of file Type.h.
Referenced by checkTrivialClassMembers().
bool clang::QualType::hasQualifiers | ( | ) | const [inline] |
Determine whether this type has any qualifiers.
Definition at line 4754 of file Type.h.
Referenced by clang::InitializationSequence::AddLValueToRValueStep(), AdjustFunctionParmAndArgTypesForDeduction(), clang::Sema::BuildAtomicType(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::DefaultLvalueConversion(), GetFullTypeForDeclarator(), clang::Sema::IsBlockPointerConversion(), clang::Expr::isNullPointerConstant(), isTemplateArgumentTemplateParameter(), and clang::ASTContext::mergeFunctionTypes().
bool clang::QualType::hasStrongOrWeakObjCLifetime | ( | ) | const [inline] |
QualType clang::QualType::IgnoreParens | ( | ) | const [inline] |
IgnoreParens - Returns the specified type after dropping any outer-level parentheses.
Definition at line 849 of file Type.h.
Referenced by checkQualifiedFunction(), and clang::Sema::hasExplicitCallingConv().
bool clang::QualType::isAtLeastAsQualifiedAs | ( | QualType | other | ) | const [inline] |
Determine whether this type is at least as qualified as the other given type, requiring exact equality for non-CVR qualifiers.
isAtLeastAsQualifiedAs - Determine whether this type is at last as qualified as the Other type. For example, "const volatile int" is at least as qualified as "const int", "volatile int", "int", and "const volatile int".
Definition at line 4832 of file Type.h.
References getQualifiers().
Referenced by checkObjCPointerTypesForAssignment(), clang::CanQual< ObjCObjectType >::isAtLeastAsQualifiedAs(), clang::Sema::isObjCPointerConversion(), TryClassUnification(), and TryObjectArgumentInitialization().
bool clang::QualType::isCanonical | ( | ) | const [inline] |
Definition at line 4723 of file Type.h.
Referenced by checkBlockPointerTypesForAssignment(), checkObjCPointerTypesForAssignment(), checkPointerTypesForAssignment(), clang::Sema::CheckTemplateIdType(), clang::CanQual< T >::CreateUnsafe(), DeduceTemplateArguments(), GenOpenCLArgMetadata(), clang::ASTContext::getAtomicType(), clang::ASTContext::getBlockPointerType(), clang::ASTContext::getComplexType(), clang::ASTContext::getConstantArrayType(), clang::ASTContext::getElaboratedType(), clang::ASTContext::getExtVectorType(), clang::CanQual< T >::getFromOpaquePtr(), clang::ASTContext::getFunctionNoProtoType(), clang::ASTContext::getIncompleteArrayType(), clang::ASTContext::getLValueReferenceType(), clang::ASTContext::getMemberPointerType(), clang::ASTContext::getObjCObjectPointerType(), clang::ASTContext::getObjCObjectType(), clang::ASTContext::getPackExpansionType(), clang::ASTContext::getParenType(), clang::ASTContext::getPointerType(), clang::ASTContext::getRValueReferenceType(), clang::ASTContext::getSubstTemplateTypeParmType(), clang::ASTContext::getVariableArrayType(), clang::ASTContext::getVectorType(), isCanonicalResultType(), isConstantEmittableObjectType(), and clang::Sema::MergeFunctionDecl().
bool clang::QualType::isCanonicalAsParam | ( | ) | const [inline] |
Definition at line 4727 of file Type.h.
References clang::Type::hasSizedVLAType(), and clang::Type::isVariablyModifiedType().
Referenced by clang::CanQual< ObjCObjectType >::isCanonicalAsParam().
bool clang::QualType::isCForbiddenLValueType | ( | ) | const [inline] |
Determine whether expressions of the given type are forbidden from being lvalues in C.
The expression types that are forbidden to be lvalues are:
The exact rule here is C99 6.3.2.1: An lvalue is an expression with an object type or an incomplete type other than void.
Definition at line 4852 of file Type.h.
Referenced by CheckIndirectionOperand(), and clang::Sema::CreateBuiltinArraySubscriptExpr().
bool clang::QualType::isConstant | ( | ASTContext & | Ctx | ) | const [inline] |
Definition at line 669 of file Type.h.
Referenced by clang::Sema::ActOnOpenMPLinearClause(), checkFormatStringExpr(), clang::CodeGen::CodeGenModule::getOrCreateStaticVarDecl(), clang::CodeGen::CodeGenModule::isTypeConstant(), and ReportOriginalDSA().
bool clang::QualType::isConstQualified | ( | ) | const [inline] |
Determine whether this type is const-qualified.
Definition at line 4738 of file Type.h.
Referenced by clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::AddInitializerToDecl(), appendQualifier(), BuildImplicitMemberInitializer(), buildSingleCopyAssign(), clang::Sema::CheckCompleteVariableDeclaration(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::CheckFieldDecl(), CheckForModifiableLvalue(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::Sema::CheckParameter(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), EvaluateUnaryTypeTrait(), findCompleteObject(), findSubobject(), GenOpenCLArgMetadata(), clang::ento::MemRegionManager::getVarRegion(), clang::consumed::ConsumedStmtVisitor::handleCall(), inferARCLifetimeForPointee(), isPointerToConst(), isReferenceToNonConstCapture(), clang::analyze_format_string::ArgType::matchesType(), ShouldDiagnoseSwitchCaseNotInEnum(), tryCaptureAsConstant(), TryConstructorInitialization(), tryEmitARCRetainLoadOfScalar(), TryListConversion(), TryReferenceInit(), and clang::ento::UndefOrNullArgVisitor::VisitNode().
bool QualType::isCXX11PODType | ( | ASTContext & | Context | ) | const |
isCXX11PODType() - Return true if this is a POD type according to the more relaxed rules of the C++11 standard, regardless of the current compilation's language. (C++0x [basic.types]p9)
Definition at line 1247 of file Type.cpp.
References clang::Type::getAs(), clang::Type::getBaseElementTypeUnsafe(), clang::ASTContext::getLangOpts(), getObjCLifetime(), getTypePtr(), clang::Type::isDependentType(), clang::Type::isIncompleteType(), clang::Type::isScalarType(), clang::Type::isVectorType(), clang::Qualifiers::OCL_Autoreleasing, clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_None, clang::Qualifiers::OCL_Strong, and clang::Qualifiers::OCL_Weak.
Referenced by isPODType().
bool QualType::isCXX98PODType | ( | ASTContext & | Context | ) | const |
isCXX98PODType() - Return true if this is a POD type according to the rules of the C++98 standard, regardless of the current compilation's language.
Definition at line 964 of file Type.cpp.
References clang::ASTContext::getBaseElementType(), clang::ASTContext::getLangOpts(), getObjCLifetime(), clang::Type::getTypeClass(), getTypePtr(), isCXX98PODType(), isNull(), clang::Qualifiers::OCL_Autoreleasing, clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_None, clang::Qualifiers::OCL_Strong, clang::Qualifiers::OCL_Weak, and Record.
Referenced by isCXX98PODType(), isPODType(), and clang::Sema::isValidVarArgType().
DestructionKind clang::QualType::isDestructedType | ( | ) | const [inline] |
isDestructedType - nonzero if objects of this type require non-trivial work to clean up after. Non-zero because it's conceivable that qualifiers (objc_gc(weak)?) could make something require destruction.
Definition at line 965 of file Type.h.
Referenced by clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnFields(), clang::Sema::CheckCompleteVariableDeclaration(), clang::ASTContext::DeclMustBeEmitted(), clang::CodeGen::CodeGenFunction::EmitAutoVarCleanups(), emitCXXDestructMethod(), EmitDeclDestroy(), clang::CodeGen::CodeGenFunction::EmitInitializerForField(), clang::CodeGen::CodeGenFunction::EmitNewArrayInitializer(), clang::CodeGen::EmitOMPThreadPrivateVarDefinition(), enterBlockScope(), clang::CodeGen::CodeGenFunction::EnterDtorCleanups(), clang::InitializationSequence::Perform(), and clang::CodeGen::CGCXXABI::requiresArrayCookie().
bool clang::QualType::isLocalConstQualified | ( | ) | const [inline] |
Determine whether this particular QualType instance has the "const" qualifier set, without looking through typedefs that may have added "const" at a different level.
Definition at line 606 of file Type.h.
References clang::Qualifiers::Const.
Referenced by clang::CanQual< ObjCObjectType >::isConstQualified().
bool clang::QualType::isLocalRestrictQualified | ( | ) | const [inline] |
Determine whether this particular QualType instance has the "restrict" qualifier set, without looking through typedefs that may have added "restrict" at a different level.
Definition at line 616 of file Type.h.
References clang::Qualifiers::Restrict.
Referenced by clang::CanQual< ObjCObjectType >::isRestrictQualified().
bool clang::QualType::isLocalVolatileQualified | ( | ) | const [inline] |
Determine whether this particular QualType instance has the "volatile" qualifier set, without looking through typedefs that may have added "volatile" at a different level.
Definition at line 626 of file Type.h.
References clang::Qualifiers::Volatile.
Referenced by clang::CanQual< ObjCObjectType >::isVolatileQualified().
bool clang::QualType::isMoreQualifiedThan | ( | QualType | other | ) | const [inline] |
Determine whether this type is more qualified than the other given type, requiring exact equality for non-CVR qualifiers.
isMoreQualifiedThan - Determine whether this type is more qualified than the Other type. For example, "const volatile int" is more qualified than "const int", "volatile int", and "int". However, it is not more qualified than "const volatile int".
Definition at line 4822 of file Type.h.
References clang::Qualifiers::compatiblyIncludes(), and getQualifiers().
Referenced by clang::Sema::CheckOverridingFunctionReturnType(), CompareQualificationConversions(), CompareStandardConversionSequences(), and clang::CanQual< ObjCObjectType >::isMoreQualifiedThan().
bool clang::QualType::isNull | ( | ) | const [inline] |
isNull - Return true if this QualType doesn't point to a type yet.
Definition at line 599 of file Type.h.
Referenced by clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnBuiltinOffsetOf(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnClassMessage(), clang::Sema::ActOnConditionalOp(), clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::ActOnCXXThis(), clang::Sema::ActOnCXXTypeid(), clang::Sema::ActOnCXXUuidof(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnLambdaExpr(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnNumericConstant(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnStartOfLambdaDefinition(), clang::Sema::ActOnTagTemplateIdType(), clang::Sema::ActOnTemplatedFriendTag(), clang::Sema::ActOnTemplateIdType(), clang::Sema::ActOnTypenameType(), AddClassMessageCompletions(), clang::Sema::AddInitializerToDecl(), addInstantiatedParametersToScope(), clang::Sema::AddMethodCandidate(), AddObjCKeyValueCompletions(), AddOrdinaryNameResults(), AddResultTypeChunk(), addThisCompletion(), clang::Sema::adjustCCAndNoReturn(), AdjustFunctionParmAndArgTypesForDeduction(), clang::TreeTransform< Derived >::AlreadyTransformed(), clang::ento::ProgramState::assumeInBound(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildClassMessageImplicit(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXNew(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildDeclaratorGroup(), clang::Sema::BuildImplicitMemberExpr(), clang::Sema::BuildInstanceMessage(), clang::Sema::BuildMemInitializer(), clang::Sema::BuildObjCEncodeExpression(), clang::Sema::BuildObjCStringLiteral(), clang::Sema::BuildQualifiedType(), clang::Sema::BuildReturnStmt(), BuildSimilarlyQualifiedPointerType(), clang::Sema::BuildUnaryTransformType(), clang::Sema::BuildVAArgExpr(), clang::arcmt::trans::canApplyWeak(), clang::Sema::canDelayFunctionBody(), clang::Sema::canThrow(), clang::ento::StoreManager::CastRetrievedVal(), clang::Sema::CheckAdditionOperands(), checkAllAtProps(), clang::Sema::CheckAssignmentOperands(), clang::Sema::CheckBitwiseOperands(), clang::Sema::CheckConditionalOperands(), checkConditionalPointerCompatibility(), clang::Sema::CheckDestructorAccess(), clang::Sema::CheckEnumRedeclaration(), clang::Sema::CheckFieldDecl(), CheckIndirectionOperand(), clang::Sema::checkInitMethod(), CheckKeyForObjCARCConversion(), clang::Sema::CheckMultiplyDivideOperands(), clang::Sema::CheckOverridingFunctionReturnType(), clang::Sema::CheckPackExpansion(), clang::Sema::CheckRemainderOperands(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTemplateIdType(), clang::Sema::checkUnsafeExprAssigns(), clang::Sema::CheckVectorCompareOperands(), clang::Sema::CheckVectorLogicalOperands(), checkWeakGCAttrs(), ClassifyImplicitMemberAccess(), clang::Sema::CodeCompleteCall(), clang::Sema::CodeCompleteDeclSpec(), clang::Sema::CodeCompleteExpression(), clang::Sema::CodeCompleteObjCClassMessage(), clang::Sema::CodeCompleteObjCInstanceMessage(), clang::Sema::CodeCompleteObjCMethodDecl(), clang::Sema::CodeCompleteReturn(), clang::Sema::containsUnexpandedParameterPacks(), convertPointersToCompositeType(), ConvertTypeToDiagnosticString(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinUnaryOp(), clang::CanQual< T >::CreateUnsafe(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DeclareGlobalAllocationFunction(), DecodeTypeFromStr(), clang::Sema::DeduceAutoType(), clang::Sema::deduceClosureReturnType(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::Sema::DeduceTemplateArguments(), clang::Sema::DefaultArgumentPromotion(), clang::Sema::DefaultFunctionArrayConversion(), clang::Sema::DefaultLvalueConversion(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), errorForGCAttrsOnNonObjC(), clang::ento::StoreManager::evalDynamicCast(), EvaluateAsRValue(), FastEvaluateAsRValue(), FindDesignatorMismatch(), FindImplementableMethods(), FinishForRangeVarDecl(), clang::ASTContext::getAutoDeductType(), clang::ASTContext::getAutoRRefDeductType(), clang::ASTContext::getAutoType(), clang::ASTContext::getCommentForDecl(), getCurrentInstantiationOf(), clang::Sema::getCurrentThisType(), getDecltypeForExpr(), clang::ASTContext::getDependentNameType(), clang::Sema::getDestructorName(), clang::Sema::getElaboratedType(), clang::ento::StoreManager::GetElementZeroRegion(), getExistingLazyBinding(), GetFullTypeForDeclarator(), clang::ClassTemplateDecl::getInjectedClassNameSpecialization(), clang::ASTContext::getInnerObjCOwnership(), clang::TypeLoc::getLocalAlignmentForType(), clang::Sema::getMostSpecialized(), clang::Sema::GetNameFromUnqualifiedId(), clang::NSAPI::GetNSIntegralKind(), clang::ASTContext::getObjCClassRedefinitionType(), clang::CodeGen::CodeGenModule::getObjCFastEnumerationStateType(), clang::ASTContext::getObjCIdRedefinitionType(), clang::ASTContext::getObjCSelRedefinitionType(), clang::ASTContext::getObjCSuperType(), clang::ASTWriter::GetOrCreateTypeIdx(), getPreferredArgumentTypeForMessageSend(), clang::ASTContext::getPromotedIntegerType(), clang::CXXInstanceCall::getRuntimeDefinition(), clang::ObjCMethodCall::getRuntimeDefinition(), clang::ObjCPropertyRefExpr::getSetterArgType(), clang::ento::ProgramState::getSVal(), clang::ASTContext::getTemplateSpecializationType(), clang::ASTReader::GetType(), clang::ASTContext::getTypedefType(), clang::Sema::GetTypeForDeclarator(), clang::Sema::GetTypeForDeclaratorCast(), clang::Sema::GetTypeFromParser(), clang::ASTWriter::getTypeIdx(), clang::Sema::getTypeName(), clang::ASTReader::GetTypeSourceInfo(), clang::ASTContext::getVaListTagType(), HandleExtVectorTypeAttr(), clang::Sema::HandleFunctionTypeMismatch(), handleModeAttr(), HelperIsMethodInObjCType(), clang::ASTImporter::Import(), clang::ASTNodeImporter::ImportDefinition(), clang::ASTNodeImporter::ImportTemplateArgument(), clang::ASTReader::InitializeContext(), clang::InitializationSequence::InitializeFrom(), IsAcceptableNonMemberOperatorCandidate(), isCharSpecialization(), isCharType(), clang::Sema::isCopyElisionCandidate(), isCXX98PODType(), clang::Declarator::isDeclarationOfFunction(), clang::DeclarationName::isDependentName(), clang::arcmt::trans::MigrationContext::isGCOwnedNonObjC(), clang::CodeGen::CodeGenModule::isInSanitizerBlacklist(), clang::Sema::isNonTypeNestedNameSpecifier(), clang::CanQual< ObjCObjectType >::isNull(), IsStructurallyEquivalent(), clang::Sema::isThisOutsideMemberFunctionBody(), isTrivialType(), clang::ento::DynamicTypeInfo::isValid(), LookupMemberExpr(), clang::Sema::LookupQualifiedName(), clang::Sema::LookupTemplateName(), clang::serialization::MakeTypeID(), MarkUsedTemplateParameters(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), maybeAdjustInterfaceForSubscriptingCheck(), clang::Sema::MergeCompatibleFunctionDecls(), mergeEnumWithInteger(), clang::Sema::MergeFunctionDecl(), clang::ASTContext::mergeFunctionParameterTypes(), clang::ASTContext::mergeFunctionTypes(), clang::ASTContext::mergeObjCGCQualifiers(), clang::ASTContext::mergeTransparentUnionType(), clang::ASTContext::mergeTypes(), clang::Sema::MergeVarDeclTypes(), clang::Sema::ParseObjCProtocolExpression(), clang::Sema::ParseTypedefDecl(), clang::Sema::PerformContextualImplicitConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::performLambdaInitCaptureInitialization(), clang::APValue::printPretty(), clang::ento::ExprEngine::processCallExit(), RebuildDeclaratorInCurrentInstantiation(), clang::TreeTransform< Derived >::RebuildDependentTemplateSpecializationType(), recoverFromMSUnqualifiedLookup(), ResolveOverloadForDeduction(), clang::Sema::SelectorsForTypoCorrection(), clang::InitializationSequence::SetFailed(), clang::ASTContext::setObjCConstantStringInterface(), clang::Expr::setType(), shouldNotPrintDirectly(), clang::Sema::SubstFunctionDeclType(), clang::Sema::SubstituteExplicitTemplateArguments(), clang::Sema::SubstType(), clang::TreeTransform< Derived >::TransformDependentTemplateSpecializationType(), clang::TreeTransform< Derived >::TransformExceptionSpec(), clang::TreeTransform< Derived >::TransformFunctionProtoType(), clang::TreeTransform< Derived >::TransformFunctionTypeParam(), clang::TreeTransform< Derived >::TransformFunctionTypeParams(), clang::TreeTransform< Derived >::TransformLambdaScope(), clang::TreeTransform< Derived >::TransformReferenceType(), clang::TreeTransform< Derived >::TransformTemplateName(), clang::TreeTransform< Derived >::TransformType(), clang::RecursiveASTVisitor< Derived >::TraverseType(), treatUnusedNewEscaped(), clang::Sema::tryCaptureVariable(), clang::Sema::tryExprAsCall(), TryListConversion(), TryToFixInvalidVariablyModifiedType(), TryToFixInvalidVariablyModifiedTypeSourceInfo(), clang::Sema::tryToRecoverWithCall(), clang::ASTContext::typesAreBlockPointerCompatible(), clang::ASTContext::typesAreCompatible(), UnwrapTypeForDebugInfo(), clang::Sema::UsualArithmeticConversions(), clang::Sema::UsualUnaryConversions(), clang::ASTNodeImporter::VisitAutoType(), clang::ASTNodeImporter::VisitBinaryOperator(), clang::ASTNodeImporter::VisitBlockPointerType(), clang::ASTNodeImporter::VisitCharacterLiteral(), clang::ASTNodeImporter::VisitComplexType(), clang::ASTNodeImporter::VisitCompoundAssignOperator(), clang::ASTNodeImporter::VisitConstantArrayType(), clang::ASTNodeImporter::VisitCStyleCastExpr(), clang::ASTNodeImporter::VisitDeclRefExpr(), clang::ASTNodeImporter::VisitDecltypeType(), clang::ASTNodeImporter::VisitElaboratedType(), clang::ASTNodeImporter::VisitEnumConstantDecl(), clang::ASTNodeImporter::VisitEnumDecl(), clang::ASTNodeImporter::VisitExtVectorType(), clang::ASTNodeImporter::VisitFieldDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::ASTNodeImporter::VisitFunctionNoProtoType(), clang::ASTNodeImporter::VisitFunctionProtoType(), clang::ASTNodeImporter::VisitImplicitCastExpr(), clang::ASTNodeImporter::VisitImplicitParamDecl(), clang::ASTNodeImporter::VisitIncompleteArrayType(), clang::ASTNodeImporter::VisitIndirectFieldDecl(), clang::ASTNodeImporter::VisitIntegerLiteral(), clang::ASTNodeImporter::VisitLValueReferenceType(), clang::ASTNodeImporter::VisitMemberPointerType(), clang::ASTNodeImporter::VisitNonTypeTemplateParmDecl(), clang::ASTNodeImporter::VisitObjCIvarDecl(), clang::ASTNodeImporter::VisitObjCMethodDecl(), clang::ASTNodeImporter::VisitObjCObjectPointerType(), clang::ASTNodeImporter::VisitObjCObjectType(), clang::ASTNodeImporter::VisitParenType(), clang::ASTNodeImporter::VisitParmVarDecl(), clang::ASTNodeImporter::VisitPointerType(), clang::ASTNodeImporter::VisitRValueReferenceType(), clang::ASTNodeImporter::VisitTemplateSpecializationType(), clang::ASTNodeImporter::VisitTypedefNameDecl(), clang::ASTNodeImporter::VisitTypeOfType(), clang::ASTNodeImporter::VisitUnaryOperator(), clang::ASTNodeImporter::VisitUnaryTransformType(), clang::ASTNodeImporter::VisitVarDecl(), clang::ASTNodeImporter::VisitVariableArrayType(), clang::ASTNodeImporter::VisitVarTemplateDecl(), clang::ASTNodeImporter::VisitVarTemplateSpecializationDecl(), and clang::ASTNodeImporter::VisitVectorType().
bool clang::QualType::isObjCGCStrong | ( | ) | const [inline] |
isObjCGCStrong true when Type is objc's strong.
Definition at line 937 of file Type.h.
References clang::Qualifiers::getObjCGCAttr(), and clang::Qualifiers::Strong.
Referenced by clang::Sema::ActOnFields(), clang::Sema::ActOnPropertyImplDecl(), and GetGCAttrTypeForType().
bool clang::QualType::isObjCGCWeak | ( | ) | const [inline] |
isObjCGCWeak true when Type is objc's weak.
Definition at line 932 of file Type.h.
References clang::Qualifiers::getObjCGCAttr(), and clang::Qualifiers::Weak.
Referenced by clang::Sema::ActOnPropertyImplDecl(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckVariableDeclarationType(), deduceWeakPropertyFromType(), clang::CodeGen::CodeGenFunction::emitByrefStructureInit(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), and GetGCAttrTypeForType().
bool QualType::isPODType | ( | ASTContext & | Context | ) | const |
Determine whether this is a Plain Old Data (POD) type (C++ 3.9p10).
Definition at line 956 of file Type.cpp.
References clang::ASTContext::getLangOpts(), isCXX11PODType(), and isCXX98PODType().
Referenced by clang::Sema::BuildArrayType(), clang::Sema::BuildVAArgExpr(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::DiagnoseSizeOfParametersAndReturnValue(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), EmitMemberInitializer(), and EvaluateUnaryTypeTrait().
bool clang::QualType::isRestrictQualified | ( | ) | const [inline] |
Determine whether this type is restrict-qualified.
Definition at line 4743 of file Type.h.
Referenced by appendQualifier(), CollectVRQualifiers(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), and GenOpenCLArgMetadata().
bool QualType::isTriviallyCopyableType | ( | ASTContext & | Context | ) | const |
isTriviallyCopyableType - Return true if this is a trivially copyable type (C++0x [basic.types]p9)
Definition at line 1087 of file Type.cpp.
References clang::Type::getAs(), clang::ASTContext::getBaseElementType(), getCanonicalType(), clang::ASTContext::getLangOpts(), getObjCLifetime(), clang::Type::isDependentType(), clang::Type::isIncompleteType(), clang::Type::isScalarType(), isTrivialType(), clang::Type::isVectorType(), isVolatileQualified(), clang::Qualifiers::OCL_Autoreleasing, clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_None, clang::Qualifiers::OCL_Strong, and clang::Qualifiers::OCL_Weak.
Referenced by clang::Sema::BuildAtomicType(), buildSingleCopyAssign(), createObjCPropertyGetter(), and EvaluateUnaryTypeTrait().
bool QualType::isTrivialType | ( | ASTContext & | Context | ) | const |
isTrivialType - Return true if this is a trivial type (C++0x [basic.types]p9)
Definition at line 1024 of file Type.cpp.
References clang::Type::getAs(), clang::ASTContext::getBaseElementType(), clang::ASTContext::getLangOpts(), getObjCLifetime(), getTypePtr(), clang::Type::isDependentType(), isNull(), clang::Type::isScalarType(), isTrivialType(), clang::Type::isVectorType(), clang::Qualifiers::OCL_Autoreleasing, clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_None, clang::Qualifiers::OCL_Strong, and clang::Qualifiers::OCL_Weak.
Referenced by EvaluateUnaryTypeTrait(), isTriviallyCopyableType(), isTrivialType(), and clang::threadSafety::VarMapBuilder::VisitDeclStmt().
bool clang::QualType::isVolatileQualified | ( | ) | const [inline] |
Determine whether this type is volatile-qualified.
Definition at line 4749 of file Type.h.
Referenced by clang::Sema::ActOnFields(), clang::Sema::AddInitializerToDecl(), appendQualifier(), buildSingleCopyAssign(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::CheckLiteralOperatorDeclaration(), CollectVRQualifiers(), clang::InitializationSequence::Diagnose(), DiagnoseSelfAssignment(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), EmitObjectDelete(), EvaluateUnaryTypeTrait(), findCompleteObject(), findSubobject(), GenOpenCLArgMetadata(), handleLValueToRValueConversion(), clang::Expr::HasSideEffects(), clang::Sema::IgnoredValueConversions(), clang::Sema::isCopyElisionCandidate(), isTriviallyCopyableType(), clang::Expr::isUnusedResultAWarning(), clang::AtomicExpr::isVolatile(), clang::InitializationSequence::Perform(), tryEmitARCRetainLoadOfScalar(), TryListConversion(), and TryReferenceInit().
void clang::QualType::print | ( | raw_ostream & | OS, |
const PrintingPolicy & | Policy, | ||
const Twine & | PlaceHolder = Twine() |
||
) | const [inline] |
Definition at line 873 of file Type.h.
References clang::Qualifiers::print().
Referenced by llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), clang::NestedNameSpecifier::print(), clang::ast_type_traits::DynTypedNode::print(), clang::TemplateArgument::print(), and print_elem().
static void clang::QualType::print | ( | SplitQualType | split, |
raw_ostream & | OS, | ||
const PrintingPolicy & | policy, | ||
const Twine & | PlaceHolder | ||
) | [inline, static] |
Definition at line 877 of file Type.h.
References clang::Qualifiers::print(), clang::SplitQualType::Quals, and clang::SplitQualType::Ty.
void QualType::print | ( | const Type * | ty, |
Qualifiers | qs, | ||
raw_ostream & | OS, | ||
const PrintingPolicy & | policy, | ||
const Twine & | PlaceHolder | ||
) | [static] |
Definition at line 1545 of file TypePrinter.cpp.
void clang::QualType::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | const [inline] |
Definition at line 921 of file Type.h.
Referenced by clang::ento::CompoundValData::Profile(), clang::TemplateArgument::Profile(), clang::ParenType::Profile(), and clang::ElaboratedType::Profile().
void clang::QualType::removeLocalConst | ( | ) | [inline] |
Definition at line 4773 of file Type.h.
References clang::Qualifiers::Const.
Referenced by findCompleteObject().
void clang::QualType::removeLocalCVRQualifiers | ( | unsigned | Mask | ) | [inline] |
Definition at line 4785 of file Type.h.
References clang::Qualifiers::CVRMask, and clang::Qualifiers::FastMask.
void clang::QualType::removeLocalFastQualifiers | ( | ) | [inline] |
Definition at line 737 of file Type.h.
Referenced by clang::serialization::MakeTypeID(), and withoutLocalFastQualifiers().
void clang::QualType::removeLocalFastQualifiers | ( | unsigned | Mask | ) | [inline] |
Definition at line 738 of file Type.h.
References clang::Qualifiers::FastMask.
void clang::QualType::removeLocalRestrict | ( | ) | [inline] |
Definition at line 4777 of file Type.h.
References clang::Qualifiers::Restrict.
void clang::QualType::removeLocalVolatile | ( | ) | [inline] |
Definition at line 4781 of file Type.h.
References clang::Qualifiers::Volatile.
void clang::QualType::setLocalFastQualifiers | ( | unsigned | Quals | ) | [inline] |
SplitQualType clang::QualType::split | ( | ) | const [inline] |
Divides a QualType into its unqualified type and a set of local qualifiers.
Definition at line 4687 of file Type.h.
References clang::Qualifiers::addFastQualifiers(), clang::Qualifiers::fromFastMask(), clang::ExtQuals::getBaseType(), and clang::ExtQuals::getQualifiers().
Referenced by checkARCPropertyImpl(), handleObjCOwnershipTypeAttr(), and clang::CanQual< ObjCObjectType >::split().
StreamedQualTypeHelper clang::QualType::stream | ( | const PrintingPolicy & | Policy, |
const Twine & | PlaceHolder = Twine() |
||
) | const [inline] |
Definition at line 913 of file Type.h.
Referenced by clang::PredefinedExpr::ComputeName(), and clang::FunctionProtoType::printExceptionSpecification().
QualType clang::QualType::withConst | ( | ) | const [inline] |
Definition at line 702 of file Type.h.
References clang::Qualifiers::Const.
Referenced by clang::Sema::ActOnForEachDeclStmt(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildCXXUuidof(), clang::Sema::BuildObjCArrayLiteral(), clang::Sema::BuildObjCDictionaryLiteral(), captureInBlock(), clang::ObjCMethodDecl::createImplicitParams(), clang::Sema::DeclareImplicitCopyAssignment(), clang::Sema::DeclareImplicitCopyConstructor(), DecodeTypeFromStr(), diagnoseListInit(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), clang::ASTContext::getConstType(), clang::Sema::SpecialMemberIsTrivial(), TryInitializerListConstruction(), and clang::CanQual< ObjCObjectType >::withConst().
QualType clang::QualType::withCVRQualifiers | ( | unsigned | CVR | ) | const [inline] |
Definition at line 722 of file Type.h.
Referenced by checkConditionalPointerCompatibility(), clang::Sema::CXXThisScopeRAII::CXXThisScopeRAII(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), and clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset().
QualType clang::QualType::withExactLocalFastQualifiers | ( | unsigned | TQs | ) | const [inline] |
Definition at line 753 of file Type.h.
References withFastQualifiers().
QualType clang::QualType::withFastQualifiers | ( | unsigned | TQs | ) | const [inline] |
Definition at line 745 of file Type.h.
References addFastQualifiers().
Referenced by clang::QualifierCollector::apply(), getCanonicalType(), clang::ASTContext::getQualifiedType(), clang::ASTContext::getRestrictType(), clang::ASTReader::GetType(), clang::ASTContext::getVolatileType(), and withExactLocalFastQualifiers().
QualType clang::QualType::withoutLocalFastQualifiers | ( | ) | const [inline] |
Definition at line 758 of file Type.h.
References removeLocalFastQualifiers().
Referenced by getCoreType().
QualType clang::QualType::withRestrict | ( | ) | const [inline] |
Definition at line 718 of file Type.h.
References clang::Qualifiers::Restrict.
Referenced by DecodeTypeFromStr().
QualType clang::QualType::withVolatile | ( | ) | const [inline] |
Definition at line 710 of file Type.h.
References clang::Qualifiers::Volatile.
friend class QualifierCollector [friend] |