|
clang
5.0.0
|
Data structure used to record current or nested expression evaluation contexts. More...
#include "clang/Sema/Sema.h"
Public Member Functions | |
| ExpressionEvaluationContextRecord (ExpressionEvaluationContext Context, unsigned NumCleanupObjects, CleanupInfo ParentCleanup, Decl *ManglingContextDecl, bool IsDecltype) | |
| MangleNumberingContext & | getMangleNumberingContext (ASTContext &Ctx) |
| Retrieve the mangling numbering context, used to consistently number constructs like lambdas for mangling. More... | |
| bool | isUnevaluated () const |
| bool | isConstantEvaluated () const |
Public Attributes | |
| ExpressionEvaluationContext | Context |
| The expression evaluation context. More... | |
| CleanupInfo | ParentCleanup |
| Whether the enclosing context needed a cleanup. More... | |
| bool | IsDecltype |
| Whether we are in a decltype expression. More... | |
| unsigned | NumCleanupObjects |
| The number of active cleanup objects when we entered this expression evaluation context. More... | |
| unsigned | NumTypos |
| The number of typos encountered during this expression evaluation context (i.e. More... | |
| llvm::SmallPtrSet< Expr *, 2 > | SavedMaybeODRUseExprs |
| SmallVector< LambdaExpr *, 2 > | Lambdas |
| The lambdas that are present within this context, if it is indeed an unevaluated context. More... | |
| 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. More... | |
| std::unique_ptr < MangleNumberingContext > | MangleNumbering |
| The context information used to mangle lambda expressions and block literals within this context. More... | |
| 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. More... | |
| 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. More... | |
Data structure used to record current or nested expression evaluation contexts.
|
inline |
| MangleNumberingContext & Sema::ExpressionEvaluationContextRecord::getMangleNumberingContext | ( | ASTContext & | Ctx | ) |
Retrieve the mangling numbering context, used to consistently number constructs like lambdas for mangling.
Definition at line 353 of file SemaLambda.cpp.
References clang::ASTContext::createMangleNumberingContext().
|
inline |
Definition at line 979 of file Sema.h.
References clang::Sema::ConstantEvaluated, and Context.
Referenced by clang::Sema::PopExpressionEvaluationContext().
|
inline |
Definition at line 974 of file Sema.h.
References Context, clang::Sema::Unevaluated, clang::Sema::UnevaluatedAbstract, and clang::Sema::UnevaluatedList.
Referenced by clang::Sema::PopExpressionEvaluationContext().
| ExpressionEvaluationContext clang::Sema::ExpressionEvaluationContextRecord::Context |
The expression evaluation context.
Definition at line 918 of file Sema.h.
Referenced by isConstantEvaluated(), and isUnevaluated().
| SmallVector<CXXBindTemporaryExpr *, 8> clang::Sema::ExpressionEvaluationContextRecord::DelayedDecltypeBinds |
| SmallVector<CallExpr *, 8> clang::Sema::ExpressionEvaluationContextRecord::DelayedDecltypeCalls |
| bool clang::Sema::ExpressionEvaluationContextRecord::IsDecltype |
| 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 938 of file Sema.h.
Referenced by clang::Sema::PopExpressionEvaluationContext().
| std::unique_ptr<MangleNumberingContext> clang::Sema::ExpressionEvaluationContextRecord::MangleNumbering |
| Decl* clang::Sema::ExpressionEvaluationContextRecord::ManglingContextDecl |
| unsigned clang::Sema::ExpressionEvaluationContextRecord::NumCleanupObjects |
The number of active cleanup objects when we entered this expression evaluation context.
Definition at line 928 of file Sema.h.
Referenced by clang::Sema::PopExpressionEvaluationContext().
| unsigned clang::Sema::ExpressionEvaluationContextRecord::NumTypos |
The number of typos encountered during this expression evaluation context (i.e.
the number of TypoExprs created).
Definition at line 932 of file Sema.h.
Referenced by clang::Sema::PopExpressionEvaluationContext().
| CleanupInfo clang::Sema::ExpressionEvaluationContextRecord::ParentCleanup |
Whether the enclosing context needed a cleanup.
Definition at line 921 of file Sema.h.
Referenced by clang::Sema::PopExpressionEvaluationContext().
| llvm::SmallPtrSet<Expr*, 2> clang::Sema::ExpressionEvaluationContextRecord::SavedMaybeODRUseExprs |
Definition at line 934 of file Sema.h.
Referenced by clang::Sema::PopExpressionEvaluationContext().
1.8.6