#include <expression.h>
Inheritance diagram for celx::AssignmentExpression:


Public Member Functions | |
| AssignmentExpression (Expression *, Expression *) | |
| virtual Value | eval (ExecutionContext &) |
| virtual bool | isLValue () const |
| virtual Value * | leval (ExecutionContext &) |
| virtual | ~AssignmentExpression () |
Private Attributes | |
| Expression * | left |
| Expression * | right |
|
||||||||||||
|
Definition at line 169 of file expression.cpp.
|
|
|
Definition at line 175 of file expression.cpp.
|
|
|
Implements celx::Expression. Definition at line 186 of file expression.cpp. References celx::Expression::eval(), left, celx::Expression::leval(), and right. 00187 {
00188 Value* v = left->leval(context);
00189 if (v == NULL)
00190 {
00191 context.runtimeError();
00192 return Value();
00193 }
00194
00195 *v = right->eval(context);
00196
00197 return *v;
00198 }
|
|
|
Reimplemented from celx::Expression. Definition at line 181 of file expression.cpp. 00182 {
00183 return true;
00184 }
|
|
|
Reimplemented from celx::Expression. Definition at line 200 of file expression.cpp. References celx::Expression::eval(), left, celx::Expression::leval(), and right. 00201 {
00202 Value* v = left->leval(context);
00203 if (v == NULL)
00204 {
00205 context.runtimeError();
00206 return NULL;
00207 }
00208
00209 *v = right->eval(context);
00210
00211 return v;
00212 }
|
|
|
Definition at line 121 of file expression.h. Referenced by eval(), leval(), and ~AssignmentExpression(). |
|
|
Definition at line 122 of file expression.h. Referenced by eval(), leval(), and ~AssignmentExpression(). |
1.4.1