clang  3.9.0
Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::CXXForRangeStmt Class Reference

CXXForRangeStmt - This represents C++0x [stmt.ranged]'s ranged for statement, represented as 'for (range-declarator : range-expression)'. More...

#include <StmtCXX.h>

Inheritance diagram for clang::CXXForRangeStmt:
[legend]
Collaboration diagram for clang::CXXForRangeStmt:
[legend]

Public Member Functions

 CXXForRangeStmt (DeclStmt *Range, DeclStmt *Begin, DeclStmt *End, Expr *Cond, Expr *Inc, DeclStmt *LoopVar, Stmt *Body, SourceLocation FL, SourceLocation CAL, SourceLocation CL, SourceLocation RPL)
 
 CXXForRangeStmt (EmptyShell Empty)
 
VarDeclgetLoopVariable ()
 
ExprgetRangeInit ()
 
const VarDeclgetLoopVariable () const
 
const ExprgetRangeInit () const
 
DeclStmtgetRangeStmt ()
 
DeclStmtgetBeginStmt ()
 
DeclStmtgetEndStmt ()
 
ExprgetCond ()
 
ExprgetInc ()
 
DeclStmtgetLoopVarStmt ()
 
StmtgetBody ()
 
const DeclStmtgetRangeStmt () const
 
const DeclStmtgetBeginStmt () const
 
const DeclStmtgetEndStmt () const
 
const ExprgetCond () const
 
const ExprgetInc () const
 
const DeclStmtgetLoopVarStmt () const
 
const StmtgetBody () const
 
void setRangeInit (Expr *E)
 
void setRangeStmt (Stmt *S)
 
void setBeginStmt (Stmt *S)
 
void setEndStmt (Stmt *S)
 
void setCond (Expr *E)
 
void setInc (Expr *E)
 
void setLoopVarStmt (Stmt *S)
 
void setBody (Stmt *S)
 
SourceLocation getForLoc () const
 
SourceLocation getCoawaitLoc () const
 
SourceLocation getColonLoc () const
 
SourceLocation getRParenLoc () const
 
SourceLocation getLocStart () const LLVM_READONLY
 
SourceLocation getLocEnd () const LLVM_READONLY
 
child_range children ()
 

Static Public Member Functions

static bool classof (const Stmt *T)
 

Friends

class ASTStmtReader
 

Detailed Description

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.

Definition at line 128 of file StmtCXX.h.

Constructor & Destructor Documentation

CXXForRangeStmt::CXXForRangeStmt ( DeclStmt Range,
DeclStmt Begin,
DeclStmt End,
Expr Cond,
Expr Inc,
DeclStmt LoopVar,
Stmt Body,
SourceLocation  FL,
SourceLocation  CAL,
SourceLocation  CL,
SourceLocation  RPL 
)

Definition at line 52 of file StmtCXX.cpp.

clang::CXXForRangeStmt::CXXForRangeStmt ( EmptyShell  Empty)
inline

Definition at line 144 of file StmtCXX.h.

Member Function Documentation

child_range clang::CXXForRangeStmt::children ( )
inline

Definition at line 208 of file StmtCXX.h.

static bool clang::CXXForRangeStmt::classof ( const Stmt T)
inlinestatic

Definition at line 203 of file StmtCXX.h.

DeclStmt* clang::CXXForRangeStmt::getBeginStmt ( )
inline
const DeclStmt* clang::CXXForRangeStmt::getBeginStmt ( ) const
inline

Definition at line 167 of file StmtCXX.h.

Stmt* clang::CXXForRangeStmt::getBody ( )
inline
const Stmt* clang::CXXForRangeStmt::getBody ( ) const
inline

Definition at line 182 of file StmtCXX.h.

SourceLocation clang::CXXForRangeStmt::getCoawaitLoc ( ) const
inline

Definition at line 194 of file StmtCXX.h.

Referenced by clang::ASTNodeImporter::VisitCXXForRangeStmt().

