clang 8.0.0

Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
clang::CapturedDecl Class Referencefinal

Represents the body of a CapturedStmt, and serves as its DeclContext. More...

`#include "clang/AST/Decl.h"`

Inheritance diagram for clang::CapturedDecl:
[legend]
Collaboration diagram for clang::CapturedDecl:
[legend]

## Public Types
using | param_iterator = ImplicitParamDecl *const *
using | param_range = llvm::iterator_range< param_iterator >
Public Types inherited from clang::Decl
enum | Kind
| Lists the kind of concrete classes of Decl. More...
enum | IdentifierNamespace { IDNS_Label = 0x0001, IDNS_Tag = 0x0002, IDNS_Type = 0x0004, IDNS_Member = 0x0008, IDNS_Namespace = 0x0010, IDNS_Ordinary = 0x0020, IDNS_ObjCProtocol = 0x0040, IDNS_OrdinaryFriend = 0x0080, IDNS_TagFriend = 0x0100, IDNS_Using = 0x0200, IDNS_NonMemberOperator = 0x0400, IDNS_LocalExtern = 0x0800, IDNS_OMPReduction = 0x1000 }
| IdentifierNamespace - The different namespaces in which declarations may appear. More...
enum | ObjCDeclQualifier { OBJC_TQ_None = 0x0, OBJC_TQ_In = 0x1, OBJC_TQ_Inout = 0x2, OBJC_TQ_Out = 0x4, OBJC_TQ_Bycopy = 0x8, OBJC_TQ_Byref = 0x10, OBJC_TQ_Oneway = 0x20, OBJC_TQ_CSNullability = 0x40 }
| ObjCDeclQualifier - 'Qualifiers' written next to the return and parameter types in method declarations. More...
enum | ModuleOwnershipKind : unsigned { ModuleOwnershipKind::Unowned, ModuleOwnershipKind::Visible, ModuleOwnershipKind::VisibleWhenImported, ModuleOwnershipKind::ModulePrivate }
| The kind of ownership a declaration has, for visibility purposes. More...
enum | FriendObjectKind { FOK_None, FOK_Declared, FOK_Undeclared }
using | attr_iterator = AttrVec::const_iterator
using | attr_range = llvm::iterator_range< attr_iterator >
using | redecl_range = llvm::iterator_range< redecl_iterator >
Public Types inherited from clang::DeclContext
using | decl_range = llvm::iterator_range< decl_iterator >
using | lookup_result = DeclContextLookupResult
using | lookup_iterator = lookup_result::iterator
using | lookups_range = llvm::iterator_range< all_lookups_iterator >
using | udir_iterator_base = llvm::iterator_adaptor_base< udir_iterator, lookup_iterator, std::random_access_iterator_tag, UsingDirectiveDecl * >
using | udir_range = llvm::iterator_range< udir_iterator >
using | ddiag_range = llvm::iterator_range< DeclContext::ddiag_iterator >

