public class BaseFunction extends IdScriptableObject implements Function
| Type | Property and Description |
|---|---|
protected boolean |
hasPrototype |
CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONSTNOT_FOUND| Constructor and Description |
|---|
BaseFunction() |
BaseFunction(Scriptable scope,
Scriptable prototype) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
call(Context cx,
Scriptable scope,
Scriptable thisObj,
java.lang.Object[] args)
Should be overridden.
|
Scriptable |
construct(Context cx,
Scriptable scope,
java.lang.Object[] args)
Call the function as a constructor.
|
Scriptable |
createObject(Context cx,
Scriptable scope)
Creates new script object.
|
java.lang.Object |
execIdCall(IdFunctionObject f,
Context cx,
Scriptable scope,
Scriptable thisObj,
java.lang.Object[] args)
'thisObj' will be null if invoked as constructor, in which case instance
of Scriptable should be returned.
|
protected void |
fillConstructorProperties(IdFunctionObject ctor) |
protected int |
findInstanceIdInfo(java.lang.String s)
Map name to id of instance property.
|
protected int |
findPrototypeId(java.lang.String s) |
int |
getArity() |
java.lang.String |
getClassName()
Return the name of the class.
|
protected Scriptable |
getClassPrototype() |
java.lang.String |
getFunctionName() |
protected java.lang.String |
getInstanceIdName(int id)
Map id back to property name it defines.
|
protected java.lang.Object |
getInstanceIdValue(int id)
Get id value.
|
int |
getLength() |
protected int |
getMaxInstanceId()
Get maximum id findInstanceIdInfo can generate.
|
protected java.lang.Object |
getPrototypeProperty() |
java.lang.String |
getTypeOf()
Gets the value returned by calling the typeof operator on this object.
|
boolean |
hasInstance(Scriptable instance)
Implements the instanceof operator for JavaScript Function objects.
|
protected boolean |
hasPrototypeProperty() |
protected void |
initPrototypeId(int id) |
void |
setImmunePrototypeProperty(java.lang.Object value)
Make value as DontEnum, DontDelete, ReadOnly prototype property of this
Function object
|
protected void |
setInstanceIdValue(int id,
java.lang.Object value)
Set or delete id value.
|
activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultPut, defineOwnProperty, delete, exportAsJSClass, get, getAttributes, getOwnPropertyDescriptor, has, hasPrototypeMap, incompatibleCallError, initPrototypeConstructor, initPrototypeMethod, initPrototypeValue, instanceIdInfo, put, setAttributes, setInstanceIdAttributesapplyDescriptorToAttributeBitset, 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, isReadOnlySettable, isSealed, isTrue, preventExtensions, put, putConst, putConstProperty, putProperty, putProperty, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setGetterOrSetter, setParentScope, setPrototype, sizeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdelete, delete, get, get, getDefaultValue, getIds, getParentScope, getPrototype, has, has, put, put, setParentScope, setPrototypepublic BaseFunction()
public BaseFunction(Scriptable scope, Scriptable prototype)
public java.lang.String getClassName()
ScriptableObjectgetClassName in interface ScriptablegetClassName in class ScriptableObjectpublic java.lang.String getTypeOf()
getTypeOf in class ScriptableObjectScriptableObject.avoidObjectDetection()
returns trueScriptableObject.getTypeOf()public boolean hasInstance(Scriptable instance)
foo = new Foo();
foo instanceof Foo; // true
hasInstance in interface ScriptablehasInstance in class ScriptableObjectinstance - The value that appeared on the LHS of the instanceof operatorprotected int getMaxInstanceId()
IdScriptableObjectgetMaxInstanceId in class IdScriptableObjectprotected int findInstanceIdInfo(java.lang.String s)
IdScriptableObjectIdScriptableObject.instanceIdInfo(int, int).findInstanceIdInfo in class IdScriptableObjectprotected java.lang.String getInstanceIdName(int id)
IdScriptableObjectgetInstanceIdName in class IdScriptableObjectprotected java.lang.Object getInstanceIdValue(int id)
IdScriptableObjectgetInstanceIdValue in class IdScriptableObjectprotected void setInstanceIdValue(int id,
java.lang.Object value)
IdScriptableObjectsetInstanceIdValue in class IdScriptableObjectprotected void fillConstructorProperties(IdFunctionObject ctor)
fillConstructorProperties in class IdScriptableObjectprotected void initPrototypeId(int id)
initPrototypeId in class IdScriptableObjectpublic java.lang.Object execIdCall(IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
IdScriptableObjectexecIdCall in interface IdFunctionCallexecIdCall in class IdScriptableObjectpublic void setImmunePrototypeProperty(java.lang.Object value)
protected Scriptable getClassPrototype()
public java.lang.Object call(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
call in interface Callablecall in interface Functioncx - the current Context for this threadscope - 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 objectargs - the array of argumentspublic Scriptable construct(Context cx, Scriptable scope, java.lang.Object[] args)
Functionnew operator. This method is expected to create a
new object and return it.public Scriptable createObject(Context cx, Scriptable scope)
construct(net.sourceforge.htmlunit.corejs.javascript.Context, net.sourceforge.htmlunit.corejs.javascript.Scriptable, java.lang.Object[]) uses the method to to get the value for
thisObj argument when invoking call(net.sourceforge.htmlunit.corejs.javascript.Context, net.sourceforge.htmlunit.corejs.javascript.Scriptable, net.sourceforge.htmlunit.corejs.javascript.Scriptable, java.lang.Object[]). The methos is
allowed to return null to indicate that call(net.sourceforge.htmlunit.corejs.javascript.Context, net.sourceforge.htmlunit.corejs.javascript.Scriptable, net.sourceforge.htmlunit.corejs.javascript.Scriptable, java.lang.Object[]) will
create a new object itself. In this case construct(net.sourceforge.htmlunit.corejs.javascript.Context, net.sourceforge.htmlunit.corejs.javascript.Scriptable, java.lang.Object[]) will set
scope and prototype on the result call(net.sourceforge.htmlunit.corejs.javascript.Context, net.sourceforge.htmlunit.corejs.javascript.Scriptable, net.sourceforge.htmlunit.corejs.javascript.Scriptable, java.lang.Object[]) unless they are already
set.public int getArity()
public int getLength()
public java.lang.String getFunctionName()
protected boolean hasPrototypeProperty()
protected java.lang.Object getPrototypeProperty()
protected int findPrototypeId(java.lang.String s)
findPrototypeId in class IdScriptableObject