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

celx::VarStatement Class Reference

#include <statement.h>

Inheritance diagram for celx::VarStatement:

Inheritance graph
Collaboration diagram for celx::VarStatement:

Collaboration graph
List of all members.

Public Member Functions

virtual Control execute (ExecutionContext &)
 VarStatement (const std::string &, Expression *)
virtual ~VarStatement ()

Private Attributes

Expressioninitializer
std::string name

Constructor & Destructor Documentation

VarStatement::VarStatement const std::string ,
Expression
 

Definition at line 45 of file statement.cpp.

00045                                                                        :
00046     name(_name), initializer(_initializer)
00047 {
00048 }

VarStatement::~VarStatement  )  [virtual]
 

Definition at line 50 of file statement.cpp.

00051 {
00052 }


Member Function Documentation

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

Reimplemented from celx::Statement.

Definition at line 54 of file statement.cpp.

References celx::Environment::bind(), celx::Expression::eval(), initializer, and name.

00055 {
00056     Environment* env = context.getEnvironment();
00057     assert(env != NULL);
00058 
00059     env->bind(name, Value(initializer->eval(context)));
00060 
00061     return ControlAdvance;
00062 }


Member Data Documentation

Expression* celx::VarStatement::initializer [private]
 

Definition at line 83 of file statement.h.

Referenced by execute().

std::string celx::VarStatement::name [private]
 

Definition at line 82 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