## Public Member Functions
Stmt * | getBody () const override
| getBody - If this Decl represents a declaration for a body of code, such as a function or method definition, this method returns the top-level Stmt* of that body. More...
void | setBody (Stmt *B)
bool | isNothrow () const
void | setNothrow (bool Nothrow=true)
unsigned | getNumParams () const
ImplicitParamDecl * | getParam (unsigned i) const
void | setParam (unsigned i, ImplicitParamDecl *P)
ArrayRef< ImplicitParamDecl * > | parameters () const
MutableArrayRef< ImplicitParamDecl * > | parameters ()
ImplicitParamDecl * | getContextParam () const
| Retrieve the parameter containing captured variables. More...
void | setContextParam (unsigned i, ImplicitParamDecl *P)
unsigned | getContextParamPosition () const
param_iterator | param_begin () const
| Retrieve an iterator pointing to the first parameter decl. More...
param_iterator | param_end () const
| Retrieve an iterator one past the last parameter decl. More...
Public Member Functions inherited from clang::Decl
virtual SourceRange | getSourceRange () const LLVM_READONLY
| Source range that this declaration covers. More...
SourceLocation | getBeginLoc () const LLVM_READONLY
SourceLocation | getEndLoc () const LLVM_READONLY
SourceLocation | getLocation () const
void | setLocation (SourceLocation L)
Kind | getKind () const
const char * | getDeclKindName () const
Decl * | getNextDeclInContext ()
const Decl * | getNextDeclInContext () const
DeclContext * | getDeclContext ()
const DeclContext * | getDeclContext () const
Decl * | getNonClosureContext ()
| Find the innermost non-closure ancestor of this declaration, walking up through blocks, lambdas, etc. More...
const Decl * | getNonClosureContext () const
TranslationUnitDecl * | getTranslationUnitDecl ()
const TranslationUnitDecl * | getTranslationUnitDecl () const
bool | isInAnonymousNamespace () const
bool | isInStdNamespace () const
ASTContext & | getASTContext () const LLVM_READONLY
void | setAccess (AccessSpecifier AS)
AccessSpecifier | getAccess () const
AccessSpecifier | getAccessUnsafe () const
| Retrieve the access specifier for this declaration, even though it may not yet have been properly set. More...
bool | hasAttrs () const
void | setAttrs (const AttrVec &Attrs)
AttrVec & | getAttrs ()
const AttrVec & | getAttrs () const
void | dropAttrs ()
void | addAttr (Attr *A)
attr_range | attrs () const
attr_iterator | attr_begin () const
attr_iterator | attr_end () const
template<typename T >
void | dropAttr ()
template<typename T >
llvm::iterator_range< specific_attr_iterator< T > > | specific_attrs () const
template<typename T >
specific_attr_iterator< T > | specific_attr_begin () const
template<typename T >
specific_attr_iterator< T > | specific_attr_end () const
template<typename T >
T * | getAttr () const
template<typename T >
bool | hasAttr () const
unsigned | getMaxAlignment () const
| getMaxAlignment - return the maximum alignment specified by attributes on this decl, 0 if there are none. More...
void | setInvalidDecl (bool Invalid=true)
| setInvalidDecl - Indicates the Decl had a semantic error. More...
bool | isInvalidDecl () const
bool | isImplicit () const
| isImplicit - Indicates whether the declaration was implicitly generated by the implementation. More...
void | setImplicit (bool I=true)
bool | isUsed (bool CheckUsedAttr=true) const
| Whether any (re-)declaration of the entity was used, meaning that a definition is required. More...
void | setIsUsed ()
| Set whether the declaration is used, in the sense of odr-use. More...
void | markUsed (ASTContext &C)
| Mark the declaration used, in the sense of odr-use. More...
bool | isReferenced () const
| Whether any declaration of this entity was referenced. More...
bool | isThisDeclarationReferenced () const
| Whether this declaration was referenced. More...
void | setReferenced (bool R=true)
bool | isTopLevelDeclInObjCContainer () const
| Whether this declaration is a top-level declaration (function, global variable, etc.) that is lexically inside an objc container definition. More...
void | setTopLevelDeclInObjCContainer (bool V=true)
ExternalSourceSymbolAttr * | getExternalSourceSymbolAttr () const
| Looks on this and related declarations for an applicable external source symbol attribute. More...
bool | isModulePrivate () const
| Whether this declaration was marked as being private to the module in which it was defined. More...
bool | isExported () const
| Whether this declaration is exported (by virtue of being lexically within an ExportDecl or by being a NamespaceDecl). More...
bool | hasDefiningAttr () const
| Return true if this declaration has an attribute which acts as definition of the entity, such as 'alias' or 'ifunc'. More...
const Attr * | getDefiningAttr () const
| Return this declaration's defining attribute if it has one. More...
AvailabilityResult | getAvailability (std::string *Message=nullptr, VersionTuple EnclosingVersion=VersionTuple(), StringRef *RealizedPlatform=nullptr) const
| Determine the availability of the given declaration. More...
VersionTuple | getVersionIntroduced () const
| Retrieve the version of the target platform in which this declaration was introduced. More...
bool | isDeprecated (std::string *Message=nullptr) const
| Determine whether this declaration is marked 'deprecated'. More...
bool | isUnavailable (std::string *Message=nullptr) const
| Determine whether this declaration is marked 'unavailable'. More...
bool | isWeakImported () const
| Determine whether this is a weak-imported symbol. More...
bool | canBeWeakImported (bool &IsDefinition) const
| Determines whether this symbol can be weak-imported, e.g., whether it would be well-formed to add the weak_import attribute. More...
bool | isFromASTFile () const
| Determine whether this declaration came from an AST file (such as a precompiled header or module) rather than having been parsed. More...
unsigned | getGlobalID () const
| Retrieve the global declaration ID associated with this declaration, which specifies where this Decl was loaded from. More...
unsigned | getOwningModuleID () const
| Retrieve the global ID of the module that owns this particular declaration. More...
Module * | getImportedOwningModule () const
| Get the imported owning module, if this decl is from an imported (non-local) module. More...
Module * | getLocalOwningModule () const
| Get the local owning module, if known. More...
void | setLocalOwningModule (Module *M)
bool | hasOwningModule () const
| Is this declaration owned by some module? More...
Module * | getOwningModule () const
| Get the module that owns this declaration (for visibility purposes). More...
Module * | getOwningModuleForLinkage (bool IgnoreLinkage=false) const
| Get the module that owns this declaration for linkage purposes. More...
bool | isHidden () const
| Determine whether this declaration might be hidden from name lookup. More...
void | setVisibleDespiteOwningModule ()
| Set that this declaration is globally visible, even if it came from a module that is not visible. More...
ModuleOwnershipKind | getModuleOwnershipKind () const
| Get the kind of module ownership for this declaration. More...
void | setModuleOwnershipKind (ModuleOwnershipKind MOK)
| Set whether this declaration is hidden from name lookup. More...
unsigned | getIdentifierNamespace () const
bool | isInIdentifierNamespace (unsigned NS) const
bool | hasTagIdentifierNamespace () const
DeclContext * | getLexicalDeclContext ()
| getLexicalDeclContext - The declaration context where this Decl was lexically declared (LexicalDC). More...
const DeclContext * | getLexicalDeclContext () const
virtual bool | isOutOfLine () const
| Determine whether this declaration is declared out of line (outside its semantic context). More...
void | setDeclContext (DeclContext *DC)
| setDeclContext - Set both the semantic and lexical DeclContext to DC. More...
void | setLexicalDeclContext (DeclContext *DC)
bool | isTemplated () const
| Determine whether this declaration is a templated entity (whether it is. More...
bool | isDefinedOutsideFunctionOrMethod () const
| isDefinedOutsideFunctionOrMethod - This predicate returns true if this scoped decl is defined outside the current function or method. More...
bool | isLexicallyWithinFunctionOrMethod () const
| Returns true if this declaration lexically is inside a function. More...
const DeclContext * | getParentFunctionOrMethod () const
| If this decl is defined inside a function/method/block it returns the corresponding DeclContext, otherwise it returns null. More...
DeclContext * | getParentFunctionOrMethod ()
virtual Decl * | getCanonicalDecl ()
| Retrieves the "canonical" declaration of the given declaration. More...
const Decl * | getCanonicalDecl () const
bool | isCanonicalDecl () const
| Whether this particular Decl is a canonical one. More...
redecl_range | redecls () const
| Returns an iterator range for all the redeclarations of the same decl. More...
redecl_iterator | redecls_begin () const
redecl_iterator | redecls_end () const
Decl * | getPreviousDecl ()
| Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration. More...
const Decl * | getPreviousDecl () const
| Retrieve the most recent declaration that declares the same entity as this declaration, or NULL if there is no previous declaration. More...
bool | isFirstDecl () const
| True if this is the first declaration in its redeclaration chain. More...
Decl * | getMostRecentDecl ()
| Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration). More...
const Decl * | getMostRecentDecl () const
| Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration). More...
virtual bool | hasBody () const
| Returns true if this `Decl` represents a declaration for a body of code, such as a function or method definition. More...
SourceLocation | getBodyRBrace () const
| getBodyRBrace - Gets the right brace of the body, if a body exists. More...
bool | isTemplateParameter () const
| isTemplateParameter - Determines whether this declaration is a template parameter. More...
bool | isTemplateParameterPack () const
| isTemplateParameter - Determines whether this declaration is a template parameter pack. More...
bool | isParameterPack () const
| Whether this declaration is a parameter pack. More...
bool | isTemplateDecl () const
| returns true if this declaration is a template More...
bool | isFunctionOrFunctionTemplate () const
| Whether this declaration is a function or function template. More...
TemplateDecl * | getDescribedTemplate () const
| If this is a declaration that describes some template, this method returns that template declaration. More...
FunctionDecl * | getAsFunction () LLVM_READONLY
| Returns the function itself, or the templated function if this is a function template. More...
const FunctionDecl * | getAsFunction () const
void | setLocalExternDecl ()
| Changes the namespace of this declaration to reflect that it's a function-local extern declaration. More...
bool | isLocalExternDecl ()
| Determine whether this is a block-scope declaration with linkage. More...
void | setObjectOfFriendDecl (bool PerformFriendInjection=false)
| Changes the namespace of this declaration to reflect that it's the object of a friend declaration. More...
FriendObjectKind | getFriendObjectKind () const
| Determines whether this declaration is the object of a friend declaration and, if so, what kind. More...
void | setNonMemberOperator ()
| Specifies that this declaration is a C++ overloaded non-member. More...
void | print (raw_ostream &Out, unsigned Indentation=0, bool PrintInstantiation=false) const
void | print (raw_ostream &Out, const PrintingPolicy &Policy, unsigned Indentation=0, bool PrintInstantiation=false) const
void | dump () const
void | dumpColor () const
void | dump (raw_ostream &Out, bool Deserialize=false) const
int64_t | getID () const
const FunctionType * | getFunctionType (bool BlocksToo=true) const
| Looks through the Decl's underlying type to extract a FunctionType when possible. More...
Public Member Functions inherited from clang::DeclContext
| ~DeclContext ()
Decl::Kind | getDeclKind () const
const char * | getDeclKindName () const
DeclContext * | getParent ()
| getParent - Returns the containing DeclContext. More...
const DeclContext * | getParent () const
DeclContext * | getLexicalParent ()
| getLexicalParent - Returns the containing lexical DeclContext. More...
const DeclContext * | getLexicalParent () const
DeclContext * | getLookupParent ()
| Find the parent context of this context that will be used for unqualified name lookup. More...
const DeclContext * | getLookupParent () const
ASTContext & | getParentASTContext () const
bool | isClosure () const
bool | isObjCContainer () const
bool | isFunctionOrMethod () const
bool | isLookupContext () const
| Test whether the context supports looking up names. More...
bool | isFileContext () const
bool | isTranslationUnit () const
bool | isRecord () const
bool | isNamespace () const
bool | isStdNamespace () const
bool | isInlineNamespace () const
bool | isDependentContext () const
| Determines whether this context is dependent on a template parameter. More...
bool | isTransparentContext () const
| isTransparentContext - Determines whether this context is a "transparent" context, meaning that the members declared in this context are semantically declared in the nearest enclosing non-transparent (opaque) context but are lexically declared in this context. More...
bool | isExternCContext () const
| Determines whether this context or some of its ancestors is a linkage specification context that specifies C linkage. More...
const LinkageSpecDecl * | getExternCContext () const
| Retrieve the nearest enclosing C linkage specification context. More...
bool | isExternCXXContext () const
| Determines whether this context or some of its ancestors is a linkage specification context that specifies C++ linkage. More...
bool | Equals (const DeclContext *DC) const
| Determine whether this declaration context is equivalent to the declaration context DC. More...
bool | Encloses (const DeclContext *DC) const
| Determine whether this declaration context encloses the declaration context DC. More...
Decl * | getNonClosureAncestor ()
| Find the nearest non-closure ancestor of this context, i.e. More...
const Decl * | getNonClosureAncestor () const
DeclContext * | getPrimaryContext ()
| getPrimaryContext - There may be many different declarations of the same entity (including forward declarations of classes, multiple definitions of namespaces, etc.), each with a different set of declarations. More...
const DeclContext * | getPrimaryContext () const
DeclContext * | getRedeclContext ()
| getRedeclContext - Retrieve the context in which an entity conflicts with other entities of the same name, or where it is a redeclaration if the two entities are compatible. More...
const DeclContext * | getRedeclContext () const
DeclContext * | getEnclosingNamespaceContext ()
| Retrieve the nearest enclosing namespace context. More...
const DeclContext * | getEnclosingNamespaceContext () const
RecordDecl * | getOuterLexicalRecordContext ()
| Retrieve the outermost lexically enclosing record context. More...
const RecordDecl * | getOuterLexicalRecordContext () const
bool | InEnclosingNamespaceSetOf (const DeclContext *NS) const
| Test if this context is part of the enclosing namespace set of the context NS, as defined in C++0x [namespace.def]p9. More...
void | collectAllContexts (SmallVectorImpl< DeclContext *> &Contexts)
| Collects all of the declaration contexts that are semantically connected to this declaration context. More...
decl_range | decls () const
| decls_begin/decls_end - Iterate over the declarations stored in this context. More...
decl_iterator | decls_begin () const
decl_iterator | decls_end () const
bool | decls_empty () const
decl_range | noload_decls () const
| noload_decls_begin/end - Iterate over the declarations stored in this context that are currently loaded; don't attempt to retrieve anything from an external source. More...
decl_iterator | noload_decls_begin () const
decl_iterator | noload_decls_end () const
void | addDecl (Decl *D)
| Add the declaration D into this context. More...
void | addDeclInternal (Decl *D)
| Add the declaration D into this context, but suppress searches for external declarations with the same name. More...
void | addHiddenDecl (Decl *D)
| Add the declaration D to this context without modifying any lookup tables. More...
void | removeDecl (Decl *D)
| Removes a declaration from this context. More...
bool | containsDecl (Decl *D) const
| Checks whether a declaration is in this context. More...
bool | containsDeclAndLoad (Decl *D) const
| Checks whether a declaration is in this context. More...
lookup_result | lookup (DeclarationName Name) const
| lookup - Find the declarations (if any) with the given Name in this context. More...
lookup_result | noload_lookup (DeclarationName Name)
| Find the declarations with the given name that are visible within this context; don't attempt to retrieve anything from an external source. More...
void | localUncachedLookup (DeclarationName Name, SmallVectorImpl< NamedDecl *> &Results)
| A simplistic name lookup mechanism that performs name lookup into this declaration context without consulting the external source. More...
void | makeDeclVisibleInContext (NamedDecl *D)
| Makes a declaration visible within this context. More...
lookups_range | lookups () const
lookups_range | noload_lookups (bool PreserveInternalState) const
all_lookups_iterator | lookups_begin () const
| Iterators over all possible lookups within this context. More...
all_lookups_iterator | lookups_end () const
all_lookups_iterator | noload_lookups_begin () const
| Iterators over all possible lookups within this context that are currently loaded; don't attempt to retrieve anything from an external source. More...
all_lookups_iterator | noload_lookups_end () const
udir_range | using_directives () const
| Returns iterator range [First, Last) of UsingDirectiveDecls stored within this context. More...
ddiag_range | ddiags () const
void | setMustBuildLookupTable ()
| Mark that there are external lexical declarations that we need to include in our lookup table (and that are not available as external visible lookups). More...
StoredDeclsMap * | getLookupPtr () const
| Retrieve the internal representation of the lookup structure. More...
StoredDeclsMap * | buildLookup ()
| Ensure the lookup structure is fully-built and return it. More...
bool | hasExternalLexicalStorage () const
| Whether this DeclContext has external storage containing additional declarations that are lexically in this context. More...
void | setHasExternalLexicalStorage (bool ES=true) const
| State whether this DeclContext has external storage for declarations lexically in this context. More...
bool | hasExternalVisibleStorage () const
| Whether this DeclContext has external storage containing additional declarations that are visible in this context. More...
void | setHasExternalVisibleStorage (bool ES=true) const
| State whether this DeclContext has external storage for declarations visible in this context. More...
bool | isDeclInLexicalTraversal (const Decl *D) const
| Determine whether the given declaration is stored in the list of declarations lexically within this context. More...
bool | setUseQualifiedLookup (bool use=true) const
bool | shouldUseQualifiedLookup () const
void | dumpDeclContext () const
void | dumpLookups () const
void | dumpLookups (llvm::raw_ostream &OS, bool DumpDecls=false, bool Deserialize=false) const

