class LifetimeExtendedTemporaryDecl
Declaration
class LifetimeExtendedTemporaryDecl : public Decl, public Mergeable { /* full declaration omitted */ };
Description
Implicit declaration of a temporary that was materialized by a MaterializeTemporaryExpr and lifetime-extended by a declaration
Declared at: clang/include/clang/AST/DeclCXX.h:3127
Inherits from: Decl, Mergeable
Member Variables
- private clang::Stmt* ExprWithTemporary = nullptr
- private clang::ValueDecl* ExtendingDecl = nullptr
- The declaration which lifetime-extended this reference, if any. Either a VarDecl, or (for a ctor-initializer) a FieldDecl.
- private unsigned int ManglingNumber
- private clang::APValue* Value = nullptr
Inherited from Decl:
- protected NextInContextAndBits
- protected Access
- protected FromASTFile
- protected IdentifierNamespace
- protected CacheValidAndLinkage
Method Overview
- public static clang::LifetimeExtendedTemporaryDecl * Create(clang::Expr * Temp, clang::ValueDecl * EDec, unsigned int Mangling)
- public static clang::LifetimeExtendedTemporaryDecl * CreateDeserialized(clang::ASTContext & C, unsigned int ID)
- private LifetimeExtendedTemporaryDecl(clang::Expr * Temp, clang::ValueDecl * EDecl, unsigned int Mangling)
- private LifetimeExtendedTemporaryDecl(clang::Decl::EmptyShell)
- private virtual void anchor()
- public Stmt::const_child_range childrenExpr() const
- public Stmt::child_range childrenExpr()
- public static bool classof(const clang::Decl * D)
- public static bool classofKind(clang::Decl::Kind K)
- public const clang::ValueDecl * getExtendingDecl() const
- public clang::ValueDecl * getExtendingDecl()
- public unsigned int getManglingNumber() const
- public clang::APValue * getOrCreateValue(bool MayCreate) const
- public clang::StorageDuration getStorageDuration() const
- public const clang::Expr * getTemporaryExpr() const
- public clang::Expr * getTemporaryExpr()
- public clang::APValue * getValue() const
Inherited from Decl:
- public EnableStatistics
- public PrintStats
- public add
- public addAttr
- public attr_begin
- public attr_end
- public attrs
- public canBeWeakImported
- public castFromDeclContext
- public castToDeclContext
- public classofKind
- public dropAttr
- public dropAttrs
- public dump
- public dump
- public dumpColor
- public getASTContext
- protected getASTMutationListener
- public getAccess
- public getAccessUnsafe
- public getAsFunction
- public getAsFunction
- public getAttr
- public getAttrs
- public getAttrs
- public getAvailability
- public getBeginLoc
- public getBody
- public getBodyRBrace
- protected getCachedLinkage
- public getCanonicalDecl
- public getCanonicalDecl
- public getDeclContext
- public getDeclContext
- public getDeclKindName
- public getDefiningAttr
- public getDescribedTemplate
- public getDescribedTemplateParams
- public getEndLoc
- public getExternalSourceSymbolAttr
- public getFriendObjectKind
- public getFunctionType
- public getGlobalID
- public getID
- public getIdentifierNamespace
- public getIdentifierNamespaceForKind
- public getImportedOwningModule
- public getKind
- public getLangOpts
- public getLexicalDeclContext
- public getLexicalDeclContext
- public getLocalOwningModule
- public getLocation
- public getMaxAlignment
- public getModuleOwnershipKind
- public getMostRecentDecl
- public getMostRecentDecl
- protected getMostRecentDeclImpl
- public getNextDeclInContext
- public getNextDeclInContext
- protected getNextRedeclarationImpl
- public getNonClosureContext
- public getNonClosureContext
- public getOwningModule
- public getOwningModuleForLinkage
- public getOwningModuleID
- public getParentFunctionOrMethod
- public getParentFunctionOrMethod
- public getPreviousDecl
- public getPreviousDecl
- protected getPreviousDeclImpl
- public getSourceRange
- public getTemplateDepth
- public getTranslationUnitDecl
- public getTranslationUnitDecl
- public getVersionIntroduced
- public hasAttr
- public hasAttrs
- public hasBody
- protected hasCachedLinkage
- public hasDefiningAttr
- protected hasLocalOwningModuleStorage
- public hasOwningModule
- public hasTagIdentifierNamespace
- public isCanonicalDecl
- public isDefinedOutsideFunctionOrMethod
- public isDeprecated
- public isDiscardedInGlobalModuleFragment
- public isFirstDecl
- public isFromASTFile
- public isFunctionOrFunctionTemplate
- public isImplicit
- public isInAnonymousNamespace
- public isInExportDeclContext
- public isInIdentifierNamespace
- public isInLocalScopeForInstantiation
- public isInStdNamespace
- public isInvalidDecl
- public isInvisibleOutsideTheOwningModule
- public isLocalExternDecl
- public isModulePrivate
- public isOutOfLine
- public isParameterPack
- public isReachable
- public isReferenced
- public isTagIdentifierNamespace
- public isTemplateDecl
- public isTemplateParameter
- public isTemplateParameterPack
- public isTemplated
- public isThisDeclarationReferenced
- public isTopLevelDeclInObjCContainer
- public isUnavailable
- public isUnconditionallyVisible
- public isUsed
- public isWeakImported
- public markUsed
- public print
- public print
- public printGroup
- public redecls
- public redecls_begin
- public redecls_end
- public setAccess
- public setAttrs
- protected setCachedLinkage
- public setDeclContext
- public setFromASTFile
- public setImplicit
- public setInvalidDecl
- public setIsUsed
- public setLexicalDeclContext
- public setLocalExternDecl
- public setLocalOwningModule
- public setLocation
- public setModuleOwnershipKind
- protected setModulePrivate
- public setNonMemberOperator
- public setObjectOfFriendDecl
- public setOwningModuleID
- public setReferenced
- public setTopLevelDeclInObjCContainer
- public setVisibleDespiteOwningModule
- public specific_attr_begin
- public specific_attr_end
- public specific_attrs
- protected updateOutOfDate
Methods
¶static clang::LifetimeExtendedTemporaryDecl*
Create(clang::Expr* Temp,
clang::ValueDecl* EDec,
unsigned int Mangling)
static clang::LifetimeExtendedTemporaryDecl*
Create(clang::Expr* Temp,
clang::ValueDecl* EDec,
unsigned int Mangling)
Declared at: clang/include/clang/AST/DeclCXX.h:3154
Parameters
- clang::Expr* Temp
- clang::ValueDecl* EDec
- unsigned int Mangling
¶static clang::LifetimeExtendedTemporaryDecl*
CreateDeserialized(clang::ASTContext& C,
unsigned int ID)
static clang::LifetimeExtendedTemporaryDecl*
CreateDeserialized(clang::ASTContext& C,
unsigned int ID)
Declared at: clang/include/clang/AST/DeclCXX.h:3159
Parameters
- clang::ASTContext& C
- unsigned int ID
¶LifetimeExtendedTemporaryDecl(
clang::Expr* Temp,
clang::ValueDecl* EDecl,
unsigned int Mangling)
LifetimeExtendedTemporaryDecl(
clang::Expr* Temp,
clang::ValueDecl* EDecl,
unsigned int Mangling)
Declared at: clang/include/clang/AST/DeclCXX.h:3144
Parameters
- clang::Expr* Temp
- clang::ValueDecl* EDecl
- unsigned int Mangling
¶LifetimeExtendedTemporaryDecl(
clang::Decl::EmptyShell)
LifetimeExtendedTemporaryDecl(
clang::Decl::EmptyShell)
Declared at: clang/include/clang/AST/DeclCXX.h:3150
Parameters
¶virtual void anchor()
virtual void anchor()
Declared at: clang/include/clang/AST/DeclCXX.h:3142
¶Stmt::const_child_range childrenExpr() const
Stmt::const_child_range childrenExpr() const
Declared at: clang/include/clang/AST/DeclCXX.h:3191
¶Stmt::child_range childrenExpr()
Stmt::child_range childrenExpr()
Declared at: clang/include/clang/AST/DeclCXX.h:3187
¶static bool classof(const clang::Decl* D)
static bool classof(const clang::Decl* D)
Declared at: clang/include/clang/AST/DeclCXX.h:3195
Parameters
- const clang::Decl* D
¶static bool classofKind(clang::Decl::Kind K)
static bool classofKind(clang::Decl::Kind K)
Declared at: clang/include/clang/AST/DeclCXX.h:3196
Parameters
- clang::Decl::Kind K
¶const clang::ValueDecl* getExtendingDecl() const
const clang::ValueDecl* getExtendingDecl() const
Declared at: clang/include/clang/AST/DeclCXX.h:3165
¶clang::ValueDecl* getExtendingDecl()
clang::ValueDecl* getExtendingDecl()
Declared at: clang/include/clang/AST/DeclCXX.h:3164
¶unsigned int getManglingNumber() const
unsigned int getManglingNumber() const
Declared at: clang/include/clang/AST/DeclCXX.h:3178
¶clang::APValue* getOrCreateValue(
bool MayCreate) const
clang::APValue* getOrCreateValue(
bool MayCreate) const
Description
Get the storage for the constant value of a materialized temporary of static storage duration.
Declared at: clang/include/clang/AST/DeclCXX.h:3182
Parameters
- bool MayCreate
¶clang::StorageDuration getStorageDuration() const
clang::StorageDuration getStorageDuration() const
Description
Retrieve the storage duration for the materialized temporary.
Declared at: clang/include/clang/AST/DeclCXX.h:3168
¶const clang::Expr* getTemporaryExpr() const
const clang::Expr* getTemporaryExpr() const
Declared at: clang/include/clang/AST/DeclCXX.h:3176
¶clang::Expr* getTemporaryExpr()
clang::Expr* getTemporaryExpr()
Description
Retrieve the expression to which the temporary materialization conversion was applied. This isn't necessarily the initializer of the temporary due to the C++98 delayed materialization rules, but skipRValueSubobjectAdjustments can be used to find said initializer within the subexpression.
Declared at: clang/include/clang/AST/DeclCXX.h:3175
¶clang::APValue* getValue() const
clang::APValue* getValue() const
Declared at: clang/include/clang/AST/DeclCXX.h:3184