|
clang 23.0.0git
|
Describes an entity that is being initialized. More...
#include "clang/Sema/Initialization.h"
Public Types | |
| enum | EntityKind { EK_Variable , EK_Parameter , EK_TemplateParameter , EK_Result , EK_StmtExprResult , EK_Exception , EK_Member , EK_ArrayElement , EK_New , EK_Temporary , EK_Base , EK_Delegating , EK_VectorElement , EK_MatrixElement , EK_BlockElement , EK_LambdaToBlockConversionBlockElement , EK_ComplexElement , EK_LambdaCapture , EK_CompoundLiteralInit , EK_RelatedResult , EK_Parameter_CF_Audited , EK_Binding , EK_ParenAggInitMember } |
| Specifies the kind of entity being initialized. More... | |
| enum class | NRVOKind : uint8_t { Forbidden , Allowed } |
| enum class | NewArrayKind : uint8_t { KnownLength , UnknownLength } |
| enum class | FieldInitKind : uint8_t { Normal , ImplicitField , DefaultMember , ParenAgg } |
Public Member Functions | |
| EntityKind | getKind () const |
| Determine the kind of initialization. | |
| const InitializedEntity * | getParent () const |
| Retrieve the parent of the entity being initialized, when the initialization itself is occurring within the context of a larger initialization. | |
| QualType | getType () const |
| Retrieve type being initialized. | |
| TypeSourceInfo * | getTypeSourceInfo () const |
| Retrieve complete type-source information for the object being constructed, if known. | |
| DeclarationName | getName () const |
| Retrieve the name of the entity being initialized. | |
| ValueDecl * | getDecl () const |
| Retrieve the variable, parameter, or field being initialized. | |
| ObjCMethodDecl * | getMethodDecl () const |
| Retrieve the ObjectiveC method being initialized. | |
| bool | allowsNRVO () const |
| Determine whether this initialization allows the named return value optimization, which also applies to thrown objects. | |
| bool | isParameterKind () const |
| bool | isParamOrTemplateParamKind () const |
| bool | isParameterConsumed () const |
| Determine whether this initialization consumes the parameter. | |
| const CXXBaseSpecifier * | getBaseSpecifier () const |
| Retrieve the base specifier. | |
| bool | isInheritedVirtualBase () const |
| Return whether the base is an inherited virtual base. | |
| bool | isVariableLengthArrayNew () const |
| Determine whether this is an array new with an unknown bound. | |
| bool | isImplicitMemberInitializer () const |
| Is this the implicit initialization of a member of a class from a defaulted constructor? | |
| bool | isDefaultMemberInitializer () const |
| Is this the default member initializer of a member (specified inside the class definition)? | |
| SourceLocation | getReturnLoc () const |
| Determine the location of the 'return' keyword when initializing the result of a function call. | |
| SourceLocation | getThrowLoc () const |
| Determine the location of the 'throw' keyword when initializing an exception object. | |
| unsigned | getElementIndex () const |
| If this is an array, vector, or complex number element, get the element's index. | |
| void | setElementIndex (unsigned Index) |
| If this is already the initializer for an array or vector element, sets the element index. | |
| StringRef | getCapturedVarName () const |
| For a lambda capture, return the capture's name. | |
| SourceLocation | getCaptureLoc () const |
| Determine the location of the capture when initializing field from a captured variable in a lambda. | |
| void | setParameterCFAudited () |
| unsigned | allocateManglingNumber () const |
| void | dump () const |
| Dump a representation of the initialized entity to standard error, for debugging purposes. | |
Static Public Member Functions | |
| static InitializedEntity | InitializeVariable (VarDecl *Var) |
| Create the initialization entity for a variable. | |
| static InitializedEntity | InitializeParameter (ASTContext &Context, ParmVarDecl *Parm) |
| Create the initialization entity for a parameter. | |
| static InitializedEntity | InitializeParameter (ASTContext &Context, ParmVarDecl *Parm, QualType Type) |
| Create the initialization entity for a parameter, but use another type. | |
| static InitializedEntity | InitializeParameter (ASTContext &Context, QualType Type, bool Consumed) |
| Create the initialization entity for a parameter that is only known by its type. | |
| static InitializedEntity | InitializeTemplateParameter (QualType T, NamedDecl *Param) |
| Create the initialization entity for a template parameter. | |
| static InitializedEntity | InitializeResult (SourceLocation ReturnLoc, QualType Type) |
| Create the initialization entity for the result of a function. | |
| static InitializedEntity | InitializeStmtExprResult (SourceLocation ReturnLoc, QualType Type) |
| static InitializedEntity | InitializeBlock (SourceLocation BlockVarLoc, QualType Type) |
| static InitializedEntity | InitializeLambdaToBlock (SourceLocation BlockVarLoc, QualType Type) |
| static InitializedEntity | InitializeException (SourceLocation ThrowLoc, QualType Type) |
| Create the initialization entity for an exception object. | |
| static InitializedEntity | InitializeNew (SourceLocation NewLoc, QualType Type, NewArrayKind IsVariableLengthArrayNew) |
| Create the initialization entity for an object allocated via new. | |
| static InitializedEntity | InitializeTemporary (QualType Type) |
| Create the initialization entity for a temporary. | |
| static InitializedEntity | InitializeTemporary (ASTContext &Context, TypeSourceInfo *TypeInfo) |
| Create the initialization entity for a temporary. | |
| static InitializedEntity | InitializeTemporary (TypeSourceInfo *TypeInfo, QualType Type) |
| Create the initialization entity for a temporary. | |
| static InitializedEntity | InitializeRelatedResult (ObjCMethodDecl *MD, QualType Type) |
| Create the initialization entity for a related result. | |
| static InitializedEntity | InitializeBase (ASTContext &Context, const CXXBaseSpecifier *Base, bool IsInheritedVirtualBase, const InitializedEntity *Parent=nullptr) |
| Create the initialization entity for a base class subobject. | |
| static InitializedEntity | InitializeDelegation (QualType Type) |
| Create the initialization entity for a delegated constructor. | |
| static InitializedEntity | InitializeMember (FieldDecl *Member, const InitializedEntity *Parent=nullptr) |
| Create the initialization entity for a member subobject. | |
| static InitializedEntity | InitializeMember (IndirectFieldDecl *Member, const InitializedEntity *Parent=nullptr) |
| Create the initialization entity for a member subobject. | |
| static InitializedEntity | InitializeMemberImplicit (FieldDecl *Member) |
| Create the initialization entity for a member subobject with implicit field initializer. | |
| static InitializedEntity | InitializeMemberImplicit (IndirectFieldDecl *Member) |
| Create the initialization entity for a member subobject with implicit field initializer. | |
| static InitializedEntity | InitializeMemberFromParenAggInit (FieldDecl *Member) |
| Create the initialization entity for a member subobject initialized via parenthesized aggregate init. | |
| static InitializedEntity | InitializeMemberFromDefaultMemberInitializer (FieldDecl *Member) |
| Create the initialization entity for a default member initializer. | |
| static InitializedEntity | InitializeElement (ASTContext &Context, unsigned Index, const InitializedEntity &Parent) |
| Create the initialization entity for an array element. | |
| static InitializedEntity | InitializeBinding (VarDecl *Binding) |
| Create the initialization entity for a structured binding. | |
| static InitializedEntity | InitializeLambdaCapture (IdentifierInfo *VarID, QualType FieldType, SourceLocation Loc) |
| Create the initialization entity for a lambda capture. | |
| static InitializedEntity | InitializeCompoundLiteralInit (TypeSourceInfo *TSI) |
| Create the entity for a compound literal initializer. | |
Describes an entity that is being initialized.
Definition at line 47 of file Initialization.h.
Specifies the kind of entity being initialized.
Definition at line 50 of file Initialization.h.
|
strong |
| Enumerator | |
|---|---|
| Normal | |
| ImplicitField | |
| DefaultMember | |
| ParenAgg | |
Definition at line 146 of file Initialization.h.
|
strong |
| Enumerator | |
|---|---|
| KnownLength | |
| UnknownLength | |
Definition at line 141 of file Initialization.h.
|
strong |
| Enumerator | |
|---|---|
| Forbidden | |
| Allowed | |
Definition at line 139 of file Initialization.h.
|
inline |
Definition at line 604 of file Initialization.h.
Referenced by clang::Sema::BuildCXXForRangeStmt(), and clang::sema::checkExprLifetimeImpl().
| bool InitializedEntity::allowsNRVO | ( | ) | const |
Determine whether this initialization allows the named return value optimization, which also applies to thrown objects.
Definition at line 3846 of file SemaInit.cpp.
References Allowed, EK_ArrayElement, EK_Base, EK_Binding, EK_BlockElement, EK_ComplexElement, EK_CompoundLiteralInit, EK_Delegating, EK_Exception, EK_LambdaCapture, EK_LambdaToBlockConversionBlockElement, EK_MatrixElement, EK_Member, EK_New, EK_Parameter, EK_Parameter_CF_Audited, EK_ParenAggInitMember, EK_RelatedResult, EK_Result, EK_StmtExprResult, EK_TemplateParameter, EK_Temporary, EK_Variable, EK_VectorElement, getKind(), and LocAndNRVO.
Referenced by PerformConstructorInitialization().
| LLVM_DUMP_METHOD void InitializedEntity::dump | ( | ) | const |
Dump a representation of the initialized entity to standard error, for debugging purposes.
Definition at line 3931 of file SemaInit.cpp.
|
inline |
Retrieve the base specifier.
Definition at line 526 of file Initialization.h.
References Base, EK_Base, and getKind().
Referenced by clang::Sema::CheckConstructorAccess(), clang::InitializationSequence::Diagnose(), and PerformConstructorInitialization().
|
inline |
For a lambda capture, return the capture's name.
Definition at line 588 of file Initialization.h.
References Capture, EK_LambdaCapture, and getKind().
Referenced by clang::Sema::CheckConstructorAccess().
|
inline |
Determine the location of the capture when initializing field from a captured variable in a lambda.
Definition at line 595 of file Initialization.h.
References Capture, EK_LambdaCapture, and getKind().
Referenced by getInitializationLoc().
| ValueDecl * InitializedEntity::getDecl | ( | ) | const |
Retrieve the variable, parameter, or field being initialized.
Definition at line 3811 of file SemaInit.cpp.
References clang::cast(), EK_ArrayElement, EK_Base, EK_Binding, EK_BlockElement, EK_ComplexElement, EK_CompoundLiteralInit, EK_Delegating, EK_Exception, EK_LambdaCapture, EK_LambdaToBlockConversionBlockElement, EK_MatrixElement, EK_Member, EK_New, EK_Parameter, EK_Parameter_CF_Audited, EK_ParenAggInitMember, EK_RelatedResult, EK_Result, EK_StmtExprResult, EK_TemplateParameter, EK_Temporary, EK_Variable, EK_VectorElement, getKind(), Parameter, and Variable.
Referenced by clang::Sema::BoundsSafetyCheckInitialization(), canPerformArrayCopy(), clang::Sema::CheckConstructorAccess(), clang::sema::checkExprLifetimeImpl(), CheckStringInit(), clang::InitializationSequence::Diagnose(), diagnoseListInit(), getAssignmentAction(), getInitializationLoc(), clang::InitializationSequence::InitializeFrom(), initializingConstexprVariable(), maybeRecoverWithZeroInitialization(), clang::InitializationSequence::Perform(), clang::Sema::PerformCopyInitialization(), TryListInitialization(), and tryObjCWritebackConversion().
|
inline |
If this is an array, vector, or complex number element, get the element's index.
Definition at line 573 of file Initialization.h.
References EK_ArrayElement, EK_ComplexElement, EK_MatrixElement, EK_VectorElement, getKind(), and Index.
|
inline |
Determine the kind of initialization.
Definition at line 476 of file Initialization.h.
Referenced by allowsNRVO(), clang::Sema::BoundsSafetyCheckInitialization(), canPerformArrayCopy(), clang::Sema::CheckConstructorAccess(), clang::Sema::CheckConstructorAccess(), CheckCXX98CompatAccessibleCopy(), CopyObject(), clang::InitializationSequence::Diagnose(), emitBadConversionNotes(), getAssignmentAction(), getBaseSpecifier(), getCapturedVarName(), getCaptureLoc(), getDecl(), getElementIndex(), clang::sema::getEntityLifetime(), getInitializationLoc(), getName(), getReturnLoc(), getThrowLoc(), clang::InitializationSequence::InitializeFrom(), isDefaultMemberInitializer(), isExplicitTemporary(), isIdiomaticBraceElisionEntity(), isImplicitMemberInitializer(), isInheritedVirtualBase(), isParameterKind(), isParamOrTemplateParamKind(), isVariableLengthArrayNew(), MaybeProduceObjCObject(), maybeRecoverWithZeroInitialization(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), setElementIndex(), shouldBindAsTemporary(), shouldDestroyEntity(), TryConstructorInitialization(), TryListInitialization(), TryReferenceListInitialization(), and warnBracedScalarInit().
|
inline |
Retrieve the ObjectiveC method being initialized.
Definition at line 503 of file Initialization.h.
References MethodDecl.
| DeclarationName InitializedEntity::getName | ( | ) | const |
Retrieve the name of the entity being initialized.
Definition at line 3772 of file SemaInit.cpp.
References Capture, EK_ArrayElement, EK_Base, EK_Binding, EK_BlockElement, EK_ComplexElement, EK_CompoundLiteralInit, EK_Delegating, EK_Exception, EK_LambdaCapture, EK_LambdaToBlockConversionBlockElement, EK_MatrixElement, EK_Member, EK_New, EK_Parameter, EK_Parameter_CF_Audited, EK_ParenAggInitMember, EK_RelatedResult, EK_Result, EK_StmtExprResult, EK_TemplateParameter, EK_Temporary, EK_Variable, EK_VectorElement, clang::NamedDecl::getDeclName(), getKind(), Parameter, and Variable.
Referenced by clang::InitializationSequence::Diagnose().
|
inline |
Retrieve the parent of the entity being initialized, when the initialization itself is occurring within the context of a larger initialization.
Definition at line 481 of file Initialization.h.
Referenced by canInitializeArrayWithEmbedDataString(), canPerformArrayCopy(), clang::Sema::CheckConstructorAccess(), clang::sema::checkExprLifetimeImpl(), CheckStringInit(), clang::sema::getEntityLifetime(), initializingConstexprVariable(), isIdiomaticBraceElisionEntity(), and warnBracedScalarInit().
|
inline |
Determine the location of the 'return' keyword when initializing the result of a function call.
Definition at line 559 of file Initialization.h.
References EK_Result, getKind(), and LocAndNRVO.
Referenced by getInitializationLoc().
|
inline |
Determine the location of the 'throw' keyword when initializing an exception object.
Definition at line 566 of file Initialization.h.
References EK_Exception, getKind(), and LocAndNRVO.
Referenced by getInitializationLoc().
|
inline |
Retrieve type being initialized.
Definition at line 484 of file Initialization.h.
Referenced by canInitializeArrayWithEmbedDataString(), clang::Sema::CanPerformAggregateInitializationForOverloadResolution(), clang::Sema::CheckConstructorAccess(), clang::sema::checkExprLifetimeImpl(), CheckStringInit(), clang::InitializationSequence::Diagnose(), diagnoseListInit(), emitBadConversionNotes(), clang::InitializationSequence::InitializeFrom(), isIdiomaticBraceElisionEntity(), MaybeProduceObjCObject(), maybeRecoverWithZeroInitialization(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), clang::Sema::PerformCopyInitialization(), clang::SemaHLSL::transformInitList(), TryArrayCopy(), TryConstructorInitialization(), TryDefaultInitialization(), TryListInitialization(), tryObjCWritebackConversion(), TryOrBuildParenListInitialization(), TryReferenceInitialization(), TryReferenceInitializationCore(), TryReferenceListInitialization(), TryRefInitWithConversionFunction(), TryStringLiteralInitialization(), TryValueInitialization(), and warnBracedScalarInit().
|
inline |
Retrieve complete type-source information for the object being constructed, if known.
Definition at line 488 of file Initialization.h.
References EK_CompoundLiteralInit, EK_Temporary, and TypeInfo.
Referenced by clang::InitializationSequence::Perform(), and PerformConstructorInitialization().
|
static |
Create the initialization entity for a base class subobject.
Definition at line 3760 of file SemaInit.cpp.
References Base, EK_Base, and clang::Result.
Referenced by clang::Sema::BuildBaseInitializer(), BuildImplicitBaseInitializer(), and TryOrBuildParenListInitialization().
|
inlinestatic |
Create the initialization entity for a structured binding.
Definition at line 454 of file Initialization.h.
References EK_Binding.
Referenced by checkTupleLikeDecomposition().
|
inlinestatic |
Definition at line 335 of file Initialization.h.
References EK_BlockElement.
Referenced by clang::Sema::ActOnBlockStmtExpr(), and checkEscapingByref().
|
inlinestatic |
Create the entity for a compound literal initializer.
Definition at line 468 of file Initialization.h.
References EK_CompoundLiteralInit, clang::TypeSourceInfo::getType(), and clang::Result.
Referenced by clang::Sema::BuildCompoundLiteralExpr().
|
inlinestatic |
Create the initialization entity for a delegated constructor.
Definition at line 400 of file Initialization.h.
References EK_Delegating.
Referenced by clang::Sema::BuildDelegatingInitializer().
|
inlinestatic |
Create the initialization entity for an array element.
Definition at line 447 of file Initialization.h.
References Index.
Referenced by clang::SemaOpenACC::CreateFirstPrivateInitRecipe(), TryArrayCopy(), and TryOrBuildParenListInitialization().
|
inlinestatic |
Create the initialization entity for an exception object.
Definition at line 347 of file Initialization.h.
References EK_Exception.
Referenced by clang::Sema::BuildCXXThrow().
|
inlinestatic |
Create the initialization entity for a lambda capture.
VarID The name of the entity being captured, or nullptr for 'this'.
Definition at line 461 of file Initialization.h.
Referenced by clang::Sema::BuildCaptureInit(), and clang::Sema::buildLambdaInitCaptureInitialization().
|
inlinestatic |
Definition at line 340 of file Initialization.h.
References EK_LambdaToBlockConversionBlockElement.
Referenced by clang::Sema::BuildBlockForLambdaConversion().
|
inlinestatic |
Create the initialization entity for a member subobject.
Definition at line 406 of file Initialization.h.
References clang::Member, and Normal.
Referenced by clang::Sema::BuildMemberInitializer(), and clang::SemaObjC::SetIvarInitializers().
|
inlinestatic |
Create the initialization entity for a member subobject.
Definition at line 413 of file Initialization.h.
References clang::Member, and Normal.
|
inlinestatic |
Create the initialization entity for a default member initializer.
Definition at line 442 of file Initialization.h.
References DefaultMember, and clang::Member.
Referenced by clang::Sema::ConvertMemberDefaultInitExpression().
|
inlinestatic |
Create the initialization entity for a member subobject initialized via parenthesized aggregate init.
Definition at line 435 of file Initialization.h.
References clang::Member, and ParenAgg.
Referenced by TryOrBuildParenListInitialization().
|
inlinestatic |
Create the initialization entity for a member subobject with implicit field initializer.
Definition at line 421 of file Initialization.h.
References ImplicitField, and clang::Member.
Referenced by BuildImplicitMemberInitializer(), and CollectFieldInitializer().
|
inlinestatic |
Create the initialization entity for a member subobject with implicit field initializer.
Definition at line 428 of file Initialization.h.
References ImplicitField, and clang::Member.
|
inlinestatic |
Create the initialization entity for an object allocated via new.
Definition at line 354 of file Initialization.h.
References EK_New, and Forbidden.
Referenced by clang::Sema::BuildCXXNew().
|
inlinestatic |
Create the initialization entity for a parameter.
Definition at line 279 of file Initialization.h.
References clang::ValueDecl::getType(), and InitializeParameter().
Referenced by clang::SemaHLSL::ActOnOutParamExpr(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildLiteralOperatorCall(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCNumericLiteral(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildVAArgExpr(), BuiltinAlignment(), BuiltinLaunder(), clang::SemaARM::CheckARMBuiltinExclusiveCall(), checkBuiltinArgument(), clang::SemaRISCV::CheckBuiltinFunctionCall(), clang::SemaObjC::CheckMessageArgumentTypes(), CheckObjCCollectionLiteralElement(), clang::Sema::checkUnknownAnyArg(), convertArgsForAvailabilityChecks(), convertArgumentToType(), clang::Sema::ConvertParamDefaultArgument(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), clang::Sema::GatherArgumentsForCall(), clang::Sema::InitializeExplicitObjectArgument(), InitializeParameter(), makeAttributeArgExpr(), makeLaunchBoundsArgExpr(), PrepareArgumentsForCallToObjectOfClassType(), clang::Sema::SubstDefaultArgument(), and TryListConversion().
|
inlinestatic |
Create the initialization entity for a parameter, but use another type.
Definition at line 287 of file Initialization.h.
References EK_Parameter, clang::Decl::hasAttr(), and Parameter.
|
inlinestatic |
Create the initialization entity for a parameter that is only known by its type.
Definition at line 302 of file Initialization.h.
References EK_Parameter, and Parameter.
|
inlinestatic |
Create the initialization entity for a related result.
Definition at line 386 of file Initialization.h.
References EK_RelatedResult, and clang::Result.
Referenced by clang::Sema::BuildReturnStmt().
|
inlinestatic |
Create the initialization entity for the result of a function.
Definition at line 325 of file Initialization.h.
References EK_Result.
Referenced by clang::Sema::ActOnCapScopeReturnStmt(), clang::SemaObjC::ActOnPropertyImplDecl(), and clang::Sema::BuildReturnStmt().
|
inlinestatic |
Definition at line 330 of file Initialization.h.
References EK_StmtExprResult.
Referenced by clang::Sema::ActOnStmtExprResult().
|
inlinestatic |
Create the initialization entity for a template parameter.
Definition at line 314 of file Initialization.h.
References EK_TemplateParameter, Normal, and Variable.
Referenced by BuildConvertedConstantExpression(), and clang::Sema::CheckTemplateArgument().
|
inlinestatic |
Create the initialization entity for a temporary.
Definition at line 366 of file Initialization.h.
References InitializeTemporary(), clang::opencl_private, and TypeInfo.
|
inlinestatic |
Create the initialization entity for a temporary.
Definition at line 361 of file Initialization.h.
References InitializeTemporary().
Referenced by BuildCXXCastArgument(), clang::Sema::BuildCXXTypeConstructExpr(), clang::SemaObjC::BuildObjCBoxedExpr(), CheckConvertibilityForTypeTraits(), ConvertForConditional(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DefaultArgumentPromotion(), diagnoseListInit(), DiagnoseNonConstructibleReason(), EvaluateBooleanTypeTrait(), clang::Sema::FindCompositePointerType(), InitializeTemporary(), InitializeTemporary(), clang::InitializationSequence::Perform(), TryClassUnification(), clang::Sema::tryConvertExprToType(), tryDiagnoseOverloadedCast(), TryInitializerListConstruction(), TryReferenceInitializationCore(), TryReferenceListInitialization(), and TryStaticImplicitCast().
|
inlinestatic |
Create the initialization entity for a temporary.
Definition at line 378 of file Initialization.h.
References EK_Temporary, clang::Result, and TypeInfo.
|
inlinestatic |
Create the initialization entity for a variable.
Definition at line 274 of file Initialization.h.
Referenced by clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::AddInitializerToDecl(), clang::Sema::buildCoroutinePromise(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildExceptionDeclaration(), clang::SemaOpenACC::CreateFirstPrivateInitRecipe(), clang::SemaOpenACC::CreatePrivateInitRecipe(), clang::SemaOpenACC::CreateReductionInitRecipe(), and clang::Sema::deduceVarTypeFromInitializer().
|
inline |
Is this the default member initializer of a member (specified inside the class definition)?
Definition at line 552 of file Initialization.h.
References DefaultMember, EK_Member, getKind(), and Variable.
Referenced by clang::sema::getEntityLifetime().
|
inline |
Is this the implicit initialization of a member of a class from a defaulted constructor?
Definition at line 545 of file Initialization.h.
References EK_Member, getKind(), ImplicitField, and Variable.
Referenced by canPerformArrayCopy().
|
inline |
Return whether the base is an inherited virtual base.
Definition at line 532 of file Initialization.h.
References Base, EK_Base, and getKind().
Referenced by clang::Sema::CheckConstructorAccess().
|
inline |
Determine whether this initialization consumes the parameter.
Definition at line 520 of file Initialization.h.
References isParameterKind(), and Parameter.
Referenced by MaybeProduceObjCObject().
|
inline |
Definition at line 509 of file Initialization.h.
References EK_Parameter, EK_Parameter_CF_Audited, and getKind().
Referenced by clang::InitializationSequence::InitializeFrom(), isParameterConsumed(), isParamOrTemplateParamKind(), MaybeProduceObjCObject(), clang::InitializationSequence::Perform(), and clang::Sema::PerformCopyInitialization().
|
inline |
Definition at line 514 of file Initialization.h.
References EK_TemplateParameter, getKind(), and isParameterKind().
Referenced by clang::InitializationSequence::Perform().
|
inline |
Determine whether this is an array new with an unknown bound.
Definition at line 538 of file Initialization.h.
References EK_New, getKind(), LocAndNRVO, and UnknownLength.
Referenced by TryOrBuildParenListInitialization().
|
inline |
If this is already the initializer for an array or vector element, sets the element index.
Definition at line 581 of file Initialization.h.
References EK_ArrayElement, EK_ComplexElement, EK_MatrixElement, EK_VectorElement, getKind(), and Index.
|
inline |
Definition at line 600 of file Initialization.h.
References EK_Parameter_CF_Audited.
Referenced by clang::Sema::GatherArgumentsForCall().
| llvm::PointerIntPair<const CXXBaseSpecifier *, 1> clang::InitializedEntity::Base |
When Kind == EK_Base, the base specifier that provides the base class.
The integer specifies whether the base is an inherited virtual base.
Definition at line 228 of file Initialization.h.
Referenced by getBaseSpecifier(), InitializeBase(), and isInheritedVirtualBase().
| struct C clang::InitializedEntity::Capture |
Definition at line 235 of file Initialization.h.
Referenced by getCapturedVarName(), getCaptureLoc(), and getName().
| unsigned clang::InitializedEntity::Index |
When Kind == EK_ArrayElement, EK_VectorElement, EK_MatrixElement, or EK_ComplexElement, the index of the array or vector element being initialized.
Definition at line 233 of file Initialization.h.
Referenced by getElementIndex(), InitializeElement(), and setElementIndex().
| struct LN clang::InitializedEntity::LocAndNRVO |
Definition at line 223 of file Initialization.h.
Referenced by allowsNRVO(), getReturnLoc(), getThrowLoc(), and isVariableLengthArrayNew().
| ObjCMethodDecl* clang::InitializedEntity::MethodDecl |
When Kind == EK_RelatedResult, the ObjectiveC method where result type was implicitly changed to accommodate ARC semantics.
Definition at line 213 of file Initialization.h.
Referenced by getMethodDecl().
| llvm::PointerIntPair<ParmVarDecl *, 1> clang::InitializedEntity::Parameter |
When Kind == EK_Parameter, the ParmVarDecl, with the integer indicating whether the parameter is "consumed".
Definition at line 217 of file Initialization.h.
Referenced by getDecl(), getName(), InitializeParameter(), InitializeParameter(), and isParameterConsumed().
| TypeSourceInfo* clang::InitializedEntity::TypeInfo |
When Kind == EK_Temporary or EK_CompoundLiteralInit, the type source information for the temporary.
Definition at line 221 of file Initialization.h.
Referenced by getTypeSourceInfo(), InitializeTemporary(), and InitializeTemporary().
| VD clang::InitializedEntity::Variable |
When Kind == EK_Variable, EK_Member, EK_Binding, or EK_TemplateParameter, the variable, binding, or template parameter.
Definition at line 209 of file Initialization.h.
Referenced by getDecl(), getName(), InitializeTemplateParameter(), isDefaultMemberInitializer(), and isImplicitMemberInitializer().