## Static Public Member Functions
static CapturedDecl * | Create (ASTContext &C, DeclContext *DC, unsigned NumParams)
static CapturedDecl * | CreateDeserialized (ASTContext &C, unsigned ID, unsigned NumParams)
static bool | classof (const Decl *D)
static bool | classofKind (Kind K)
static DeclContext * | castToDeclContext (const CapturedDecl *D)
static CapturedDecl * | castFromDeclContext (const DeclContext *DC)
Static Public Member Functions inherited from clang::Decl
static unsigned | getIdentifierNamespaceForKind (Kind DK)
static bool | isTagIdentifierNamespace (unsigned NS)
static void | add (Kind k)
static void | EnableStatistics ()
static void | PrintStats ()
static bool | classofKind (Kind K)
static DeclContext * | castToDeclContext (const Decl *)
static Decl * | castFromDeclContext (const DeclContext *)
static void | printGroup (Decl **Begin, unsigned NumDecls, raw_ostream &Out, const PrintingPolicy &Policy, unsigned Indentation=0)
Static Public Member Functions inherited from clang::DeclContext
static bool | classof (const Decl *D)
static bool | classof (const DeclContext *D)

## Public Attributes
friend | TrailingObjects

## Protected Member Functions
size_t | numTrailingObjects (OverloadToken< ImplicitParamDecl >)
Protected Member Functions inherited from clang::Decl
void * | operator new (std::size_t Size, const ASTContext &Ctx, unsigned ID, std::size_t Extra=0)
| Allocate memory for a deserialized declaration. More...
void * | operator new (std::size_t Size, const ASTContext &Ctx, DeclContext *Parent, std::size_t Extra=0)
| Allocate memory for a non-deserialized declaration. More...
| Decl (Kind DK, DeclContext *DC, SourceLocation L)
| Decl (Kind DK, EmptyShell Empty)
virtual | ~Decl ()
void | updateOutOfDate (IdentifierInfo &II) const
| Update a potentially out-of-date declaration. More...
Linkage | getCachedLinkage () const
void | setCachedLinkage (Linkage L) const
bool | hasCachedLinkage () const
void | setModulePrivate ()
| Specify that this declaration was marked as being private to the module in which it was defined. More...
void | setOwningModuleID (unsigned ID)
| Set the owning module ID. More...
bool | hasLocalOwningModuleStorage () const
virtual Decl * | getNextRedeclarationImpl ()
| Returns the next redeclaration or itself if this is the only decl. More...
virtual Decl * | getPreviousDeclImpl ()
| Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain. More...
virtual Decl * | getMostRecentDeclImpl ()
| Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chain. More...
ASTMutationListener * | getASTMutationListener () const
Protected Member Functions inherited from clang::DeclContext
| DeclContext (Decl::Kind K)

