Interface for extending cDynamicExpression with support for variables, member access, (extra) function calls, and method calls. If a variable/member/etc was not found, the corresponding method should return cValue(), i.e. the "undefined" value.
Public Member Functions | |
virtual IResolver * | dup () const =0 |
Evaluator methods. | |
virtual cValue | readVariable (Context *context, const char *name) |
virtual cValue | readVariable (Context *context, const char *name, intval_t index) |
virtual cValue | readMember (Context *context, const cValue &object, const char *name) |
virtual cValue | readMember (Context *context, const cValue &object, const char *name, intval_t index) |
virtual cValue | callFunction (Context *context, const char *name, cValue argv[], int argc) |
virtual cValue | callMethod (Context *context, const cValue &object, const char *name, cValue argv[], int argc) |
|
pure virtual |
Create and return an exact copy of this object.
Implemented in cDynamicExpression::SymbolTable.
Return the value of a variable with the given name.
Reimplemented in cDynamicExpression::SymbolTable.
Return the value of an element of an array variable with the given name. Expression syntax: name[index]
Reimplemented in cDynamicExpression::SymbolTable.
|
inlinevirtual |
Return the value of a member of the given object. Expression syntax: object.name
|
inlinevirtual |
Return the value of an element of an array member of the given object. Expression syntax: object.name[index]
|
inlinevirtual |
Evaluate a function call with the given arguments. Expression syntax: name(argv0, argv1,...)
|
inlinevirtual |
Evaluate a method call on the given object with the given arguments. Expression syntax: object.name(argv0, argv1,...)