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 *ManglingContextDecl, bool IsDecltype) | |
MangleNumberingContext & | getMangleNumberingContext (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. | |
Decl * | ManglingContextDecl |
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. |
Data structure used to record current or nested expression evaluation contexts.
clang::Sema::ExpressionEvaluationContextRecord::ExpressionEvaluationContextRecord | ( | ExpressionEvaluationContext | Context, |
unsigned | NumCleanupObjects, | ||
bool | ParentNeedsCleanups, | ||
Decl * | ManglingContextDecl, | ||
bool | IsDecltype | ||
) | [inline] |
MangleNumberingContext & Sema::ExpressionEvaluationContextRecord::getMangleNumberingContext | ( | ASTContext & | Ctx | ) |
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().
bool clang::Sema::ExpressionEvaluationContextRecord::isUnevaluated | ( | ) | const [inline] |
Definition at line 804 of file Sema.h.
References Context, clang::Sema::Unevaluated, and clang::Sema::UnevaluatedAbstract.
Referenced by clang::Sema::PopExpressionEvaluationContext().
The expression evaluation context.
Definition at line 748 of file Sema.h.
Referenced by isUnevaluated(), and clang::Sema::PopExpressionEvaluationContext().
SmallVector<CallExpr *, 8> clang::Sema::ExpressionEvaluationContextRecord::DelayedDecltypeCalls |
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 768 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 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().
llvm::SmallPtrSet<Expr*, 2> clang::Sema::ExpressionEvaluationContextRecord::SavedMaybeODRUseExprs |
Definition at line 764 of file Sema.h.
Referenced by clang::Sema::PopExpressionEvaluationContext().