Package org.htmlunit.corejs.javascript
Class IdFunctionObject
- java.lang.Object
-
- org.htmlunit.corejs.javascript.ScriptableObject
-
- org.htmlunit.corejs.javascript.IdScriptableObject
-
- org.htmlunit.corejs.javascript.BaseFunction
-
- org.htmlunit.corejs.javascript.IdFunctionObject
-
- All Implemented Interfaces:
java.io.Serializable,Callable,ConstProperties,Constructable,DebuggableObject,Function,IdFunctionCall,Scriptable,SymbolScriptable
- Direct Known Subclasses:
IdFunctionObjectES6
public class IdFunctionObject extends BaseFunction
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.htmlunit.corejs.javascript.ScriptableObject
ScriptableObject.KeyComparator
-
-
Field Summary
Fields Modifier and Type Field Description private intarityprivate java.lang.StringfunctionNameprivate IdFunctionCallidcallprivate intmethodIdprivate static longserialVersionUIDprivate java.lang.Objecttagprivate booleanuseCallAsConstructor-
Fields inherited from class org.htmlunit.corejs.javascript.BaseFunction
GENERATOR_FUNCTION_CLASS, Id_arguments, Id_arity, Id_length, Id_name, Id_prototype, MAX_INSTANCE_ID
-
Fields inherited from class org.htmlunit.corejs.javascript.ScriptableObject
CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST
-
Fields inherited from interface org.htmlunit.corejs.javascript.Scriptable
NOT_FOUND
-
-
Constructor Summary
Constructors Constructor Description IdFunctionObject(IdFunctionCall idcall, java.lang.Object tag, int id, int arity)IdFunctionObject(IdFunctionCall idcall, java.lang.Object tag, int id, java.lang.String name, int arity, Scriptable scope)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAsProperty(Scriptable target)java.lang.Objectcall(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)Should be overridden.ScriptablecreateObject(Context cx, Scriptable scope)Creates new script object.(package private) static booleanequalObjectGraphs(IdFunctionObject f1, IdFunctionObject f2, EqualObjectGraphs eq)voidexportAsScopeProperty()intgetArity()java.lang.StringgetFunctionName()intgetLength()ScriptablegetPrototype()Returns the prototype of the object.java.lang.ObjectgetTag()booleanhasTag(java.lang.Object tag)voidinitFunction(java.lang.String name, Scriptable scope)voidmarkAsConstructor(Scriptable prototypeProperty)intmethodId()java.lang.RuntimeExceptionunknown()-
Methods inherited from class org.htmlunit.corejs.javascript.BaseFunction
construct, decompile, execIdCall, fillConstructorProperties, findInstanceIdInfo, findPrototypeId, getClassName, getClassPrototype, getInstanceIdName, getInstanceIdValue, getMaxInstanceId, getPrototypeProperty, getTypeOf, hasInstance, hasPrototypeProperty, init, init, initAsGeneratorFunction, initPrototypeId, isApply, isApplyOrCall, isGeneratorFunction, setImmunePrototypeProperty, setInstanceIdAttributes, setInstanceIdValue, setPrototypeProperty, setPrototypePropertyAttributes, setStandardPropertyAttributes, setupDefaultPrototype
-
Methods inherited from class org.htmlunit.corejs.javascript.IdScriptableObject
activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultHas, defaultPut, defineOwnProperty, delete, delete, ensureType, exportAsJSClass, findInstanceIdInfo, findPrototypeId, get, get, getAttributes, getAttributes, getIds, getOwnPropertyDescriptor, has, has, hasPrototypeMap, initPrototypeConstructor, initPrototypeMethod, initPrototypeMethod, initPrototypeMethod, initPrototypeValue, initPrototypeValue, instanceIdInfo, put, put, setAttributes
-
Methods inherited from class org.htmlunit.corejs.javascript.ScriptableObject
addLazilyInitializedValue, applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildClassCtor, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, checkValidAttributes, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, deleteProperty, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, equivalentValues, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getBase, getBase, getClassPrototype, getDefaultValue, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, has, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, putConst, putConstProperty, putImpl, putProperty, putProperty, putProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, 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.htmlunit.corejs.javascript.Scriptable
delete, delete, get, get, getDefaultValue, getIds, getParentScope, has, has, put, put, setParentScope, setPrototype
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
idcall
private final IdFunctionCall idcall
-
tag
private final java.lang.Object tag
-
methodId
private final int methodId
-
arity
private int arity
-
useCallAsConstructor
private boolean useCallAsConstructor
-
functionName
private java.lang.String functionName
-
-
Constructor Detail
-
IdFunctionObject
public IdFunctionObject(IdFunctionCall idcall, java.lang.Object tag, int id, int arity)
-
IdFunctionObject
public IdFunctionObject(IdFunctionCall idcall, java.lang.Object tag, int id, java.lang.String name, int arity, Scriptable scope)
-
-
Method Detail
-
initFunction
public void initFunction(java.lang.String name, Scriptable scope)
-
hasTag
public final boolean hasTag(java.lang.Object tag)
-
getTag
public java.lang.Object getTag()
-
methodId
public final int methodId()
-
markAsConstructor
public final void markAsConstructor(Scriptable prototypeProperty)
-
addAsProperty
public final void addAsProperty(Scriptable target)
-
exportAsScopeProperty
public void exportAsScopeProperty()
-
getPrototype
public Scriptable getPrototype()
Description copied from class:ScriptableObjectReturns the prototype of the object.- Specified by:
getPrototypein interfaceScriptable- Overrides:
getPrototypein classScriptableObject- Returns:
- the prototype
-
call
public java.lang.Object call(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
Description copied from class:BaseFunctionShould be overridden.- Specified by:
callin interfaceCallable- Specified by:
callin interfaceFunction- Overrides:
callin classBaseFunction- Parameters:
cx- 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 JavaScriptthisobjectargs- the array of arguments- Returns:
- the result of the call
-
createObject
public Scriptable createObject(Context cx, Scriptable scope)
Description copied from class:BaseFunctionCreates new script object. The default implementation ofBaseFunction.construct(org.htmlunit.corejs.javascript.Context, org.htmlunit.corejs.javascript.Scriptable, java.lang.Object[])uses the method to to get the value forthisObjargument when invokingBaseFunction.call(org.htmlunit.corejs.javascript.Context, org.htmlunit.corejs.javascript.Scriptable, org.htmlunit.corejs.javascript.Scriptable, java.lang.Object[]). The methos is allowed to returnnullto indicate thatBaseFunction.call(org.htmlunit.corejs.javascript.Context, org.htmlunit.corejs.javascript.Scriptable, org.htmlunit.corejs.javascript.Scriptable, java.lang.Object[])will create a new object itself. In this caseBaseFunction.construct(org.htmlunit.corejs.javascript.Context, org.htmlunit.corejs.javascript.Scriptable, java.lang.Object[])will set scope and prototype on the resultBaseFunction.call(org.htmlunit.corejs.javascript.Context, org.htmlunit.corejs.javascript.Scriptable, org.htmlunit.corejs.javascript.Scriptable, java.lang.Object[])unless they are already set.- Overrides:
createObjectin classBaseFunction
-
getArity
public int getArity()
- Overrides:
getArityin classBaseFunction
-
getLength
public int getLength()
- Overrides:
getLengthin classBaseFunction
-
getFunctionName
public java.lang.String getFunctionName()
- Overrides:
getFunctionNamein classBaseFunction
-
unknown
public final java.lang.RuntimeException unknown()
-
equalObjectGraphs
static boolean equalObjectGraphs(IdFunctionObject f1, IdFunctionObject f2, EqualObjectGraphs eq)
-
-