|
clang
5.0.0
|
CompoundStmt - This represents a group of statements like { stmt stmt }. More...
#include "clang/AST/Stmt.h"
Public Types | |
| typedef Stmt ** | body_iterator |
| typedef llvm::iterator_range < body_iterator > | body_range |
| typedef Stmt *const * | const_body_iterator |
| typedef llvm::iterator_range < const_body_iterator > | body_const_range |
| typedef std::reverse_iterator < body_iterator > | reverse_body_iterator |
| typedef std::reverse_iterator < const_body_iterator > | const_reverse_body_iterator |
Public Types inherited from clang::Stmt | |
| enum | StmtClass { NoStmtClass = 0 } |
| typedef StmtIterator | child_iterator |
| Child Iterators: All subclasses must implement 'children' to permit easy iteration over the substatements/subexpessions of an AST node. More... | |
| typedef ConstStmtIterator | const_child_iterator |
| typedef llvm::iterator_range < child_iterator > | child_range |
| typedef llvm::iterator_range < const_child_iterator > | const_child_range |
Public Member Functions | |
| CompoundStmt (const ASTContext &C, ArrayRef< Stmt * > Stmts, SourceLocation LB, SourceLocation RB) | |
| CompoundStmt (SourceLocation Loc) | |
| CompoundStmt (EmptyShell Empty) | |
| void | setStmts (const ASTContext &C, ArrayRef< Stmt * > Stmts) |
| 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 |
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 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 |
CompoundStmt - This represents a group of statements like { stmt stmt }.
| typedef llvm::iterator_range<const_body_iterator> clang::CompoundStmt::body_const_range |
| typedef Stmt** clang::CompoundStmt::body_iterator |
| typedef llvm::iterator_range<body_iterator> clang::CompoundStmt::body_range |
| typedef Stmt* const* clang::CompoundStmt::const_body_iterator |
| typedef std::reverse_iterator<const_body_iterator> clang::CompoundStmt::const_reverse_body_iterator |
| typedef std::reverse_iterator<body_iterator> clang::CompoundStmt::reverse_body_iterator |
| CompoundStmt::CompoundStmt | ( | const ASTContext & | C, |
| ArrayRef< Stmt * > | Stmts, | ||
| SourceLocation | LB, | ||
| SourceLocation | RB | ||
| ) |
Definition at line 282 of file Stmt.cpp.
References clang::Stmt::CompoundStmtBits.
|
inlineexplicit |
Definition at line 586 of file Stmt.h.
References clang::Stmt::CompoundStmtBits.
|
inlineexplicit |
Definition at line 592 of file Stmt.h.
References clang::Stmt::CompoundStmtBits.
|
inline |
Definition at line 605 of file Stmt.h.
References body_begin(), and body_end().
Referenced by clang::Sema::CheckConstexprFunctionBody(), CheckConstexprFunctionStmt(), clang::CodeGen::CodeGenFunction::emitImplicitAssignmentOperatorBody(), clang::CodeGen::CodeGenFunction::EmitObjCAutoreleasePoolStmt(), EvaluateStmt(), isBodyEmpty(), isCapturedBy(), and clang::ASTNodeImporter::VisitCompoundStmt().
|
inline |
Definition at line 619 of file Stmt.h.
References body_begin(), and body_end().
|
inline |
Definition at line 609 of file Stmt.h.
References body_empty(), and size().
Referenced by clang::Sema::ActOnStmtExpr(), ClassifyInternal(), clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(), and clang::Expr::isUnusedResultAWarning().
|
inline |
Definition at line 627 of file Stmt.h.
References body_empty(), and size().
|
inline |
Definition at line 606 of file Stmt.h.
Referenced by clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P(), body(), body_rend(), clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(), and isIdenticalStmt().
|
inline |
|
inline |
Definition at line 599 of file Stmt.h.
References clang::Stmt::CompoundStmtBits.
Referenced by clang::Sema::ActOnStmtExpr(), body_back(), body_front(), clang::Expr::isUnusedResultAWarning(), setLastStmt(), and clang::ento::ExprEngine::Visit().
|
inline |
Definition at line 607 of file Stmt.h.
References size().
Referenced by clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P(), body(), body_rbegin(), clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(), and isIdenticalStmt().
|
inline |
|
inline |
Definition at line 608 of file Stmt.h.
References body_empty().
|
inline |
Definition at line 624 of file Stmt.h.
References body_empty().
|
inline |
Definition at line 632 of file Stmt.h.
References body_end().
Referenced by print_elem(), and clang::ento::ExprEngine::Visit().
|
inline |
Definition at line 642 of file Stmt.h.
References body_end().
|
inline |
Definition at line 635 of file Stmt.h.
References body_begin().
|
inline |
Definition at line 646 of file Stmt.h.
References body_begin().
|
inline |
Definition at line 661 of file Stmt.h.
References clang::Stmt::CompoundStmtBits.
Referenced by print_elem().
|
inline |
Definition at line 665 of file Stmt.h.
References clang::Stmt::CompoundStmtBits.
Definition at line 656 of file Stmt.h.
References clang::Stmt::getStmtClass().
|
inline |
Definition at line 653 of file Stmt.h.
Referenced by clang::ento::PathDiagnosticLocation::createBeginBrace(), clang::CodeGen::CodeGenFunction::EmitCompoundStmt(), clang::CodeGen::CodeGenFunction::EmitObjCAutoreleasePoolStmt(), and clang::ASTNodeImporter::VisitCompoundStmt().
|
inline |
Definition at line 651 of file Stmt.h.
Referenced by clang::SEHExceptStmt::getEndLoc(), and clang::ObjCAtSynchronizedStmt::getLocEnd().
|
inline |
|
inline |
Definition at line 654 of file Stmt.h.
Referenced by clang::ento::PathDiagnosticLocation::createEndBrace(), clang::CodeGen::CodeGenFunction::EmitObjCAutoreleasePoolStmt(), and clang::ASTNodeImporter::VisitCompoundStmt().
|
inline |
Definition at line 611 of file Stmt.h.
References body_empty(), S, and size().
Referenced by clang::Sema::ActOnStmtExpr().
| void CompoundStmt::setStmts | ( | const ASTContext & | C, |
| ArrayRef< Stmt * > | Stmts | ||
| ) |
Definition at line 298 of file Stmt.cpp.
References clang::Stmt::CompoundStmtBits, and clang::ASTContext::Deallocate().
|
inline |
Definition at line 600 of file Stmt.h.
References clang::Stmt::CompoundStmtBits.
Referenced by body_back(), body_end(), isIdenticalStmt(), setLastStmt(), and clang::ASTNodeImporter::VisitCompoundStmt().
|
friend |
1.8.6