Package org.htmlunit.corejs.javascript
Class NativeScript
- java.lang.Object
-
- org.htmlunit.corejs.javascript.ScriptableObject
-
- org.htmlunit.corejs.javascript.IdScriptableObject
-
- org.htmlunit.corejs.javascript.BaseFunction
-
- org.htmlunit.corejs.javascript.NativeScript
-
- All Implemented Interfaces:
java.io.Serializable,Callable,ConstProperties,Constructable,DebuggableObject,Function,IdFunctionCall,Scriptable,SymbolScriptable
class NativeScript extends BaseFunction
The JavaScript Script object.Note that the C version of the engine uses XDR as the format used by freeze and thaw. Since this depends on the internal format of structures in the C runtime, we cannot duplicate it.
Since we cannot replace 'this' as a result of the compile method, will forward requests to execute to the nonnull 'script' field.
- Since:
- 1.3
-
-
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 static intId_compileprivate static intId_constructorprivate static intId_execprivate static intId_toStringprivate static intMAX_PROTOTYPE_IDprivate Scriptscriptprivate static java.lang.ObjectSCRIPT_TAGprivate static longserialVersionUID-
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 Modifier Constructor Description privateNativeScript(Script script)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.Objectcall(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)Should be overridden.private static Scriptcompile(Context cx, java.lang.String source)Scriptableconstruct(Context cx, Scriptable scope, java.lang.Object[] args)Call the function as a constructor.(package private) java.lang.Stringdecompile(int indent, int flags)Decompile the source information associated with this js function/script back into a string.java.lang.ObjectexecIdCall(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 intfindPrototypeId(java.lang.String s)intgetArity()java.lang.StringgetClassName()Returns the name of this JavaScript class, "Script".intgetLength()(package private) static voidinit(Context cx, Scriptable scope, boolean sealed)(package private) static voidinit(Scriptable scope, boolean sealed)Deprecated.Useinit(Context, Scriptable, boolean)insteadprotected voidinitPrototypeId(int id)private static NativeScriptrealThis(Scriptable thisObj, IdFunctionObject f)-
Methods inherited from class org.htmlunit.corejs.javascript.BaseFunction
createObject, fillConstructorProperties, findInstanceIdInfo, getClassPrototype, getFunctionName, getInstanceIdName, getInstanceIdValue, getMaxInstanceId, getPrototypeProperty, getTypeOf, hasInstance, hasPrototypeProperty, initAsGeneratorFunction, 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, getPrototype, 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, getPrototype, has, has, put, put, setParentScope, setPrototype
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
SCRIPT_TAG
private static final java.lang.Object SCRIPT_TAG
-
Id_constructor
private static final int Id_constructor
- See Also:
- Constant Field Values
-
Id_toString
private static final int Id_toString
- See Also:
- Constant Field Values
-
Id_compile
private static final int Id_compile
- See Also:
- Constant Field Values
-
Id_exec
private static final int Id_exec
- See Also:
- Constant Field Values
-
MAX_PROTOTYPE_ID
private static final int MAX_PROTOTYPE_ID
- See Also:
- Constant Field Values
-
script
private Script script
-
-
Constructor Detail
-
NativeScript
private NativeScript(Script script)
-
-
Method Detail
-
init
static void init(Context cx, Scriptable scope, boolean sealed)
-
init
@Deprecated static void init(Scriptable scope, boolean sealed)
Deprecated.Useinit(Context, Scriptable, boolean)instead
-
getClassName
public java.lang.String getClassName()
Returns the name of this JavaScript class, "Script".- Specified by:
getClassNamein interfaceScriptable- Overrides:
getClassNamein classBaseFunction
-
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
-
construct
public Scriptable construct(Context cx, Scriptable scope, java.lang.Object[] args)
Description copied from interface:FunctionCall the function as a constructor.This method is invoked by the runtime in order to satisfy a use of the JavaScript
newoperator. This method is expected to create a new object and return it.- Specified by:
constructin interfaceConstructable- Specified by:
constructin interfaceFunction- Overrides:
constructin classBaseFunction- Parameters:
cx- the current Context for this threadscope- an enclosing scope of the caller except when the function is called from a closure.args- the array of arguments- Returns:
- the allocated object
-
getLength
public int getLength()
- Overrides:
getLengthin classBaseFunction
-
getArity
public int getArity()
- Overrides:
getArityin classBaseFunction
-
decompile
java.lang.String decompile(int indent, int flags)Description copied from class:BaseFunctionDecompile the source information associated with this js function/script back into a string.- Overrides:
decompilein classBaseFunction- Parameters:
indent- How much to indent the decompiled result.flags- Flags specifying format of decompilation output.
-
initPrototypeId
protected void initPrototypeId(int id)
- Overrides:
initPrototypeIdin classBaseFunction
-
execIdCall
public java.lang.Object execIdCall(IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
Description copied from class:IdScriptableObject'thisObj' will be null if invoked as constructor, in which case * instance of Scriptable should be returned.- Specified by:
execIdCallin interfaceIdFunctionCall- Overrides:
execIdCallin classBaseFunction
-
realThis
private static NativeScript realThis(Scriptable thisObj, IdFunctionObject f)
-
findPrototypeId
protected int findPrototypeId(java.lang.String s)
- Overrides:
findPrototypeIdin classBaseFunction
-
-