Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

ixion::javascript::value Class Reference

#include <ixlib_javascript.hh>

Inheritance diagram for ixion::javascript::value::

ixion::javascript::list_scope ixion::javascript::value_with_methods ixion::javascript::js_array List of all members.

Public Types

typedef std::vector<ref<value> > parameter_list
enum  operator_id {
  OP_PRE_INCREMENT, OP_POST_INCREMENT, OP_PRE_DECREMENT, OP_POST_DECREMENT,
  OP_UNARY_PLUS, OP_UNARY_MINUS, OP_LOG_NOT, OP_BIN_NOT,
  OP_PLUS_ASSIGN, OP_MINUS_ASSIGN, OP_MUTLIPLY_ASSIGN, OP_DIVIDE_ASSIGN,
  OP_MODULO_ASSIGN, OP_BIT_AND_ASSIGN, OP_BIT_OR_ASSIGN, OP_BIT_XOR_ASSIGN,
  OP_LEFT_SHIFT_ASSIGN, OP_RIGHT_SHIFT_ASSIGN, OP_PLUS, OP_MINUS,
  OP_MULTIPLY, OP_DIVIDE, OP_MODULO, OP_BIT_AND,
  OP_BIT_OR, OP_BIT_XOR, OP_LEFT_SHIFT, OP_RIGHT_SHIFT,
  OP_LOGICAL_OR, OP_LOGICAL_AND, OP_EQUAL, OP_NOT_EQUAL,
  OP_IDENTICAL, OP_NOT_IDENTICAL, OP_LESS_EQUAL, OP_GREATER_EQUAL,
  OP_LESS, OP_GREATER, OP_ASSIGN
}
enum  value_type {
  VT_UNDEFINED, VT_NULL, VT_INTEGER, VT_FLOATING_POINT,
  VT_STRING, VT_FUNCTION, VT_OBJECT, VT_BUILTIN,
  VT_HOST, VT_SCOPE, VT_BOUND_METHOD, VT_TYPE
}

Public Methods

virtual ~value ()
virtual value_type getType () const=0
virtual std::string toString () const
virtual int toInt () const
virtual double toFloat () const
virtual bool toBoolean () const
virtual std::string stringify () const
virtual ref<value> duplicate ()
virtual ref<value> lookup (std::string const &identifier)
virtual ref<value> subscript (value const &index)
virtual ref<value> call (parameter_list const &parameters)
virtual ref<value> callAsMethod (ref< value > instance, parameter_list const &parameters)
virtual ref<value> construct (parameter_list const &parameters)
virtual ref<value> assign (ref< value > op2)
virtual ref<value> operatorUnary (operator_id op) const
virtual ref<value> operatorBinary (operator_id op, ref< value > op2) const
virtual ref<value> operatorBinaryShortcut (operator_id op, expression const &op2, context const &ctx) const
virtual ref<value> operatorUnaryModifying (operator_id op)
virtual ref<value> operatorBinaryModifying (operator_id op, ref< value > op2)

Static Public Methods

operator_id token2operator (scanner::token const &token, bool unary=false, bool prefix=false)
std::string operator2string (operator_id op)
std::string valueType2string (value_type vt)

Member Typedef Documentation

typedef std::vector<ref<value> > ixion::javascript::value::parameter_list
 

Definition at line 197 of file ixlib_javascript.hh.


Member Enumeration Documentation

enum ixion::javascript::value::operator_id
 