SourceLocation clang::CXXForRangeStmt::getColonLoc ( ) const
inline

Definition at line 195 of file StmtCXX.h.

References ColonLoc.

Referenced by clang::ASTNodeImporter::VisitCXXForRangeStmt().

Expr* clang::CXXForRangeStmt::getCond ( )
inline
const Expr* clang::CXXForRangeStmt::getCond ( ) const
inline

Definition at line 173 of file StmtCXX.h.

DeclStmt* clang::CXXForRangeStmt::getEndStmt ( )
inline
const DeclStmt* clang::CXXForRangeStmt::getEndStmt ( ) const
inline

Definition at line 170 of file StmtCXX.h.

SourceLocation clang::CXXForRangeStmt::getForLoc ( ) const
inline

Definition at line 193 of file StmtCXX.h.

Referenced by clang::ASTNodeImporter::VisitCXXForRangeStmt().

Expr* clang::CXXForRangeStmt::getInc ( )
inline
const Expr* clang::CXXForRangeStmt::getInc ( ) const
inline

Definition at line 176 of file StmtCXX.h.

SourceLocation clang::CXXForRangeStmt::getLocEnd ( ) const
inline

Definition at line 199 of file StmtCXX.h.

SourceLocation clang::CXXForRangeStmt::getLocStart ( ) const
inline

Definition at line 198 of file StmtCXX.h.

Referenced by DiagnoseForRangeVariableCopies().

VarDecl * CXXForRangeStmt::getLoopVariable ( )

Definition at line 80 of file StmtCXX.cpp.

References getLoopVarStmt().

Referenced by DiagnoseForRangeVariableCopies(), and getLoopVariable().

const VarDecl * CXXForRangeStmt::getLoopVariable ( ) const

Definition at line 86 of file StmtCXX.cpp.

References getLoopVariable().

DeclStmt* clang::CXXForRangeStmt::getLoopVarStmt ( )
inline
const DeclStmt* clang::CXXForRangeStmt::getLoopVarStmt ( ) const
inline

Definition at line 179 of file StmtCXX.h.

Expr * CXXForRangeStmt::getRangeInit ( )
const Expr * CXXForRangeStmt::getRangeInit ( ) const

Definition at line 76 of file StmtCXX.cpp.

References getRangeInit().

DeclStmt* clang::CXXForRangeStmt::getRangeStmt ( )
inline
const DeclStmt* clang::CXXForRangeStmt::getRangeStmt ( ) const
inline

Definition at line 164 of file StmtCXX.h.

SourceLocation clang::CXXForRangeStmt::getRParenLoc ( ) const
inline
void clang::CXXForRangeStmt::setBeginStmt ( Stmt S)
inline

Definition at line 186 of file StmtCXX.h.

References S.

void clang::CXXForRangeStmt::setBody ( Stmt S)
inline

Definition at line 191 of file StmtCXX.h.

References S.

Referenced by clang::Sema::FinishCXXForRangeStmt().

void clang::CXXForRangeStmt::setCond ( Expr E)
inline

Definition at line 188 of file StmtCXX.h.

References E.

void clang::CXXForRangeStmt::setEndStmt ( Stmt S)
inline

Definition at line 187 of file StmtCXX.h.

References S.

void clang::CXXForRangeStmt::setInc ( Expr E)
inline

Definition at line 189 of file StmtCXX.h.

References E.

void clang::CXXForRangeStmt::setLoopVarStmt ( Stmt S)
inline

Definition at line 190 of file StmtCXX.h.

References S.

void clang::CXXForRangeStmt::setRangeInit ( Expr E)
inline

Definition at line 184 of file StmtCXX.h.

References E.

void clang::CXXForRangeStmt::setRangeStmt ( Stmt S)
inline

Definition at line 185 of file StmtCXX.h.

References S.

Friends And Related Function Documentation

friend class ASTStmtReader
friend

Definition at line 138 of file StmtCXX.h.


The documentation for this class was generated from the following files: