# class KJScript | ECMAScript interpreter. More...
Definition | `#include <kjs.h>`
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- KJScript ()
- ~KJScript ()
- void init ()
- bool evaluate (const char *code)
- bool evaluate (const KJS::KJSO &thisV, const QChar *code, unsigned int length)
- bool evaluate (const KJS::UString &code)
- bool call (const KJS::UString &func, const KJS::List &args)
- void clear ()
- KJS::Imp * returnValue () const
- int errorType () const
- int errorLine () const
- const char * errorMsg () const
- bool checkSyntax (const KJS::UString &code)
- void enableDebug ()

## Detailed Description

KJScript () | ### KJScript

Create a new ECMAScript interpreter. You can later ask it to interprete code by passing it via evaluate.

~KJScript () | ### ~KJScript

Destructor

void init () | ### init

Force a "context switch". You usually do not need to do that, evaluate() does it too.

bool evaluate (const char *code) | ### evaluate

Asks the interpreter to evaluate a piece of code. If called more than once the state (global variables, functions etc.) will be preserved between each call.

Parameters:

code | is a string containing the code to be executed.

Returns: True if the code was evaluated successfully, false if an error occured.

bool evaluate (const KJS::KJSO &thisV, const QChar *code, unsigned int length) | ### evaluate

Same as above. Only differing in the arguments accepted.

Parameters:

code | is a pointer to an Unicode string containing the code to be executed.
length | number of characters.

bool evaluate (const KJS::UString &code) | ### evaluate

Added for convenience in case you have the code in available in internal representation already.

Parameters:

code | is an Unicode string containing the code to be executed.

bool call (const KJS::UString &func, const KJS::List &args) | ### call

Call the specified function directly, optionally passing args as a list of arguments. Return value and treatment of errors is analog to the evaluate() calls.

void clear () | ### clear

Clear the interpreter's memory. Otherwise, function declarations and global variables will be remembered after each invokation of KJScript::evaluate.

KJS::Imp * returnValue () | ### returnValue

[const]

Returns: Return value from the last call to evaluate(). Null if there hasn't been any.

int errorType () | ### errorType

[const]

Returns: Return code from last call to evaluate(). 0 on success.

int errorLine () | ### errorLine

[const]

Returns: Return line of last error. -1 if last call didn't have an error.

const char * errorMsg () | ### errorMsg

[const]

Returns: Error message from last call to evaluate(). Empty string if no error occured.

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

Check the syntax of a piece of code. Return true if the code could be parsed without errors, false otherwise. errorLine() will tell you approximately where the syntax error happened.

void enableDebug () | ### enableDebug

Adds a debug() function to the set of pre-defined properties. debug(arg) tries to convert 'arg' to a string and prints the result to stderr. If you want to debug self defined Host Objects this way you should provide them with a toString() method that returns a string.

Generated by: root@i386.ports.openbsd.org on Wed Apr 25 13:58:56 2001, using kdoc 2.0a53.