Enumeration values:
OP_PRE_INCREMENT  
OP_POST_INCREMENT  
OP_PRE_DECREMENT  
OP_POST_DECREMENT  
OP_UNARY_PLUS  
OP_UNARY_MINUS  
OP_LOG_NOT  
OP_BIN_NOT  
OP_PLUS_ASSIGN  
OP_MINUS_ASSIGN  
OP_MUTLIPLY_ASSIGN  
OP_DIVIDE_ASSIGN  
OP_MODULO_ASSIGN  
OP_BIT_AND_ASSIGN  
OP_BIT_OR_ASSIGN  
OP_BIT_XOR_ASSIGN  
OP_LEFT_SHIFT_ASSIGN  
OP_RIGHT_SHIFT_ASSIGN  
OP_PLUS  
OP_MINUS  
OP_MULTIPLY  
OP_DIVIDE  
OP_MODULO  
OP_BIT_AND  
OP_BIT_OR  
OP_BIT_XOR  
OP_LEFT_SHIFT  
OP_RIGHT_SHIFT  
OP_LOGICAL_OR  
OP_LOGICAL_AND  
OP_EQUAL  
OP_NOT_EQUAL  
OP_IDENTICAL  
OP_NOT_IDENTICAL  
OP_LESS_EQUAL  
OP_GREATER_EQUAL  
OP_LESS  
OP_GREATER  
OP_ASSIGN  

Definition at line 167 of file ixlib_javascript.hh.

enum ixion::javascript::value::value_type
 

Enumeration values:
VT_UNDEFINED  
VT_NULL  
VT_INTEGER  
VT_FLOATING_POINT  
VT_STRING  
VT_FUNCTION  
VT_OBJECT  
VT_BUILTIN  
VT_HOST  
VT_SCOPE  
VT_BOUND_METHOD  
VT_TYPE  

Definition at line 191 of file ixlib_javascript.hh.


Constructor & Destructor Documentation

ixion::javascript::value::~value ( ) [inline, virtual]
 

Definition at line 199 of file ixlib_javascript.hh.


Member Function Documentation

virtual ref<value> ixion::javascript::value::assign ( ref< value > op2 ) [virtual]
 

virtual ref<value> ixion::javascript::value::call ( parameter_list const & parameters ) [virtual]
 

virtual ref<value> ixion::javascript::value::callAsMethod ( ref< value > instance,
parameter_list const & parameters ) [virtual]
 

virtual ref<value> ixion::javascript::value::construct ( parameter_list const & parameters ) [virtual]
 

virtual ref<value> ixion::javascript::value::duplicate ( ) [virtual]
 

Reimplemented in ixion::javascript::js_array.

virtual value_type ixion::javascript::value::getType ( ) const [pure virtual]
 

Reimplemented in ixion::javascript::list_scope, and ixion::javascript::js_array.

virtual ref<value> ixion::javascript::value::lookup ( std::string const & identifier ) [virtual]
 

Reimplemented in ixion::javascript::value_with_methods, ixion::javascript::list_scope, and ixion::javascript::js_array.

std::string ixion::javascript::value::operator2string ( operator_id op ) [static]
 

virtual ref<value> ixion::javascript::value::operatorBinary ( operator_id op,
ref< value > op2 ) const [virtual]
 

virtual ref<value> ixion::javascript::value::operatorBinaryModifying ( operator_id op,
ref< value > op2 ) [virtual]
 

virtual ref<value> ixion::javascript::value::operatorBinaryShortcut ( operator_id op,
expression const & op2,
context const & ctx ) const [virtual]
 

virtual ref<value> ixion::javascript::value::operatorUnary ( operator_id op ) const [virtual]
 

virtual ref<value> ixion::javascript::value::operatorUnaryModifying ( operator_id op ) [virtual]
 

virtual std::string ixion::javascript::value::stringify ( ) const [virtual]
 

Reimplemented in ixion::javascript::js_array.

virtual ref<value> ixion::javascript::value::subscript ( value const & index ) [virtual]
 

Reimplemented in ixion::javascript::js_array.

virtual bool ixion::javascript::value::toBoolean ( ) const [virtual]
 

virtual double ixion::javascript::value::toFloat ( ) const [virtual]
 

virtual int ixion::javascript::value::toInt ( ) const [virtual]
 

virtual std::string ixion::javascript::value::toString ( ) const [virtual]
 

operator_id ixion::javascript::value::token2operator ( scanner::token const & token,
bool unary = false,
bool prefix = false ) [static]
 

std::string ixion::javascript::value::valueType2string ( value_type vt ) [static]
 


The documentation for this class was generated from the following file:
Generated at Fri Jul 6 21:05:15 2001 for ixlib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001