clang
16.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. More... | |
bool | buildStatements () |
Build the coroutine body statements, including the "promise dependent" statements when the promise type is not dependent. More... | |
bool | buildDependentStatements () |
Build the coroutine body statements that require a non-dependent promise type in order to construct. More... | |
bool | isInvalid () const |
Additional Inherited Members | |
![]() | |
Stmt * | Body = nullptr |
Stmt * | Promise = nullptr |
Expr * | InitialSuspend = nullptr |
Expr * | FinalSuspend = nullptr |
Stmt * | OnException = nullptr |
Stmt * | OnFallthrough = nullptr |
Expr * | Allocate = nullptr |
Expr * | Deallocate = 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 1114 of file SemaCoroutine.cpp.
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 1142 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 1134 of file SemaCoroutine.cpp.
References buildDependentStatements().
|
inline |
Definition at line 53 of file CoroutineStmtBuilder.h.