14 #ifndef LLVM_CLANG_LIB_SEMA_COROUTINESTMTBUILDER_H 15 #define LLVM_CLANG_LIB_SEMA_COROUTINESTMTBUILDER_H 32 const bool IsPromiseDependentType;
57 bool makePromiseStmt();
58 bool makeInitialAndFinalSuspend();
59 bool makeNewAndDeleteExpr();
60 bool makeOnFallthrough();
61 bool makeOnException();
62 bool makeReturnObject();
63 bool makeGroDeclAndReturnStmt();
64 bool makeReturnOnAllocFailure();
69 #endif // LLVM_CLANG_LIB_SEMA_COROUTINESTMTBUILDER_H Represents a function declaration or definition.
Stmt - This represents one statement.
Retains information about a function, method, or block that is currently being parsed.
Defines the clang::Expr interface and subclasses for C++ expressions.
Sema - This implements semantic analysis and AST building for C.
Defines the clang::Preprocessor interface.
bool buildStatements()
Build the coroutine body statements, including the "promise dependent" statements when the promise ty...
Encodes a location in the source.
Dataflow Directional Tag Classes.
CoroutineStmtBuilder(Sema &S, FunctionDecl &FD, sema::FunctionScopeInfo &Fn, Stmt *Body)
Construct a CoroutineStmtBuilder and initialize the promise statement and initial/final suspends from...
Represents a C++ struct/union/class.
bool buildDependentStatements()
Build the coroutine body statements that require a non-dependent promise type in order to construct...