|
clang
5.0.0
|
Represents the body of a coroutine. More...
#include "clang/AST/StmtCXX.h"
Classes | |
| struct | CtorArgs |
Public Member Functions | |
| bool | hasDependentPromiseType () const |
| Stmt * | getBody () const |
| Retrieve the body of the coroutine as written. More... | |
| Stmt * | getPromiseDeclStmt () const |
| VarDecl * | getPromiseDecl () const |
| Stmt * | getInitSuspendStmt () const |
| Stmt * | getFinalSuspendStmt () const |
| Stmt * | getExceptionHandler () const |
| Stmt * | getFallthroughHandler () const |
| Expr * | getAllocate () const |
| Expr * | getDeallocate () const |
| Expr * | getReturnValueInit () const |
| Stmt * | getResultDecl () const |
| Stmt * | getReturnStmt () const |
| Stmt * | getReturnStmtOnAllocFailure () const |
| ArrayRef< Stmt const * > | getParamMoves () const |
| SourceLocation | getLocStart () const LLVM_READONLY |
| SourceLocation | getLocEnd () const LLVM_READONLY |
| child_range | children () |
Public Member Functions inherited from clang::Stmt | |
| void * | operator new (size_t bytes, const ASTContext &C, unsigned alignment=8) |
| void * | operator new (size_t bytes, const ASTContext *C, unsigned alignment=8) |
| void * | operator new (size_t bytes, void *mem) noexcept |
| void | operator delete (void *, const ASTContext &, unsigned) noexcept |
| void | operator delete (void *, const ASTContext *, unsigned) noexcept |
| void | operator delete (void *, size_t) noexcept |
| void | operator delete (void *, void *) noexcept |
| Stmt (StmtClass SC) | |
| StmtClass | getStmtClass () const |
| const char * | getStmtClassName () const |
| SourceRange | getSourceRange () const LLVM_READONLY |
| SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager. More... | |
| SourceLocation | getLocStart () const LLVM_READONLY |
| SourceLocation | getLocEnd () const LLVM_READONLY |
| void | dump () const |
Dumps the specified AST fragment and all subtrees to llvm::errs(). More... | |
| void | dump (SourceManager &SM) const |
| void | dump (raw_ostream &OS, SourceManager &SM) const |
| void | dump (raw_ostream &OS) const |
| void | dumpColor () const |
| dumpColor - same as dump(), but forces color highlighting. More... | |
| void | dumpPretty (const ASTContext &Context) const |
| dumpPretty/printPretty - These two methods do a "pretty print" of the AST back to its original source language syntax. More... | |
| void | printPretty (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0) const |
| void | viewAST () const |
| viewAST - Visualize an AST rooted at this Stmt* using GraphViz. More... | |
| Stmt * | IgnoreImplicit () |
| Skip past any implicit AST nodes which might surround this statement, such as ExprWithCleanups or ImplicitCastExpr nodes. More... | |
| const Stmt * | IgnoreImplicit () const |
| Stmt * | IgnoreContainers (bool IgnoreCaptured=false) |
| Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true. More... | |
| const Stmt * | stripLabelLikeStatements () const |
| Strip off all label-like statements. More... | |
| Stmt * | stripLabelLikeStatements () |
| child_range | children () |
| const_child_range | children () const |
| child_iterator | child_begin () |
| child_iterator | child_end () |
| const_child_iterator | child_begin () const |
| const_child_iterator | child_end () const |
| void | Profile (llvm::FoldingSetNodeID &ID, const ASTContext &Context, bool Canonical) const |
| Produce a unique representation of the given statement. More... | |
| void | ProcessODRHash (llvm::FoldingSetNodeID &ID, ODRHash &Hash) const |
| Calculate a unique representation for a statement that is stable across compiler invocations. More... | |
Static Public Member Functions | |
| static CoroutineBodyStmt * | Create (const ASTContext &C, CtorArgs const &Args) |
| static CoroutineBodyStmt * | Create (const ASTContext &C, EmptyShell, unsigned NumParams) |
| static bool | classof (const Stmt *T) |
Static Public Member Functions inherited from clang::Stmt | |
| static void | addStmtClass (const StmtClass s) |
| static void | EnableStatistics () |
| static void | PrintStats () |
Friends | |
| class | ASTStmtReader |
| class | ASTReader |
Represents the body of a coroutine.
This wraps the normal function body and holds the additional semantic context required to set up and tear down the coroutine frame.
|
inline |
Definition at line 416 of file StmtCXX.h.
References clang::Stmt::getStmtClass().
|
static |
Definition at line 90 of file StmtCXX.cpp.
References clang::ASTContext::Allocate(), and clang::CoroutineBodyStmt::CtorArgs::ParamMoves.
Referenced by clang::Sema::BuildCoroutineBodyStmt(), and clang::Sema::CheckCompletedCoroutineBody().
|
static |
Definition at line 99 of file StmtCXX.cpp.
References clang::ASTContext::Allocate(), and clang::Result.
|
inline |
Definition at line 385 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody().
|
inline |
Retrieve the body of the coroutine as written.
This will be either a CompoundStmt or a TryStmt.
Definition at line 360 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody(), getLocEnd(), and getLocStart().
|
inline |
Definition at line 388 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody().
|
inline |
Definition at line 378 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody().
|
inline |
Definition at line 381 of file StmtCXX.h.
Referenced by emitBodyAndFallthrough().
|
inline |
Definition at line 374 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody().
|
inline |
Definition at line 371 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody().
|
inline |
Definition at line 407 of file StmtCXX.h.
References getBody(), clang::Stmt::getLocEnd(), clang::Decl::getLocEnd(), and getPromiseDecl().
|
inline |
Definition at line 403 of file StmtCXX.h.
References getBody(), clang::Stmt::getLocStart(), clang::DeclaratorDecl::getLocStart(), and getPromiseDecl().
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody().
Definition at line 399 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody().
|
inline |
Definition at line 367 of file StmtCXX.h.
References getPromiseDeclStmt().
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody(), getLocEnd(), getLocStart(), and hasDependentPromiseType().
|
inline |
Definition at line 364 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody(), and getPromiseDecl().
|
inline |
|
inline |
Definition at line 395 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody().
|
inline |
Definition at line 396 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody().
|
inline |
|
inline |
Definition at line 354 of file StmtCXX.h.
References getPromiseDecl(), clang::ValueDecl::getType(), and clang::Type::isDependentType().
|
friend |
1.8.6