Package org.mozilla.javascript
Class IdFunctionObject
java.lang.Object
org.mozilla.javascript.ScriptableObject
org.mozilla.javascript.IdScriptableObject
org.mozilla.javascript.BaseFunction
org.mozilla.javascript.IdFunctionObject
- All Implemented Interfaces:
Serializable
,Callable
,ConstProperties
,Constructable
,DebuggableObject
,Function
,IdFunctionCall
,Scriptable
,SymbolScriptable
- Direct Known Subclasses:
IdFunctionObjectES6
,XMLCtor
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.mozilla.javascript.ScriptableObject
ScriptableObject.KeyComparator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
private String
private final IdFunctionCall
private final int
private static final long
private final Object
private boolean
Fields inherited from class org.mozilla.javascript.BaseFunction
GENERATOR_FUNCTION_CLASS
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
ConstructorsConstructorDescriptionIdFunctionObject
(IdFunctionCall idcall, Object tag, int id, int arity) IdFunctionObject
(IdFunctionCall idcall, Object tag, int id, String name, int arity, Scriptable scope) -
Method Summary
Modifier and TypeMethodDescriptionfinal void
addAsProperty
(Scriptable target) call
(Context cx, Scriptable scope, Scriptable thisObj, Object[] args) Should be overridden.createObject
(Context cx, Scriptable scope) Creates new script object.(package private) String
decompile
(int indent, int flags) Decompile the source information associated with this js function/script back into a string.(package private) static boolean
void
int
getArity()
int
Returns the prototype of the object.getTag()
final boolean
void
initFunction
(String name, Scriptable scope) final void
markAsConstructor
(Scriptable prototypeProperty) final int
methodId()
final RuntimeException
unknown()
Methods inherited from class org.mozilla.javascript.BaseFunction
construct, execIdCall, fillConstructorProperties, findInstanceIdInfo, findPrototypeId, getClassName, getClassPrototype, getInstanceIdName, getInstanceIdValue, getMaxInstanceId, getPrototypeProperty, getTypeOf, hasInstance, hasPrototypeProperty, init, initAsGeneratorFunction, initPrototypeId, isApply, isApplyOrCall, isGeneratorFunction, setImmunePrototypeProperty, setInstanceIdAttributes, setInstanceIdValue, setPrototypeProperty, setPrototypePropertyAttributes, setStandardPropertyAttributes, setupDefaultPrototype
Methods inherited from class org.mozilla.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.mozilla.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, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, equivalentValues, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, 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, 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.mozilla.javascript.Scriptable
delete, delete, get, get, getDefaultValue, getIds, getParentScope, has, has, put, put, setParentScope, setPrototype
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
idcall
-
tag
-
methodId
private final int methodId -
arity
private int arity -
useCallAsConstructor
private boolean useCallAsConstructor -
functionName
-
-
Constructor Details
-
IdFunctionObject
-
IdFunctionObject
public IdFunctionObject(IdFunctionCall idcall, Object tag, int id, String name, int arity, Scriptable scope)
-
-
Method Details
-
initFunction
-
hasTag
-
getTag
-
methodId
public final int methodId() -
markAsConstructor
-
addAsProperty
-
exportAsScopeProperty
public void exportAsScopeProperty() -
getPrototype
Description copied from class:ScriptableObject
Returns the prototype of the object.- Specified by:
getPrototype
in interfaceScriptable
- Overrides:
getPrototype
in classScriptableObject
- Returns:
- the prototype
-
call
Description copied from class:BaseFunction
Should be overridden.- Specified by:
call
in interfaceCallable
- Specified by:
call
in interfaceFunction
- Overrides:
call
in 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 JavaScriptthis
objectargs
- the array of arguments- Returns:
- the result of the call
-
createObject
Description copied from class:BaseFunction
Creates new script object. The default implementation ofBaseFunction.construct(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, java.lang.Object[])
uses the method to to get the value forthisObj
argument when invokingBaseFunction.call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])
. The methos is allowed to returnnull
to indicate thatBaseFunction.call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])
will create a new object itself. In this caseBaseFunction.construct(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, java.lang.Object[])
will set scope and prototype on the resultBaseFunction.call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])
unless they are already set.- Overrides:
createObject
in classBaseFunction
-
decompile
Description copied from class:BaseFunction
Decompile the source information associated with this js function/script back into a string.- Overrides:
decompile
in classBaseFunction
- Parameters:
indent
- How much to indent the decompiled result.flags
- Flags specifying format of decompilation output.
-
getArity
public int getArity()- Overrides:
getArity
in classBaseFunction
-
getLength
public int getLength()- Overrides:
getLength
in classBaseFunction
-
getFunctionName
- Overrides:
getFunctionName
in classBaseFunction
-
unknown
-
equalObjectGraphs
-