Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

celx::IfStatement Class Reference

#include <statement.h>

Inheritance diagram for celx::IfStatement:

Inheritance graph
Collaboration diagram for celx::IfStatement:

Collaboration graph
List of all members.

Public Member Functions

virtual Control execute (ExecutionContext &)
 IfStatement (Expression *, Statement *, Statement *)
virtual ~IfStatement ()

Private Attributes

Expressioncondition
StatementelseClause
StatementifClause

Constructor & Destructor Documentation

IfStatement::IfStatement Expression ,
Statement ,
Statement
 

Definition at line 125 of file statement.cpp.

00126                                                  :
00127     condition(_cond), ifClause(_ifClause), elseClause(_elseClause)
00128 {
00129 }

IfStatement::~IfStatement  )  [virtual]
 

Definition at line 131 of file statement.cpp.

00132 {
00133 }


Member Function Documentation

Statement::Control IfStatement::execute ExecutionContext  )  [virtual]
 

Reimplemented from celx::Statement.

Definition at line 136 of file statement.cpp.

References condition, elseClause, celx::Expression::eval(), celx::Statement::execute(), ifClause, and celx::Value::toBoolean().

00137 {
00138     if (condition->eval(context).toBoolean())
00139         return ifClause->execute(context);
00140     else
00141         return elseClause->execute(context);
00142 }


Member Data Documentation

Expression* celx::IfStatement::condition [private]
 

Definition at line 67 of file statement.h.

Referenced by execute().

Statement* celx::IfStatement::elseClause [private]
 

Definition at line 69 of file statement.h.

Referenced by execute().

Statement* celx::IfStatement::ifClause [private]
 

Definition at line 68 of file statement.h.

Referenced by execute().


The documentation for this class was generated from the following files:
Generated on Sat Jan 14 22:33:45 2006 for Celestia by  doxygen 1.4.1