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 > eliminateWrappers ()
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 206 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 176 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 200 of file ixlib_javascript.hh.


Constructor & Destructor Documentation

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

Definition at line 208 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 ref<value> ixion::javascript::value::eliminateWrappers   [virtual]
 

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 on Wed Oct 31 17:12:27 2001 for ixlib by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001