## Friends
class | ASTDeclReader
class | ASTDeclWriter

## Additional Inherited Members
Static Protected Member Functions inherited from clang::DeclContext
static std::pair< Decl *, Decl * > | BuildDeclChain (ArrayRef< Decl *> Decls, bool FieldsAlreadyLoaded)
| Build up a chain of declarations. More...
Protected Attributes inherited from clang::Decl
llvm::PointerIntPair< Decl *, 2, ModuleOwnershipKind > | NextInContextAndBits
| The next declaration within the same lexical DeclContext. More...
unsigned | Access: 2
| Access - Used by C++ decls for the access specifier. More...
unsigned | FromASTFile: 1
| Whether this declaration was loaded from an AST file. More...
unsigned | IdentifierNamespace: 13
| IdentifierNamespace - This specifies what IDNS_* namespace this lives in. More...
unsigned | CacheValidAndLinkage: 3
| If 0, we have not computed the linkage of this declaration. More...
Protected Attributes inherited from clang::DeclContext
union {
DeclContextBitfields DeclContextBits
TagDeclBitfields TagDeclBits
EnumDeclBitfields EnumDeclBits
RecordDeclBitfields RecordDeclBits
OMPDeclareReductionDeclBitfields OMPDeclareReductionDeclBits
FunctionDeclBitfields FunctionDeclBits
CXXConstructorDeclBitfields CXXConstructorDeclBits
ObjCMethodDeclBitfields ObjCMethodDeclBits
ObjCContainerDeclBitfields ObjCContainerDeclBits
LinkageSpecDeclBitfields LinkageSpecDeclBits
BlockDeclBitfields BlockDeclBits
}; |
| This anonymous union stores the bits belonging to DeclContext and classes deriving from it. More...
Decl * | FirstDecl = nullptr
| FirstDecl - The first declaration stored within this declaration context. More...
Decl * | LastDecl = nullptr
| LastDecl - The last declaration stored within this declaration context. More...

