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

celx::IdentifierExpression Class Reference

#include <expression.h>

Inheritance diagram for celx::IdentifierExpression:

Inheritance graph
Collaboration diagram for celx::IdentifierExpression:

Collaboration graph
List of all members.

Public Member Functions

virtual Value eval (ExecutionContext &)
 IdentifierExpression (const std::string &)
virtual bool isLValue () const
virtual Valueleval (ExecutionContext &)
virtual ~IdentifierExpression ()

Private Attributes

const std::string name
int stackDepth

Constructor & Destructor Documentation

IdentifierExpression::IdentifierExpression const std::string  ) 
 

Definition at line 139 of file expression.cpp.

00139                                                               :
00140     name(_name)
00141 {
00142 }

IdentifierExpression::~IdentifierExpression  )  [virtual]
 

Definition at line 144 of file expression.cpp.

00145 {
00146 }


Member Function Documentation

Value IdentifierExpression::eval ExecutionContext  )  [virtual]
 

Implements celx::Expression.

Definition at line 153 of file expression.cpp.

References name.

00154 {
00155     Value* val = context.getEnvironment()->lookup(name);
00156     if (val == NULL)
00157         return Value();
00158     else
00159         return *val;
00160 }

bool IdentifierExpression::isLValue  )  const [virtual]
 

Reimplemented from celx::Expression.

Definition at line 148 of file expression.cpp.

00149 {
00150     return true;
00151 }

Value * IdentifierExpression::leval ExecutionContext  )  [virtual]
 

Reimplemented from celx::Expression.

Definition at line 162 of file expression.cpp.

References name.

00163 {
00164     return context.getEnvironment()->lookup(name);
00165 }


Member Data Documentation

const std::string celx::IdentifierExpression::name [private]
 

Definition at line 106 of file expression.h.

Referenced by eval(), and leval().

int celx::IdentifierExpression::stackDepth [private]
 

Definition at line 107 of file expression.h.


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