clang API Documentation

Public Member Functions | Static Public Member Functions | Public Attributes
clang::sema::LambdaScopeInfo Class Reference

#include <ScopeInfo.h>

Inheritance diagram for clang::sema::LambdaScopeInfo:
Inheritance graph
[legend]
Collaboration diagram for clang::sema::LambdaScopeInfo:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LambdaScopeInfo (DiagnosticsEngine &Diag, CXXRecordDecl *Lambda, CXXMethodDecl *CallOperator)
virtual ~LambdaScopeInfo ()
void finishedExplicitCaptures ()
 Note when.

Static Public Member Functions

static bool classof (const FunctionScopeInfo *FSI)
static bool classof (const LambdaScopeInfo *BSI)

Public Attributes

CXXRecordDeclLambda
 The class that describes the lambda.
CXXMethodDeclCallOperator
 The class that describes the lambda.
SourceRange IntroducerRange
 Source range covering the lambda introducer [...].
unsigned NumExplicitCaptures
 The number of captures in the Captures list that are explicit captures.
bool Mutable
 Whether this is a mutable lambda.
bool ExplicitParams
 Whether the (empty) parameter list is explicit.
bool ExprNeedsCleanups
 Whether any of the capture expressions requires cleanups.
llvm::SmallVector< VarDecl *, 4 > ArrayIndexVars
 Variables used to index into by-copy array captures.
llvm::SmallVector< unsigned, 4 > ArrayIndexStarts
 Offsets into the ArrayIndexVars array at which each capture starts its list of array index variables.

Detailed Description

Definition at line 323 of file ScopeInfo.h.


Constructor & Destructor Documentation

clang::sema::LambdaScopeInfo::LambdaScopeInfo ( DiagnosticsEngine Diag,
CXXRecordDecl Lambda,
CXXMethodDecl CallOperator 
) [inline]

Definition at line 354 of file ScopeInfo.h.

References clang::sema::FunctionScopeInfo::SK_Lambda.

LambdaScopeInfo::~LambdaScopeInfo ( ) [virtual]

Definition at line 59 of file Sema.cpp.


Member Function Documentation

static bool clang::sema::LambdaScopeInfo::classof ( const FunctionScopeInfo FSI) [inline, static]
static bool clang::sema::LambdaScopeInfo::classof ( const LambdaScopeInfo BSI) [inline, static]

Definition at line 373 of file ScopeInfo.h.

void clang::sema::LambdaScopeInfo::finishedExplicitCaptures ( ) [inline]

Member Data Documentation

llvm::SmallVector<unsigned, 4> clang::sema::LambdaScopeInfo::ArrayIndexStarts

Offsets into the ArrayIndexVars array at which each capture starts its list of array index variables.

Definition at line 352 of file ScopeInfo.h.

Referenced by clang::Sema::ActOnLambdaExpr(), and captureInLambda().

Variables used to index into by-copy array captures.

Definition at line 348 of file ScopeInfo.h.

Referenced by clang::Sema::ActOnLambdaExpr(), and captureInLambda().

The class that describes the lambda.

Definition at line 329 of file ScopeInfo.h.

Referenced by clang::Sema::ActOnCapScopeReturnStmt(), and clang::Sema::ActOnLambdaExpr().

Whether the (empty) parameter list is explicit.

Definition at line 342 of file ScopeInfo.h.

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

Whether any of the capture expressions requires cleanups.

Definition at line 345 of file ScopeInfo.h.

Referenced by clang::Sema::ActOnLambdaExpr(), and captureInLambda().

Source range covering the lambda introducer [...].

Definition at line 332 of file ScopeInfo.h.

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

The class that describes the lambda.

Definition at line 326 of file ScopeInfo.h.

Referenced by clang::Sema::ActOnLambdaError(), clang::Sema::ActOnLambdaExpr(), and captureInLambda().

Whether this is a mutable lambda.

Definition at line 339 of file ScopeInfo.h.

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

The number of captures in the Captures list that are explicit captures.

Definition at line 336 of file ScopeInfo.h.

Referenced by clang::Sema::ActOnLambdaExpr(), and finishedExplicitCaptures().


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