Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

KJS::Interpreter Class Reference

#include <interpreter.h>

List of all members.

Public Methods

 Interpreter (const Object &global)
 Interpreter ()
Object globalObject () const
ExecStateglobalExec ()
bool checkSyntax (const UString &code)
Completion evaluate (const UString &code, const Value &thisV=Value())
Object builtinObject () const
Object builtinFunction () const
Object builtinArray () const
Object builtinBoolean () const
Object builtinString () const
Object builtinNumber () const
Object builtinDate () const
Object builtinRegExp () const
Object builtinError () const
Object builtinObjectPrototype () const
Object builtinFunctionPrototype () const
Object builtinArrayPrototype () const
Object builtinBooleanPrototype () const
Object builtinStringPrototype () const
Object builtinNumberPrototype () const
Object builtinDatePrototype () const
Object builtinRegExpPrototype () const
Object builtinErrorPrototype () const
Object builtinEvalError () const
void setCompatMode (CompatMode mode)
virtual void mark ()
virtual int rtti ()

Static Public Methods

bool collect ()


Detailed Description

Interpreter objects can be used to evaluate ECMAScript code. Each interpreter has a global object which is used for the purposes of code evaluation, and also provides access to built-in properties such as " Object" and "Number".

Definition at line 119 of file interpreter.h.


Constructor & Destructor Documentation

KJS::Interpreter::Interpreter const Object   global
 

Creates a new interpreter. The supplied object will be used as the global object for all scripts executed with this interpreter. During constuction, all the standard properties such as "Object" and "Number" will be added to the global object.

Note: You should not use the same global object for multiple interpreters.

This is due do the fact that the built-in properties are set in the constructor, and if these objects have been modified from another interpreter (e.g. a script modifying String.prototype), the changes will be overridden.

Parameters:
global  The object to use as the global object for this interpreter

KJS::Interpreter::Interpreter  
 

Creates a new interpreter. A global object will be created and initialized with the standard global properties.


Member Function Documentation

Object KJS::Interpreter::builtinArray  
 

Returns the builtin "Array" object.

Object KJS::Interpreter::builtinArrayPrototype  
 

Returns the builtin "Array.prototype" object.

Object KJS::Interpreter::builtinBoolean  
 

Returns the builtin "Boolean" object.

Object KJS::Interpreter::builtinBooleanPrototype  
 

Returns the builtin "Boolean.prototype" object.

Object KJS::Interpreter::builtinDate  
 

Returns the builtin "Date" object.

Object KJS::Interpreter::builtinDatePrototype  
 

Returns the builtin "Date.prototype" object.

Object KJS::Interpreter::builtinError  
 

Returns the builtin "Error" object.

Object KJS::Interpreter::builtinErrorPrototype  
 

Returns the builtin "Error.prototype" object.

Object KJS::Interpreter::builtinEvalError  
 

The initial value of "Error" global property

Object KJS::Interpreter::builtinFunction  
 

Returns the builtin "Function" object.

Object KJS::Interpreter::builtinFunctionPrototype  
 

Returns the builtin "Function.prototype" object.

Object KJS::Interpreter::builtinNumber  
 

Returns the builtin "Number" object.

Object KJS::Interpreter::builtinNumberPrototype  
 

Returns the builtin "Number.prototype" object.

Object KJS::Interpreter::builtinObject  
 

Returns the builtin "Object" object. This is the object that was set as a property of the global object during construction; if the property is replaced by script code, this method will still return the original object.

Returns:
The builtin "Object" object

Object KJS::Interpreter::builtinObjectPrototype  
 

Returns the builtin "Object.prototype" object.

Object KJS::Interpreter::builtinRegExp  
 

Returns the builtin "RegExp" object.

Object KJS::Interpreter::builtinRegExpPrototype  
 

Returns the builtin "RegExp.prototype" object.

Object KJS::Interpreter::builtinString  
 

Returns the builtin "String" object.

Object KJS::Interpreter::builtinStringPrototype  
 

Returns the builtin "String.prototype" object.

bool KJS::Interpreter::checkSyntax const UString   code
 

Parses the supplied ECMAScript code and checks for syntax errors.

Parameters:
code  The code to check
Returns:
true if there were no syntax errors in the code, otherwise false

bool KJS::Interpreter::collect   [static]
 

Run the garbage collection. Returns true when at least one object was collected; false otherwise.

Completion KJS::Interpreter::evaluate const UString   code,
const Value   thisV = Value()
 

Evaluates the supplied ECMAScript code.

Since this method returns a Completion, you should check the type of completion to detect an error or before attempting to access the returned value. For example, if an error occurs during script execution and is not caught by the script, the completion type will be Throw.

If the supplied code is invalid, a SyntaxError will be thrown.

Parameters:
code  The code to evaluate
thisV  The value to pass in as the "this" value for the script execution. This should either be Null() or an Object.
Returns:
A completion object representing the result of the execution.

ExecState* KJS::Interpreter::globalExec  
 

Returns the execution state object which can be used to execute scripts using this interpreter at a the "global" level, i.e. one with a execution context that has the global object as the "this" value, and who's scope chain contains only the global object.

Note: this pointer remains constant for the life of the interpreter and should not be manually deleted.

Returns:
The interpreter global execution state object

Object KJS::Interpreter::globalObject  
 

Returns the object that is used as the global object during all script execution performed by this interpreter

virtual void KJS::Interpreter::mark   [inline, virtual]
 

Called by InterpreterImp during the mark phase of the garbage collector Default implementation does nothing, this exist for classes that reimplement Interpreter.

Definition at line 332 of file interpreter.h.

virtual int KJS::Interpreter::rtti   [inline, virtual]
 

Provides a way to distinguish derived classes. Only useful if you reimplement Interpreter and if different kind of interpreters are created in the same process. The base class returns 0, the ECMA-bindings interpreter returns 1.

Definition at line 340 of file interpreter.h.

void KJS::Interpreter::setCompatMode CompatMode    mode
 

Call this to enable a compatibility mode with another browser. (by default konqueror is in "native mode"). Currently, in KJS, this only changes the behaviour of Date::getYear() which returns the full year under IE.


The documentation for this class was generated from the following file:
Generated on Wed Aug 13 23:30:34 2003 for kdelibs by doxygen1.2.18