## Detailed Description

Represents the body of a CapturedStmt, and serves as its DeclContext.

Definition at line 4044 of file Decl.h.

## Member Typedef Documentation

## ◆ param_iterator

using clang::CapturedDecl::param_iterator = ImplicitParamDecl *const *

Definition at line 4120 of file Decl.h.

## ◆ param_range

using clang::CapturedDecl::param_range = llvm::iterator_range<param_iterator>

Definition at line 4121 of file Decl.h.

## Member Function Documentation

## ◆ castFromDeclContext()

static CapturedDecl* clang::CapturedDecl::castFromDeclContext | ( | const DeclContext * | DC | ) |
| inline static

Definition at line 4134 of file Decl.h.

## ◆ castToDeclContext()

static DeclContext* clang::CapturedDecl::castToDeclContext | ( | const CapturedDecl * | D | ) |
| inline static

Definition at line 4131 of file Decl.h.

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

## ◆ classof()

static bool clang::CapturedDecl::classof | ( | const Decl * | D | ) |
| inline static

Definition at line 4129 of file Decl.h.

References clang::Decl::getKind().

## ◆ classofKind()

static bool clang::CapturedDecl::classofKind | ( | Kind | K | ) |
| inline static

Definition at line 4130 of file Decl.h.

## ◆ Create()

