clang 20.0.0git
Public Member Functions | List of all members
clang::BlockDecl::Capture Class Reference

A class which contains all the information about a particular captured value. More...

#include "clang/AST/Decl.h"

Public Member Functions

 Capture (VarDecl *variable, bool byRef, bool nested, Expr *copy)
 
VarDeclgetVariable () const
 The variable being captured.
 
bool isByRef () const
 Whether this is a "by ref" capture, i.e.
 
bool isEscapingByref () const
 
bool isNonEscapingByref () const
 
bool isNested () const
 Whether this is a nested capture, i.e.
 
bool hasCopyExpr () const
 
ExprgetCopyExpr () const
 
void setCopyExpr (Expr *e)
 

Detailed Description

A class which contains all the information about a particular captured value.

Definition at line 4480 of file Decl.h.

Constructor & Destructor Documentation

◆ Capture()

clang::BlockDecl::Capture::Capture ( VarDecl variable,
bool  byRef,
bool  nested,
Expr copy 
)
inline

Member Function Documentation

◆ getCopyExpr()

Expr * clang::BlockDecl::Capture::getCopyExpr ( ) const
inline

Definition at line 4520 of file Decl.h.

Referenced by computeCopyInfoForBlockCapture().

◆ getVariable()

VarDecl * clang::BlockDecl::Capture::getVariable ( ) const
inline

◆ hasCopyExpr()

bool clang::BlockDecl::Capture::hasCopyExpr ( ) const
inline

Definition at line 4519 of file Decl.h.

◆ isByRef()

bool clang::BlockDecl::Capture::isByRef ( ) const
inline

Whether this is a "by ref" capture, i.e.

a capture of a __block variable.

Definition at line 4505 of file Decl.h.

Referenced by computeCopyInfoForBlockCapture(), and clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockLiteralArgVariable().

◆ isEscapingByref()

bool clang::BlockDecl::Capture::isEscapingByref ( ) const
inline

◆ isNested()

bool clang::BlockDecl::Capture::isNested ( ) const
inline

Whether this is a nested capture, i.e.

the variable captured is not from outside the immediately enclosing function/block.

Definition at line 4517 of file Decl.h.

Referenced by getCaptureFieldType().

◆ isNonEscapingByref()

bool clang::BlockDecl::Capture::isNonEscapingByref ( ) const
inline

Definition at line 4511 of file Decl.h.

References getVariable(), and clang::VarDecl::isNonEscapingByref().

◆ setCopyExpr()

void clang::BlockDecl::Capture::setCopyExpr ( Expr e)
inline

Definition at line 4521 of file Decl.h.


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