clang 20.0.0git
|
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Sema/CoroutineStmtBuilder.h"
Public Member Functions | |
CoroutineStmtBuilder (Sema &S, FunctionDecl &FD, sema::FunctionScopeInfo &Fn, Stmt *Body) | |
Construct a CoroutineStmtBuilder and initialize the promise statement and initial/final suspends from the FunctionScopeInfo. | |
bool | buildStatements () |
Build the coroutine body statements, including the "promise dependent" statements when the promise type is not dependent. | |
bool | buildDependentStatements () |
Build the coroutine body statements that require a non-dependent promise type in order to construct. | |
bool | isInvalid () const |
Additional Inherited Members | |
Public Attributes inherited from clang::CoroutineBodyStmt::CtorArgs | |
Stmt * | Body = nullptr |
Stmt * | Promise = nullptr |
Expr * | InitialSuspend = nullptr |
Expr * | FinalSuspend = nullptr |
Stmt * | OnException = nullptr |
Stmt * | OnFallthrough = nullptr |
Expr * | Allocate = nullptr |
Expr * | Deallocate = nullptr |
Stmt * | ResultDecl = nullptr |
Expr * | ReturnValue = nullptr |
Stmt * | ReturnStmt = nullptr |
Stmt * | ReturnStmtOnAllocFailure = nullptr |
ArrayRef< Stmt * > | ParamMoves |
Definition at line 24 of file CoroutineStmtBuilder.h.
CoroutineStmtBuilder::CoroutineStmtBuilder | ( | Sema & | S, |
FunctionDecl & | FD, | ||
sema::FunctionScopeInfo & | Fn, | ||
Stmt * | Body | ||
) |
Construct a CoroutineStmtBuilder and initialize the promise statement and initial/final suspends from the FunctionScopeInfo.
Definition at line 1165 of file SemaCoroutine.cpp.
References clang::CoroutineBodyStmt::CtorArgs::Body, buildCoroutineBody(), clang::Sema::getASTContext(), and clang::CoroutineBodyStmt::CtorArgs::ParamMoves.
bool CoroutineStmtBuilder::buildDependentStatements | ( | ) |
Build the coroutine body statements that require a non-dependent promise type in order to construct.
For example different new/delete overloads are selected depending on if the promise type provides unhandled_exception()
, and therefore they cannot be built until the promise type is complete so that we can perform name lookup.
Definition at line 1193 of file SemaCoroutine.cpp.
Referenced by buildStatements().
bool CoroutineStmtBuilder::buildStatements | ( | ) |
Build the coroutine body statements, including the "promise dependent" statements when the promise type is not dependent.
Definition at line 1185 of file SemaCoroutine.cpp.
References buildDependentStatements().
|
inline |
Definition at line 53 of file CoroutineStmtBuilder.h.