clang
6.0.0
|
CompoundStmt - This represents a group of statements like { stmt stmt }. More...
#include "clang/AST/Stmt.h"
Public Types | |
using | body_iterator = Stmt ** |
using | body_range = llvm::iterator_range< body_iterator > |
using | const_body_iterator = Stmt *const * |
using | body_const_range = llvm::iterator_range< const_body_iterator > |
using | reverse_body_iterator = std::reverse_iterator< body_iterator > |
using | const_reverse_body_iterator = std::reverse_iterator< const_body_iterator > |
![]() | |
enum | StmtClass { NoStmtClass = 0 } |
using | child_iterator = StmtIterator |
Child Iterators: All subclasses must implement 'children' to permit easy iteration over the substatements/subexpessions of an AST node. More... | |
using | const_child_iterator = ConstStmtIterator |
using | child_range = llvm::iterator_range< child_iterator > |
using | const_child_range = llvm::iterator_range< const_child_iterator > |
Public Member Functions | |
CompoundStmt (SourceLocation Loc) | |
bool | body_empty () const |
unsigned | size () const |
body_range | body () |
body_iterator | body_begin () |
body_iterator | body_end () |
Stmt * | body_front () |
Stmt * | body_back () |
void | setLastStmt (Stmt *S) |
body_const_range | body () const |
const_body_iterator | body_begin () const |
const_body_iterator | body_end () const |
const Stmt * | body_front () const |
const Stmt * | body_back () const |
reverse_body_iterator | body_rbegin () |
reverse_body_iterator | body_rend () |
const_reverse_body_iterator | body_rbegin () const |
const_reverse_body_iterator | body_rend () const |
SourceLocation | getLocStart () const LLVM_READONLY |
SourceLocation | getLocEnd () const LLVM_READONLY |
SourceLocation | getLBracLoc () const |
SourceLocation | getRBracLoc () const |
child_range | children () |
const_child_range | children () const |
![]() | |
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 ASTContext *Context=nullptr) 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 * | IgnoreContainers (bool IgnoreCaptured=false) const |
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 CompoundStmt * | Create (const ASTContext &C, ArrayRef< Stmt *> Stmts, SourceLocation LB, SourceLocation RB) |
static CompoundStmt * | CreateEmpty (const ASTContext &C, unsigned NumStmts) |
static bool | classof (const Stmt *T) |
![]() | |
static void | addStmtClass (const StmtClass s) |
static void | EnableStatistics () |
static void | PrintStats () |
Friends | |
class | ASTStmtReader |
CompoundStmt - This represents a group of statements like { stmt stmt }.
using clang::CompoundStmt::body_const_range = llvm::iterator_range<const_body_iterator> |
using clang::CompoundStmt::body_iterator = Stmt ** |
using clang::CompoundStmt::body_range = llvm::iterator_range<body_iterator> |
using clang::CompoundStmt::const_body_iterator = Stmt* const * |
using clang::CompoundStmt::const_reverse_body_iterator = std::reverse_iterator<const_body_iterator> |
using clang::CompoundStmt::reverse_body_iterator = std::reverse_iterator<body_iterator> |
|
inlineexplicit |
Definition at line 612 of file Stmt.h.
References AttributeLangSupport::C, and clang::CreateEmpty().
|
inline |
Definition at line 626 of file Stmt.h.
Referenced by clang::Sema::CheckConstexprFunctionBody(), and clang::TreeTransform< Derived >::TransformCompoundStmt().
|
inline |
|
inline |
Definition at line 627 of file Stmt.h.
Referenced by HandleConstructorCall(), and isIdenticalStmt().
|
inline |
|
inline |
Definition at line 620 of file Stmt.h.
Referenced by HandleConstructorCall(), and clang::Expr::isUnusedResultAWarning().
|
inline |
Definition at line 628 of file Stmt.h.
Referenced by HandleConstructorCall(), and isIdenticalStmt().
|
inline |
|
inline |
Definition at line 661 of file Stmt.h.
Referenced by print_elem().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 691 of file Stmt.h.
Referenced by print_elem().
|
inline |
Definition at line 686 of file Stmt.h.
References clang::Stmt::getStmtClass().
|
static |
Definition at line 316 of file Stmt.cpp.
References clang::ASTContext::Allocate().
Referenced by clang::Sema::ActOnCompoundStmt(), and clang::Sema::MaybeCreateStmtWithCleanups().
|
static |
Definition at line 323 of file Stmt.cpp.
References clang::ASTContext::Allocate(), and clang::Stmt::CompoundStmtBits.
|
inline |
Definition at line 683 of file Stmt.h.
Referenced by clang::ento::PathDiagnosticLocation::createBeginBrace().
|
inline |
Definition at line 681 of file Stmt.h.
Referenced by Write_RethrowObject().
|
inline |
Definition at line 680 of file Stmt.h.
Referenced by Write_RethrowObject().
|
inline |
Definition at line 684 of file Stmt.h.
Referenced by clang::ento::PathDiagnosticLocation::createEndBrace().
|
inline |
Definition at line 621 of file Stmt.h.
Referenced by isIdenticalStmt().
|
friend |