clang
9.0.0
|
#include "clang/Sema/ScopeInfo.h"
Public Types | |
enum | IsThisCapture { ThisCapture } |
enum | IsVLACapture { VLACapture } |
Public Member Functions | |
Capture (VarDecl *Var, bool Block, bool ByRef, bool IsNested, SourceLocation Loc, SourceLocation EllipsisLoc, QualType CaptureType, bool Invalid) | |
Capture (IsThisCapture, bool IsNested, SourceLocation Loc, QualType CaptureType, const bool ByCopy, bool Invalid) | |
Capture (IsVLACapture, const VariableArrayType *VLA, bool IsNested, SourceLocation Loc, QualType CaptureType) | |
bool | isThisCapture () const |
bool | isVariableCapture () const |
bool | isCopyCapture () const |
bool | isReferenceCapture () const |
bool | isBlockCapture () const |
bool | isVLATypeCapture () const |
bool | isNested () const |
bool | isInvalid () const |
bool | isInitCapture () const |
Determine whether this capture is an init-capture. More... | |
bool | isODRUsed () const |
bool | isNonODRUsed () const |
void | markUsed (bool IsODRUse) |
VarDecl * | getVariable () const |
const VariableArrayType * | getCapturedVLAType () const |
SourceLocation | getLocation () const |
Retrieve the location at which this variable was captured. More... | |
SourceLocation | getEllipsisLoc () const |
Retrieve the source location of the ellipsis, whose presence indicates that the capture is a pack expansion. More... | |
QualType | getCaptureType () const |
Retrieve the capture type for this capture, which is effectively the type of the non-static data member in the lambda/block structure that would store this capture. More... | |
Definition at line 495 of file ScopeInfo.h.
Enumerator | |
---|---|
ThisCapture |
Definition at line 563 of file ScopeInfo.h.
Enumerator | |
---|---|
VLACapture |
Definition at line 571 of file ScopeInfo.h.
|
inline |
Definition at line 554 of file ScopeInfo.h.
|
inline |
Definition at line 564 of file ScopeInfo.h.
|
inline |
Definition at line 572 of file ScopeInfo.h.
|
inline |
Definition at line 609 of file ScopeInfo.h.
|
inline |
Retrieve the capture type for this capture, which is effectively the type of the non-static data member in the lambda/block structure that would store this capture.
Definition at line 624 of file ScopeInfo.h.
Referenced by clang::Sema::BuildCaptureField(), and isVariableAlreadyCapturedInScopeInfo().
|
inline |
Retrieve the source location of the ellipsis, whose presence indicates that the capture is a pack expansion.
Definition at line 619 of file ScopeInfo.h.
Referenced by clang::Sema::BuildLambdaExpr().
|
inline |
Retrieve the location at which this variable was captured.
Definition at line 615 of file ScopeInfo.h.
Referenced by clang::Sema::BuildCaptureField(), clang::Sema::BuildCaptureInit(), clang::Sema::BuildLambdaExpr(), clang::Sema::DiagnoseUnusedLambdaCapture(), and getCaptureLocation().
|
inline |
Definition at line 604 of file ScopeInfo.h.
Referenced by clang::Sema::BuildCaptureField(), clang::Sema::BuildCaptureInit(), clang::Sema::BuildLambdaExpr(), clang::Sema::CaptureHasSideEffects(), clang::Sema::DiagnoseUnusedLambdaCapture(), and getCaptureLocation().
|
inline |
Definition at line 585 of file ScopeInfo.h.
Referenced by clang::Sema::BuildLambdaExpr().
|
inline |
Definition at line 583 of file ScopeInfo.h.
Referenced by clang::Sema::BuildLambdaExpr(), and isVariableAlreadyCapturedInScopeInfo().
bool Capture::isInitCapture | ( | ) | const |
Determine whether this capture is an init-capture.
Definition at line 219 of file ScopeInfo.cpp.
Referenced by clang::Sema::BuildCaptureInit(), clang::Sema::BuildLambdaExpr(), and clang::Sema::CaptureHasSideEffects().
|
inline |
Definition at line 590 of file ScopeInfo.h.
Referenced by clang::Sema::BuildLambdaExpr().
|
inline |
Definition at line 588 of file ScopeInfo.h.
|
inline |
Definition at line 596 of file ScopeInfo.h.
Referenced by clang::Sema::BuildLambdaExpr(), and clang::Sema::DiagnoseUnusedLambdaCapture().
|
inline |
Definition at line 595 of file ScopeInfo.h.
Referenced by clang::Sema::BuildLambdaExpr().
|
inline |
Definition at line 584 of file ScopeInfo.h.
|
inline |
Definition at line 578 of file ScopeInfo.h.
Referenced by clang::Sema::BuildLambdaExpr(), and clang::Sema::DiagnoseUnusedLambdaCapture().
|
inline |
Definition at line 579 of file ScopeInfo.h.
Referenced by clang::Sema::BuildCaptureField(), clang::Sema::BuildLambdaExpr(), and getCaptureLocation().
|
inline |
Definition at line 586 of file ScopeInfo.h.
Referenced by clang::Sema::BuildCaptureInit(), clang::Sema::BuildLambdaExpr(), and clang::Sema::DiagnoseUnusedLambdaCapture().
|
inline |
Definition at line 597 of file ScopeInfo.h.
Referenced by clang::Sema::tryCaptureVariable().
VarDecl* clang::sema::Capture::CapturedVar |
Otherwise, the captured variable (if any).
Definition at line 518 of file ScopeInfo.h.
const VariableArrayType* clang::sema::Capture::CapturedVLA |
If Kind == Cap_VLA, the captured type.
Definition at line 515 of file ScopeInfo.h.