clang API Documentation
#include <StmtCXX.h>
CXXForRangeStmt - This represents C++0x [stmt.ranged]'s ranged for statement, represented as 'for (range-declarator : range-expression)'.
This is stored in a partially-desugared form to allow full semantic analysis of the constituent components. The original syntactic components can be extracted using getLoopVariable and getRangeInit.
CXXForRangeStmt::CXXForRangeStmt | ( | DeclStmt * | Range, |
DeclStmt * | BeginEnd, | ||
Expr * | Cond, | ||
Expr * | Inc, | ||
DeclStmt * | LoopVar, | ||
Stmt * | Body, | ||
SourceLocation | FL, | ||
SourceLocation | CL, | ||
SourceLocation | RPL | ||
) |
clang::CXXForRangeStmt::CXXForRangeStmt | ( | EmptyShell | Empty | ) | [inline] |
child_range clang::CXXForRangeStmt::children | ( | ) | [inline] |
Reimplemented from clang::Stmt.
static bool clang::CXXForRangeStmt::classof | ( | const Stmt * | T | ) | [inline, static] |
Definition at line 197 of file StmtCXX.h.
References clang::Stmt::getStmtClass().
DeclStmt* clang::CXXForRangeStmt::getBeginEndStmt | ( | ) | [inline] |
Definition at line 151 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCXXForRangeStmt(), and EvaluateStmt().
const DeclStmt* clang::CXXForRangeStmt::getBeginEndStmt | ( | ) | const [inline] |
Stmt* clang::CXXForRangeStmt::getBody | ( | ) | [inline] |
Definition at line 157 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCXXForRangeStmt(), EvaluateStmt(), and isInLoopBody().
const Stmt* clang::CXXForRangeStmt::getBody | ( | ) | const [inline] |
SourceLocation clang::CXXForRangeStmt::getColonLoc | ( | ) | const [inline] |
Expr* clang::CXXForRangeStmt::getCond | ( | ) | [inline] |
Definition at line 154 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCXXForRangeStmt(), EvaluateStmt(), and isConditionForTerminator().
const Expr* clang::CXXForRangeStmt::getCond | ( | ) | const [inline] |
SourceLocation clang::CXXForRangeStmt::getForLoc | ( | ) | const [inline] |
Expr* clang::CXXForRangeStmt::getInc | ( | ) | [inline] |
Definition at line 155 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCXXForRangeStmt(), EvaluateStmt(), and isInLoopBody().
const Expr* clang::CXXForRangeStmt::getInc | ( | ) | const [inline] |
SourceLocation clang::CXXForRangeStmt::getLocEnd | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
Definition at line 193 of file StmtCXX.h.
References clang::Stmt::getLocEnd().
SourceLocation clang::CXXForRangeStmt::getLocStart | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
Definition at line 866 of file Stmt.cpp.
References getLoopVarStmt().
Referenced by getLoopVariable().
const VarDecl * CXXForRangeStmt::getLoopVariable | ( | ) | const |
Definition at line 872 of file Stmt.cpp.
References getLoopVariable().
DeclStmt* clang::CXXForRangeStmt::getLoopVarStmt | ( | ) | [inline] |
Definition at line 156 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCXXForRangeStmt(), EvaluateStmt(), getLoopVariable(), and isInLoopBody().
const DeclStmt* clang::CXXForRangeStmt::getLoopVarStmt | ( | ) | const [inline] |
Definition at line 855 of file Stmt.cpp.
References clang::VarDecl::getInit(), getRangeStmt(), and clang::DeclStmt::getSingleDecl().
Referenced by getRangeInit(), and isConditionForTerminator().
const Expr * CXXForRangeStmt::getRangeInit | ( | ) | const |
Definition at line 862 of file Stmt.cpp.
References getRangeInit().
DeclStmt* clang::CXXForRangeStmt::getRangeStmt | ( | ) | [inline] |
Definition at line 150 of file StmtCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCXXForRangeStmt(), EvaluateStmt(), and getRangeInit().
const DeclStmt* clang::CXXForRangeStmt::getRangeStmt | ( | ) | const [inline] |
SourceLocation clang::CXXForRangeStmt::getRParenLoc | ( | ) | const [inline] |
Definition at line 189 of file StmtCXX.h.
Referenced by clang::Sema::FinishCXXForRangeStmt().
void clang::CXXForRangeStmt::setBeginEndStmt | ( | Stmt * | S | ) | [inline] |
void clang::CXXForRangeStmt::setBody | ( | Stmt * | S | ) | [inline] |
Definition at line 182 of file StmtCXX.h.
References S.
Referenced by clang::Sema::FinishCXXForRangeStmt().
void clang::CXXForRangeStmt::setColonLoc | ( | SourceLocation | Loc | ) | [inline] |
void clang::CXXForRangeStmt::setCond | ( | Expr * | E | ) | [inline] |
void clang::CXXForRangeStmt::setForLoc | ( | SourceLocation | Loc | ) | [inline] |
void clang::CXXForRangeStmt::setInc | ( | Expr * | E | ) | [inline] |
void clang::CXXForRangeStmt::setLoopVarStmt | ( | Stmt * | S | ) | [inline] |
void clang::CXXForRangeStmt::setRangeInit | ( | Expr * | E | ) | [inline] |
void clang::CXXForRangeStmt::setRangeStmt | ( | Stmt * | S | ) | [inline] |
void clang::CXXForRangeStmt::setRParenLoc | ( | SourceLocation | Loc | ) | [inline] |