org.mozilla.javascript
Class NativeFunction

java.lang.Object
  extended by org.mozilla.javascript.ScriptableObject
      extended by org.mozilla.javascript.IdScriptableObject
          extended by org.mozilla.javascript.BaseFunction
              extended by org.mozilla.javascript.NativeFunction
All Implemented Interfaces:
java.io.Serializable, Callable, ConstProperties, DebuggableObject, Function, IdFunctionCall, Scriptable

public abstract class NativeFunction
extends BaseFunction

This class implements the Function native object. See ECMA 15.3.

Author:
Norris Boyd
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.mozilla.javascript.ScriptableObject
CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST
 
Fields inherited from interface org.mozilla.javascript.Scriptable
NOT_FOUND
 
Constructor Summary
NativeFunction()
           
 
Method Summary
 int getArity()
           
 DebuggableScript getDebuggableView()
           
 java.lang.String getEncodedSource()
          Get encoded source string.
protected abstract  int getLanguageVersion()
           
 int getLength()
           
protected abstract  int getParamAndVarCount()
          Get number of declared parameters and variables defined through var statements.
protected abstract  int getParamCount()
          Get number of declared parameters.
protected  boolean getParamOrVarConst(int index)
          Get parameter or variable const-ness.
protected abstract  java.lang.String getParamOrVarName(int index)
          Get parameter or variable name.
 void initScriptFunction(Context cx, Scriptable scope)
           
 java.lang.String jsGet_name()
          Deprecated. Use BaseFunction.getFunctionName() instead. For backwards compatibility keep an old method name used by Batik and possibly others.
 java.lang.Object resumeGenerator(Context cx, Scriptable scope, int operation, java.lang.Object state, java.lang.Object value)
          Resume execution of a suspended generator.
 
Methods inherited from class org.mozilla.javascript.BaseFunction
call, construct, createObject, execIdCall, fillConstructorProperties, findInstanceIdInfo, findPrototypeId, getClassName, getClassPrototype, getFunctionName, getInstanceIdName, getInstanceIdValue, getMaxInstanceId, getPrototypeProperty, getTypeOf, hasInstance, hasPrototypeProperty, initPrototypeId, setImmunePrototypeProperty, setInstanceIdValue
 
Methods inherited from class org.mozilla.javascript.IdScriptableObject
activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultPut, defineOwnProperty, delete, exportAsJSClass, get, getAttributes, getOwnPropertyDescriptor, has, hasPrototypeMap, incompatibleCallError, initPrototypeConstructor, initPrototypeMethod, initPrototypeValue, instanceIdInfo, put, setAttributes, setInstanceIdAttributes
 
Methods inherited from class org.mozilla.javascript.ScriptableObject
applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, equivalentValues, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getDefaultValue, getFunctionPrototype, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getPropertyIds, getPrototype, getSlot, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, has, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, putConst, putConstProperty, putProperty, putProperty, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setGetterOrSetter, setParentScope, setPrototype, size
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.mozilla.javascript.Scriptable
delete, delete, get, get, getDefaultValue, getIds, getParentScope, getPrototype, has, has, put, put, setParentScope, setPrototype
 

Constructor Detail

NativeFunction

public NativeFunction()
Method Detail

initScriptFunction

public final void initScriptFunction(Context cx,
                                     Scriptable scope)

getLength

public int getLength()
Overrides:
getLength in class BaseFunction

getArity

public int getArity()
Overrides:
getArity in class BaseFunction

jsGet_name

public java.lang.String jsGet_name()
Deprecated. Use BaseFunction.getFunctionName() instead. For backwards compatibility keep an old method name used by Batik and possibly others.


getEncodedSource

public java.lang.String getEncodedSource()
Get encoded source string.


getDebuggableView

public DebuggableScript getDebuggableView()

resumeGenerator

public java.lang.Object resumeGenerator(Context cx,
                                        Scriptable scope,
                                        int operation,
                                        java.lang.Object state,
                                        java.lang.Object value)
Resume execution of a suspended generator.

Parameters:
cx - The current context
scope - Scope for the parent generator function
operation - The resumption operation (next, send, etc.. )
state - The generator state (has locals, stack, etc.)
value - The return value of yield (if required).
Returns:
The next yielded value (if any)

getLanguageVersion

protected abstract int getLanguageVersion()

getParamCount

protected abstract int getParamCount()
Get number of declared parameters. It should be 0 for scripts.


getParamAndVarCount

protected abstract int getParamAndVarCount()
Get number of declared parameters and variables defined through var statements.


getParamOrVarName

protected abstract java.lang.String getParamOrVarName(int index)
Get parameter or variable name. If index < getParamCount(), then return the name of the corresponding parameter. Otherwise return the name of variable.


getParamOrVarConst

protected boolean getParamOrVarConst(int index)
Get parameter or variable const-ness. If index < getParamCount(), then return the const-ness of the corresponding parameter. Otherwise return whether the variable is const.