comma::StmtSequence Class Reference

#include <Stmt.h>

Inheritance diagram for comma::StmtSequence:
Inheritance graph
[legend]
Collaboration diagram for comma::StmtSequence:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 StmtSequence (Location loc)
template<class Iter >
 StmtSequence (Location loc, Iter I, Iter E)
 Construct a statement sequence given a pair of Stmt producing iterators.
void addStmt (Stmt *stmt)
 Adds a single statement to the end of this sequence.
template<class Iter >
void addStmts (Iter I, Iter E)
unsigned numStatements () const
 Returns the number of statements contained in this sequence.
bool isEmpty () const
 Returns true if this statement sequence is empty.
bool isHandled () const
unsigned numHandlers () const
 Returns the number of handlers asscociated with this StmtSequence.
bool hasCatchAll () const
bool handles (const ExceptionDecl *exception) const
void addHandler (HandlerStmt *handler)

Static Public Member Functions

static bool classof (const StmtSequence *node)
 Support isa and dyn_cast.
static bool classof (const Ast *node)

Protected Member Functions

 StmtSequence (AstKind kind, Location loc)



typedef StatementVec::iterator stmt_iter
 Iterators over the statements provided by this StmtSequence.
typedef
StatementVec::const_iterator 
const_stmt_iter
 Iterators over the statements provided by this StmtSequence.
typedef HandlerVec::iterator handler_iter
 Iterators over the handlers provided by this StmtSequence.
typedef HandlerVec::const_iterator const_handler_iter
 Iterators over the statements provided by this StmtSequence.
Stmtfront ()
 Returns the first statement in this sequence.
const Stmtfront () const
 Iterators over the statements provided by this StmtSequence.
Stmtback ()
 Returns the last statement in this sequence.
const Stmtback () const
 Iterators over the statements provided by this StmtSequence.
stmt_iter stmt_begin ()
 Iterators over the statements provided by this StmtSequence.
stmt_iter stmt_end ()
 Iterators over the statements provided by this StmtSequence.
const_stmt_iter stmt_begin () const
 Iterators over the statements provided by this StmtSequence.
const_stmt_iter stmt_end () const
 Iterators over the statements provided by this StmtSequence.
handler_iter handler_begin ()
 Iterators over the statements provided by this StmtSequence.
handler_iter handler_end ()
 Iterators over the statements provided by this StmtSequence.
const_handler_iter handler_begin () const
 Iterators over the statements provided by this StmtSequence.
const_handler_iter handler_end () const
 Iterators over the statements provided by this StmtSequence.

Detailed Description

Definition at line 48 of file Stmt.h.


Member Typedef Documentation

typedef HandlerVec::const_iterator comma::StmtSequence::const_handler_iter

Iterators over the statements provided by this StmtSequence.

Definition at line 140 of file Stmt.h.

typedef StatementVec::const_iterator comma::StmtSequence::const_stmt_iter

Iterators over the statements provided by this StmtSequence.

Definition at line 102 of file Stmt.h.

typedef HandlerVec::iterator comma::StmtSequence::handler_iter

Iterators over the handlers provided by this StmtSequence.

Definition at line 136 of file Stmt.h.

typedef StatementVec::iterator comma::StmtSequence::stmt_iter

Iterators over the statements provided by this StmtSequence.

Definition at line 98 of file Stmt.h.


Constructor & Destructor Documentation

comma::StmtSequence::StmtSequence ( AstKind  kind,
Location  loc 
) [inline, protected]

Definition at line 56 of file Stmt.h.

comma::StmtSequence::StmtSequence ( Location  loc  )  [inline]

Definition at line 59 of file Stmt.h.

template<class Iter >
comma::StmtSequence::StmtSequence ( Location  loc,
Iter  I,
Iter  E 
) [inline]

Construct a statement sequence given a pair of Stmt producing iterators.

Definition at line 63 of file Stmt.h.


Member Function Documentation

void comma::StmtSequence::addHandler ( HandlerStmt handler  )  [inline]

Adds a handler to this StmtSequence.

If the given handler is a "catch-all" handler, this must be the last handler registered with this sequence.

Definition at line 129 of file Stmt.h.