CapturedDecl * CapturedDecl::Create | ( | ASTContext & | C,
|  | DeclContext * | DC,
|  | unsigned | NumParams
| ) |  |
| static

Definition at line 4454 of file Decl.cpp.

References clang::C.

Referenced by clang::CodeGen::CodeGenFunction::EmitOMPTargetTaskBasedDirective().

## ◆ CreateDeserialized()

CapturedDecl * CapturedDecl::CreateDeserialized | ( | ASTContext & | C,
|  | unsigned | ID,
|  | unsigned | NumParams
| ) |  |
| static

Definition at line 4460 of file Decl.cpp.

References clang::C.

## ◆ getBody()

Stmt * CapturedDecl::getBody | ( |  | ) | const
| override virtual

getBody - If this Decl represents a declaration for a body of code, such as a function or method definition, this method returns the top-level Stmt* of that body.

Otherwise this method returns null.

Reimplemented from clang::Decl.

Definition at line 4466 of file Decl.cpp.

Referenced by emitOutlinedFunctionPrologue(), and clang::CodeGen::CodeGenFunction::GenerateOpenMPCapturedStmtFunction().

## ◆ getContextParam()

ImplicitParamDecl* clang::CapturedDecl::getContextParam | ( |  | ) | const
| inline

Retrieve the parameter containing captured variables.

