org.apache.bsf.debug.jsdi

Interface JsFunction

public interface JsFunction extends JsCode

Represents a function in the engine since JavaScript has code as first-class objects.

UNKNOWN: Olivier Gruber

Method Summary
Objectcall(JsContext cx, JsObject scope, JsObject thisObj, Object[] args)
Call the function.
JsObjectconstruct(JsContext cx, JsObject scope, Object[] args)
Call the function as a constructor.
intgetArgumentCount()
StringgetFunctionName()

Method Detail

call

public Object call(JsContext cx, JsObject scope, JsObject thisObj, Object[] args)
Call the function. Note that the array of arguments is not guaranteed to have length greater than 0.

Parameters: cx the current Context for this thread scope the scope to execute the function relative to. This is set to the value returned by getParentScope() except when the function is called from a closure. thisObj the JavaScript this object args the array of arguments

Returns: the result of the call

Throws: JavaScriptException if an uncaught exception occurred while executing the function

construct

public JsObject construct(JsContext cx, JsObject scope, Object[] args)
Call the function as a constructor. This method is invoked by the runtime in order to satisfy a use of the JavaScript new operator. This method is expected to create a new object and return it.

Parameters: cx the current Context for this thread scope an enclosing scope of the caller except when the function is called from a closure. args the array of arguments

Returns: the allocated object

Throws: JavaScriptException if an uncaught exception occurred while executing the constructor

getArgumentCount

public int getArgumentCount()

getFunctionName

public String getFunctionName()