void comma::StmtSequence::addStmt ( Stmt stmt  )  [inline]

Adds a single statement to the end of this sequence.

Definition at line 68 of file Stmt.h.

template<class Iter >
void comma::StmtSequence::addStmts ( Iter  I,
Iter  E 
) [inline]

Adds the given set of statements provided by an iterator pair to the end of this sequence.

Definition at line 73 of file Stmt.h.

const Stmt* comma::StmtSequence::back (  )  const [inline]

Iterators over the statements provided by this StmtSequence.

Definition at line 93 of file Stmt.h.

Stmt* comma::StmtSequence::back (  )  [inline]

Returns the last statement in this sequence.

Definition at line 92 of file Stmt.h.

static bool comma::StmtSequence::classof ( const Ast node  )  [inline, static]

Reimplemented from comma::Stmt.

Reimplemented in comma::HandlerStmt, and comma::BlockStmt.

Definition at line 147 of file Stmt.h.

static bool comma::StmtSequence::classof ( const StmtSequence node  )  [inline, static]

Support isa and dyn_cast.

Reimplemented from comma::Stmt.

Reimplemented in comma::HandlerStmt, and comma::BlockStmt.

Definition at line 146 of file Stmt.h.

const Stmt* comma::StmtSequence::front (  )  const [inline]

Iterators over the statements provided by this StmtSequence.

Definition at line 87 of file Stmt.h.

Stmt* comma::StmtSequence::front (  )  [inline]

Returns the first statement in this sequence.

Definition at line 86 of file Stmt.h.

const_handler_iter comma::StmtSequence::handler_begin (  )  const [inline]

Iterators over the statements provided by this StmtSequence.

Definition at line 141 of file Stmt.h.

handler_iter comma::StmtSequence::handler_begin (  )  [inline]

Iterators over the statements provided by this StmtSequence.

Definition at line 137 of file Stmt.h.

const_handler_iter comma::StmtSequence::handler_end (  )  const [inline]

Iterators over the statements provided by this StmtSequence.

Definition at line 142 of file Stmt.h.

handler_iter comma::StmtSequence::handler_end (  )  [inline]

Iterators over the statements provided by this StmtSequence.

Definition at line 138 of file Stmt.h.

bool StmtSequence::handles ( const ExceptionDecl exception  )  const

Returns true if the given ExceptionDecl is covered by any of the handlers in this sequence.

Note:
This method will always return false when isHandled() is false, and always return true when hasCatchAll() is true.

Reimplemented in comma::HandlerStmt.

Definition at line 40 of file Stmt.cpp.

bool StmtSequence::hasCatchAll (  )  const

Returns true if there is an "others" catch-all handler associated with this sequence.

Definition at line 33 of file Stmt.cpp.

bool comma::StmtSequence::isEmpty (  )  const [inline]

Returns true if this statement sequence is empty.

Definition at line 82 of file Stmt.h.

bool comma::StmtSequence::isHandled (  )  const [inline]

Returns true if there are any exception handlers associated with this StmtSequence.

Definition at line 109 of file Stmt.h.

unsigned comma::StmtSequence::numHandlers (  )  const [inline]

Returns the number of handlers asscociated with this StmtSequence.

Definition at line 112 of file Stmt.h.

unsigned comma::StmtSequence::numStatements (  )  const [inline]

Returns the number of statements contained in this sequence.

Definition at line 79 of file Stmt.h.

const_stmt_iter comma::StmtSequence::stmt_begin (  )  const [inline]

Iterators over the statements provided by this StmtSequence.

Definition at line 103 of file Stmt.h.

stmt_iter comma::StmtSequence::stmt_begin (  )  [inline]

Iterators over the statements provided by this StmtSequence.

Definition at line 99 of file Stmt.h.

const_stmt_iter comma::StmtSequence::stmt_end (  )  const [inline]

Iterators over the statements provided by this StmtSequence.

Definition at line 104 of file Stmt.h.

stmt_iter comma::StmtSequence::stmt_end (  )  [inline]

Iterators over the statements provided by this StmtSequence.

Definition at line 100 of file Stmt.h.


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

Generated on 1 Feb 2010 for Comma by  doxygen 1.6.1