Definition at line 4109 of file Decl.h.

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

## ◆ getContextParamPosition()

unsigned clang::CapturedDecl::getContextParamPosition | ( |  | ) | const
| inline

Definition at line 4118 of file Decl.h.

Referenced by emitOutlinedFunctionPrologue(), and clang::ASTDeclWriter::VisitCapturedDecl().

## ◆ getNumParams()

unsigned clang::CapturedDecl::getNumParams | ( |  | ) | const
| inline

Definition at line 4089 of file Decl.h.

Referenced by checkOpenMPLoop(), and clang::ASTDeclWriter::VisitCapturedDecl().

## ◆ getParam()

ImplicitParamDecl* clang::CapturedDecl::getParam | ( | unsigned | i | ) | const
| inline

Definition at line 4091 of file Decl.h.

Referenced by checkOpenMPLoop(), and clang::ASTDeclWriter::VisitCapturedDecl().

## ◆ isNothrow()

bool CapturedDecl::isNothrow | ( |  | ) | const

Definition at line 4469 of file Decl.cpp.

Referenced by emitOutlinedFunctionPrologue(), and clang::ASTDeclWriter::VisitCapturedDecl().

## ◆ numTrailingObjects()

size_t clang::CapturedDecl::numTrailingObjects | ( | OverloadToken< ImplicitParamDecl > |  | ) |
| inline protected

