clang API Documentation
Data structure used to record current or nested expression evaluation contexts. More...
#include <Sema.h>

Public Member Functions | |
| ExpressionEvaluationContextRecord (ExpressionEvaluationContext Context, unsigned NumCleanupObjects, bool ParentNeedsCleanups, Decl *LambdaContextDecl, bool IsDecltype) | |
| ~ExpressionEvaluationContextRecord () | |
| LambdaMangleContext & | getLambdaMangleContext () |
| Retrieve the mangling context for lambdas. | |
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. | |
| llvm::SmallPtrSet< Expr *, 8 > | SavedMaybeODRUseExprs |
| llvm::SmallVector< LambdaExpr *, 2 > | Lambdas |
| The lambdas that are present within this context, if it is indeed an unevaluated context. | |
| Decl * | LambdaContextDecl |
| The declaration that provides context for the lambda expression if the normal declaration context does not suffice, e.g., in a default function argument. | |
| LambdaMangleContext * | LambdaMangle |
| The context information used to mangle lambda expressions within this context. | |
| llvm::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. | |
| llvm::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. | |
Data structure used to record current or nested expression evaluation contexts.
| clang::Sema::ExpressionEvaluationContextRecord::ExpressionEvaluationContextRecord | ( | ExpressionEvaluationContext | Context, |
| unsigned | NumCleanupObjects, | ||
| bool | ParentNeedsCleanups, | ||
| Decl * | LambdaContextDecl, | ||
| bool | IsDecltype | ||
| ) | [inline] |
| clang::Sema::ExpressionEvaluationContextRecord::~ExpressionEvaluationContextRecord | ( | ) | [inline] |
Definition at line 625 of file Sema.h.
References LambdaMangle.
| LambdaMangleContext& clang::Sema::ExpressionEvaluationContextRecord::getLambdaMangleContext | ( | ) | [inline] |
Retrieve the mangling context for lambdas.
Definition at line 630 of file Sema.h.
References LambdaContextDecl, and LambdaMangle.
The expression evaluation context.
Definition at line 578 of file Sema.h.
Referenced by ClassifyImplicitMemberAccess(), and clang::Sema::PopExpressionEvaluationContext().
| llvm::SmallVector<CXXBindTemporaryExpr*, 8> clang::Sema::ExpressionEvaluationContextRecord::DelayedDecltypeBinds |
If we are processing a decltype type, a set of temporary binding expressions for which we have deferred checking the destructor.
Definition at line 614 of file Sema.h.
Referenced by clang::Sema::ActOnDecltypeExpression().
| llvm::SmallVector<CallExpr*, 8> clang::Sema::ExpressionEvaluationContextRecord::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.
Definition at line 610 of file Sema.h.
Referenced by clang::Sema::ActOnDecltypeExpression().
Whether we are in a decltype expression.
Definition at line 584 of file Sema.h.
Referenced by clang::Sema::ActOnDecltypeExpression().
The declaration that provides context for the lambda expression if the normal declaration context does not suffice, e.g., in a default function argument.
Definition at line 599 of file Sema.h.
Referenced by getLambdaMangleContext().
The context information used to mangle lambda expressions within this context.
This mangling information is allocated lazily, since most contexts do not have lambda expressions.
Definition at line 606 of file Sema.h.
Referenced by getLambdaMangleContext(), and ~ExpressionEvaluationContextRecord().
| llvm::SmallVector<LambdaExpr *, 2> clang::Sema::ExpressionEvaluationContextRecord::Lambdas |
The lambdas that are present within this context, if it is indeed an unevaluated context.
Definition at line 594 of file Sema.h.
Referenced by clang::Sema::PopExpressionEvaluationContext().
The number of active cleanup objects when we entered this expression evaluation context.
Definition at line 588 of file Sema.h.
Referenced by clang::Sema::PopExpressionEvaluationContext().
Whether the enclosing context needed a cleanup.
Definition at line 581 of file Sema.h.
Referenced by clang::Sema::PopExpressionEvaluationContext().
| llvm::SmallPtrSet<Expr*, 8> clang::Sema::ExpressionEvaluationContextRecord::SavedMaybeODRUseExprs |
Definition at line 590 of file Sema.h.
Referenced by clang::Sema::PopExpressionEvaluationContext().