class Interpreter

# class Interpreter | Interpreter objects can be used to evaluate ECMAScript code. More...
Full name | `KJS::Interpreter`
Definition | `#include <interpreter.h>`
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Types

- enum CompatMode { NativeMode, IECompat, NetscapeCompat }

#### Public Methods

- Interpreter (const Object &global)
- Interpreter ()
- virtual ~Interpreter ()
- Object globalObject () const
- void initGlobalObject ()
- ExecState * globalExec ()
- bool checkSyntax (const UString &code)
- Completion evaluate (const UString &code, const Value &thisV = Value())
- InterpreterImp * imp ()
- 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
- Object builtinRangeError () const
- Object builtinReferenceError () const
- Object builtinSyntaxError () const
- Object builtinTypeError () const
- Object builtinURIError () const
- Object builtinEvalErrorPrototype () const
- Object builtinRangeErrorPrototype () const
- Object builtinReferenceErrorPrototype () const
- Object builtinSyntaxErrorPrototype () const
- Object builtinTypeErrorPrototype () const
- Object builtinURIErrorPrototype () const
- void setCompatMode (CompatMode mode)
- CompatMode compatMode () const
- virtual void mark ()
- virtual int rtti ()

#### Public Static Methods

- static bool collect ()
- static void finalCheck ()

#### Protected Methods

- virtual void virtual_hook ( int id, void* data )

## 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".

Interpreter (const Object &global) | ### Interpreter

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

Interpreter () | ### Interpreter

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

~Interpreter () | ### ~Interpreter

[virtual]

Object globalObject () | ### globalObject

[const]

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

void initGlobalObject () | ### initGlobalObject

ExecState * globalExec () | ### 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

bool checkSyntax (const UString &code) | ### checkSyntax

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

Completion evaluate (const UString &code, const Value &thisV = Value()) | ### evaluate

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.

InterpreterImp * imp () | ### imp

Returns the implementation object associated with this interpreter. Only useful for internal KJS operations.

Object builtinObject () | ### builtinObject

[const]

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 builtinFunction () | ### builtinFunction

[const]

Returns the builtin "Function" object.

Object builtinArray () | ### builtinArray

[const]

Returns the builtin "Array" object.

Object builtinBoolean () | ### builtinBoolean

[const]

Returns the builtin "Boolean" object.

Object builtinString () | ### builtinString

[const]

Returns the builtin "String" object.

Object builtinNumber () | ### builtinNumber

[const]

Returns the builtin "Number" object.

Object builtinDate () | ### builtinDate

[const]

Returns the builtin "Date" object.

Object builtinRegExp () | ### builtinRegExp

[const]

Returns the builtin "RegExp" object.

Object builtinError () | ### builtinError

[const]

Returns the builtin "Error" object.

Object builtinObjectPrototype () | ### builtinObjectPrototype

[const]

Returns the builtin "Object.prototype" object.

Object builtinFunctionPrototype () | ### builtinFunctionPrototype

[const]

Returns the builtin "Function.prototype" object.

Object builtinArrayPrototype () | ### builtinArrayPrototype

[const]

Returns the builtin "Array.prototype" object.

Object builtinBooleanPrototype () | ### builtinBooleanPrototype

[const]

Returns the builtin "Boolean.prototype" object.

Object builtinStringPrototype () | ### builtinStringPrototype

[const]

Returns the builtin "String.prototype" object.

Object builtinNumberPrototype () | ### builtinNumberPrototype

[const]

Returns the builtin "Number.prototype" object.

Object builtinDatePrototype () | ### builtinDatePrototype

[const]

Returns the builtin "Date.prototype" object.

Object builtinRegExpPrototype () | ### builtinRegExpPrototype

[const]

Returns the builtin "RegExp.prototype" object.

Object builtinErrorPrototype () | ### builtinErrorPrototype

[const]

Returns the builtin "Error.prototype" object.

Object builtinEvalError () | ### builtinEvalError

[const]

The initial value of "Error" global property

Object builtinRangeError () | ### builtinRangeError

[const]

Object builtinReferenceError () | ### builtinReferenceError

[const]

Object builtinSyntaxError () | ### builtinSyntaxError

[const]

Object builtinTypeError () | ### builtinTypeError

[const]

Object builtinURIError () | ### builtinURIError

[const]

Object builtinEvalErrorPrototype () | ### builtinEvalErrorPrototype

[const]

Object builtinRangeErrorPrototype () | ### builtinRangeErrorPrototype

[const]

Object builtinReferenceErrorPrototype () | ### builtinReferenceErrorPrototype

[const]

Object builtinSyntaxErrorPrototype () | ### builtinSyntaxErrorPrototype

[const]

Object builtinTypeErrorPrototype () | ### builtinTypeErrorPrototype

[const]

Object builtinURIErrorPrototype () | ### builtinURIErrorPrototype

[const]

enum CompatMode { NativeMode, IECompat, NetscapeCompat } | ### CompatMode

void setCompatMode (CompatMode mode) | ### setCompatMode

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.

CompatMode compatMode () | ### compatMode

[const]

bool collect () | ### collect

[static]

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

void mark () | ### mark

[virtual]

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

int rtti () | ### rtti

[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.

void finalCheck () | ### finalCheck

[static]

void virtual_hook ( int id, void* data ) | ### virtual_hook

[protected virtual]

Generated by: root on macppc.ports.openbsd.org on Sat Sep 6 10:37:28 2003, using kdoc 2.0a54.