13 #ifndef LLVM_CLANG_LIB_SEMA_COROUTINESTMTBUILDER_H 14 #define LLVM_CLANG_LIB_SEMA_COROUTINESTMTBUILDER_H 31 const bool IsPromiseDependentType;
56 bool makePromiseStmt();
57 bool makeInitialAndFinalSuspend();
58 bool makeNewAndDeleteExpr();
59 bool makeOnFallthrough();
60 bool makeOnException();
61 bool makeReturnObject();
62 bool makeGroDeclAndReturnStmt();
63 bool makeReturnOnAllocFailure();
68 #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.