clang API Documentation

Public Member Functions | Public Attributes
clang::Sema::ExpressionEvaluationContextRecord Struct Reference

Data structure used to record current or nested expression evaluation contexts. More...

#include <Sema.h>

Collaboration diagram for clang::Sema::ExpressionEvaluationContextRecord:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ExpressionEvaluationContextRecord (ExpressionEvaluationContext Context, unsigned NumCleanupObjects, bool ParentNeedsCleanups, Decl *ManglingContextDecl, bool IsDecltype)
MangleNumberingContextgetMangleNumberingContext (ASTContext &Ctx)
 Retrieve the mangling numbering context, used to consistently number constructs like lambdas for mangling.
bool isUnevaluated () const

Public Attributes

ExpressionEvaluationContext Context
 The expression evaluation context.
bool ParentNeedsCleanups
 Whether the enclosing context needed a cleanup.
bool IsDecltype
 Whether we are in a decltype expression.
unsigned NumCleanupObjects
 The number of active cleanup objects when we entered this expression evaluation context.
unsigned NumTypos
 The number of typos encountered during this expression evaluation context (i.e. the number of TypoExprs created).
llvm::SmallPtrSet< Expr *, 2 > SavedMaybeODRUseExprs
SmallVector< LambdaExpr *, 2 > Lambdas
 The lambdas that are present within this context, if it is indeed an unevaluated context.
DeclManglingContextDecl
 The declaration that provides context for lambda expressions and block literals if the normal declaration context does not suffice, e.g., in a default function argument.
IntrusiveRefCntPtr
< MangleNumberingContext
MangleNumbering
 The context information used to mangle lambda expressions and block literals within this context.
SmallVector< CallExpr *, 8 > DelayedDecltypeCalls
 If we are processing a decltype type, a set of call expressions for which we have deferred checking the completeness of the return type.
SmallVector
< CXXBindTemporaryExpr *, 8 > 
DelayedDecltypeBinds
 If we are processing a decltype type, a set of temporary binding expressions for which we have deferred checking the destructor.

Detailed Description

Data structure used to record current or nested expression evaluation contexts.

Definition at line 746 of file Sema.h.


Constructor & Destructor Documentation

clang::Sema::ExpressionEvaluationContextRecord::ExpressionEvaluationContextRecord ( ExpressionEvaluationContext  Context,
unsigned  NumCleanupObjects,
bool  ParentNeedsCleanups,
Decl ManglingContextDecl,
bool  IsDecltype 
) [inline]

Definition at line 790 of file Sema.h.


Member Function Documentation

Retrieve the mangling numbering context, used to consistently number constructs like lambdas for mangling.

Definition at line 345 of file SemaLambda.cpp.

References clang::ASTContext::createMangleNumberingContext().


Member Data Documentation

The expression evaluation context.

Definition at line 748 of file Sema.h.

Referenced by isUnevaluated(), and clang::Sema::PopExpressionEvaluationContext().

If we are processing a decltype type, a set of temporary binding expressions for which we have deferred checking the destructor.

Definition at line 788 of file Sema.h.

If we are processing a decltype type, a set of call expressions for which we have deferred checking the completeness of the return type.

Definition at line 784 of file Sema.h.

Whether we are in a decltype expression.

Definition at line 754 of file Sema.h.

The lambdas that are present within this context, if it is indeed an unevaluated context.

Definition at line 768 of file Sema.h.

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

The context information used to mangle lambda expressions and block literals within this context.

This mangling information is allocated lazily, since most contexts do not have lambda expressions or block literals.

Definition at line 780 of file Sema.h.

The declaration that provides context for lambda expressions and block literals if the normal declaration context does not suffice, e.g., in a default function argument.

Definition at line 773 of file Sema.h.

The number of active cleanup objects when we entered this expression evaluation context.

Definition at line 758 of file Sema.h.

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

The number of typos encountered during this expression evaluation context (i.e. the number of TypoExprs created).

Definition at line 762 of file Sema.h.

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

Whether the enclosing context needed a cleanup.

Definition at line 751 of file Sema.h.

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

Definition at line 764 of file Sema.h.

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


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