Definition at line 4049 of file Decl.h.

## ◆ param_begin()

param_iterator clang::CapturedDecl::param_begin | ( |  | ) | const
| inline

Retrieve an iterator pointing to the first parameter decl.

Definition at line 4124 of file Decl.h.

Referenced by emitCommonOMPParallelDirective(), emitCommonOMPTeamsDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTargetTaskBasedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskBasedDirective(), and emitOutlinedFunctionPrologue().

## ◆ param_end()

param_iterator clang::CapturedDecl::param_end | ( |  | ) | const
| inline

Retrieve an iterator one past the last parameter decl.

Definition at line 4126 of file Decl.h.

Referenced by emitOutlinedFunctionPrologue().

## ◆ parameters() [1/2]

ArrayRef<ImplicitParamDecl *> clang::CapturedDecl::parameters | ( |  | ) | const
| inline

Definition at line 4101 of file Decl.h.

## ◆ parameters() [2/2]

MutableArrayRef<ImplicitParamDecl *> clang::CapturedDecl::parameters | ( |  | ) |
| inline

Definition at line 4104 of file Decl.h.

## ◆ setBody()

void CapturedDecl::setBody | ( | Stmt * | B | ) |

Definition at line 4467 of file Decl.cpp.

## ◆ setContextParam()

void clang::CapturedDecl::setContextParam | ( | unsigned | i,
|  | ImplicitParamDecl * | P
| ) |  |
| inline

Definition at line 4113 of file Decl.h.

Referenced by clang::ASTDeclReader::VisitCapturedDecl().

## ◆ setNothrow()

void CapturedDecl::setNothrow | ( | bool | Nothrow = `true` | ) |

Definition at line 4470 of file Decl.cpp.

Referenced by clang::Sema::ActOnOpenMPDistributeParallelForDirective(), clang::Sema::ActOnOpenMPDistributeParallelForSimdDirective(), clang::Sema::ActOnOpenMPDistributeSimdDirective(), clang::Sema::ActOnOpenMPParallelDirective(), clang::Sema::ActOnOpenMPParallelForDirective(), clang::Sema::ActOnOpenMPParallelForSimdDirective(), clang::Sema::ActOnOpenMPTargetDirective(), clang::Sema::ActOnOpenMPTargetEnterDataDirective(), clang::Sema::ActOnOpenMPTargetExitDataDirective(), clang::Sema::ActOnOpenMPTargetParallelDirective(), clang::Sema::ActOnOpenMPTargetParallelForDirective(), clang::Sema::ActOnOpenMPTargetParallelForSimdDirective(), clang::Sema::ActOnOpenMPTargetSimdDirective(), clang::Sema::ActOnOpenMPTargetTeamsDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeParallelForDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeSimdDirective(), clang::Sema::ActOnOpenMPTargetUpdateDirective(), clang::Sema::ActOnOpenMPTaskDirective(), clang::Sema::ActOnOpenMPTeamsDirective(), clang::Sema::ActOnOpenMPTeamsDistributeDirective(), clang::Sema::ActOnOpenMPTeamsDistributeParallelForDirective(), clang::Sema::ActOnOpenMPTeamsDistributeParallelForSimdDirective(), clang::Sema::ActOnOpenMPTeamsDistributeSimdDirective(), and clang::ASTDeclReader::VisitCapturedDecl().

## ◆ setParam()

void clang::CapturedDecl::setParam | ( | unsigned | i,
|  | ImplicitParamDecl * | P
| ) |  |
| inline

Definition at line 4095 of file Decl.h.

References P.

Referenced by clang::ASTDeclReader::VisitCapturedDecl().

## Friends And Related Function Documentation

## ◆ ASTDeclReader

friend class ASTDeclReader
| friend

Definition at line 4074 of file Decl.h.

## ◆ ASTDeclWriter

friend class ASTDeclWriter
| friend

Definition at line 4075 of file Decl.h.

## Member Data Documentation

## ◆ TrailingObjects

friend clang::CapturedDecl::TrailingObjects

Definition at line 4076 of file Decl.h.

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

- include/clang/AST/Decl.h
- lib/AST/Decl.cpp