Package org.mozilla.javascript
Class NativeArray
- java.lang.Object
-
- org.mozilla.javascript.ScriptableObject
-
- org.mozilla.javascript.IdScriptableObject
-
- org.mozilla.javascript.NativeArray
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable
,java.util.Collection
,java.util.List
,ConstProperties
,DebuggableObject
,IdFunctionCall
,Scriptable
,SymbolScriptable
public class NativeArray extends IdScriptableObject implements java.util.List
This class implements the Array native object.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
NativeArray.ElementComparator
static class
NativeArray.StringLikeComparator
-
Nested classes/interfaces inherited from class org.mozilla.javascript.ScriptableObject
ScriptableObject.GetterSlot, ScriptableObject.KeyComparator, ScriptableObject.Slot, ScriptableObject.SlotAccess
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.Object
ARRAY_TAG
private static int
ConstructorId_concat
private static int
ConstructorId_every
private static int
ConstructorId_filter
private static int
ConstructorId_find
private static int
ConstructorId_findIndex
private static int
ConstructorId_forEach
private static int
ConstructorId_from
private static int
ConstructorId_indexOf
private static int
ConstructorId_isArray
private static int
ConstructorId_join
private static int
ConstructorId_lastIndexOf
private static int
ConstructorId_map
private static int
ConstructorId_of
private static int
ConstructorId_pop
private static int
ConstructorId_push
private static int
ConstructorId_reduce
private static int
ConstructorId_reduceRight
private static int
ConstructorId_reverse
private static int
ConstructorId_shift
private static int
ConstructorId_slice
private static int
ConstructorId_some
private static int
ConstructorId_sort
private static int
ConstructorId_splice
private static int
ConstructorId_unshift
private static java.util.Comparator<java.lang.Object>
DEFAULT_COMPARATOR
private static int
DEFAULT_INITIAL_CAPACITY
The default capacity fordense
.private java.lang.Object[]
dense
Fast storage for dense arrays.private boolean
denseOnly
True if all numeric properties are stored indense
.private static double
GROW_FACTOR
The factor to growdense
by.private static int
Id_concat
private static int
Id_constructor
private static int
Id_copyWithin
private static int
Id_entries
private static int
Id_every
private static int
Id_fill
private static int
Id_filter
private static int
Id_find
private static int
Id_findIndex
private static int
Id_forEach
private static int
Id_includes
private static int
Id_indexOf
private static int
Id_join
private static int
Id_keys
private static int
Id_lastIndexOf
private static int
Id_length
private static int
Id_map
private static int
Id_pop
private static int
Id_push
private static int
Id_reduce
private static int
Id_reduceRight
private static int
Id_reverse
private static int
Id_shift
private static int
Id_slice
private static int
Id_some
private static int
Id_sort
private static int
Id_splice
private static int
Id_toLocaleString
private static int
Id_toSource
private static int
Id_toString
private static int
Id_unshift
private static int
Id_values
private long
length
Internal representation of the JavaScript array's length property.private int
lengthAttr
Attributes of the array's length propertyprivate static int
MAX_INSTANCE_ID
private static int
MAX_PRE_GROW_SIZE
private static int
MAX_PROTOTYPE_ID
private static int
maximumInitialCapacity
The maximum size ofdense
that will be allocated initially.private static java.lang.Long
NEGATIVE_ONE
private static long
serialVersionUID
private static java.util.Comparator<java.lang.Object>
STRING_COMPARATOR
private static int
SymbolId_iterator
-
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
Constructors Constructor Description NativeArray(long lengthArg)
NativeArray(java.lang.Object[] array)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
add(int index, java.lang.Object element)
boolean
add(java.lang.Object o)
boolean
addAll(int index, java.util.Collection c)
boolean
addAll(java.util.Collection c)
private static Scriptable
callConstructorOrCreateArray(Context cx, Scriptable scope, Scriptable arg, long length, boolean lengthAlways)
void
clear()
private static long
concatSpreadArg(Context cx, Scriptable result, Scriptable arg, long offset)
boolean
contains(java.lang.Object o)
boolean
containsAll(java.util.Collection c)
private ScriptableObject
defaultIndexPropertyDescriptor(java.lang.Object value)
private static void
defineElem(Context cx, Scriptable target, long index, java.lang.Object value)
protected void
defineOwnProperty(Context cx, java.lang.Object id, ScriptableObject desc, boolean checkValid)
Defines a property on an object.void
delete(int index)
Removes the indexed property from the object.private static void
deleteElem(Scriptable target, long index)
private static long
doConcat(Context cx, Scriptable scope, Scriptable result, java.lang.Object arg, long offset)
private boolean
ensureCapacity(int capacity)
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)
protected int
findPrototypeId(Symbol k)
java.lang.Object
get(int index)
java.lang.Object
get(int index, Scriptable start)
Returns the value of the indexed property or NOT_FOUND.java.lang.Object
get(long index)
int
getAttributes(int index)
Get the attributes of an indexed property.java.lang.String
getClassName()
Return the name of the class.java.lang.Object
getDefaultValue(java.lang.Class<?> hint)
Implements the [[DefaultValue]] internal method.private static java.lang.Object
getElem(Context cx, Scriptable target, long index)
java.lang.Object[]
getIds(boolean nonEnumerable, boolean getSymbols)
java.util.List<java.lang.Integer>
getIndexIds()
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.long
getLength()
(package private) static long
getLengthProperty(Context cx, Scriptable obj, boolean throwIfTooLarge)
(package private) static int
getMaximumInitialCapacity()
protected int
getMaxInstanceId()
Get maximum id findInstanceIdInfo can generate.protected ScriptableObject
getOwnPropertyDescriptor(Context cx, java.lang.Object id)
private static java.lang.Object
getRawElem(Scriptable target, long index)
boolean
has(int index, Scriptable start)
Returns true if the property index is defined.int
indexOf(java.lang.Object o)
(package private) static void
init(Scriptable scope, boolean sealed)
protected void
initPrototypeId(int id)
private static boolean
isConcatSpreadable(Context cx, Scriptable scope, java.lang.Object val)
boolean
isEmpty()
private static java.lang.Object
iterativeMethod(Context cx, IdFunctionObject idFunctionObject, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
Implements the methods "every", "filter", "forEach", "map", and "some".java.util.Iterator
iterator()
private static Scriptable
js_concat(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static java.lang.Object
js_copyWithin(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static java.lang.Object
js_fill(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static java.lang.Object
js_from(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static java.lang.Boolean
js_includes(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static java.lang.Object
js_indexOf(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static boolean
js_isArray(java.lang.Object o)
private static java.lang.String
js_join(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
See ECMA 15.4.4.3private static java.lang.Object
js_lastIndexOf(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static java.lang.Object
js_of(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static java.lang.Object
js_pop(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static java.lang.Object
js_push(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static Scriptable
js_reverse(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
See ECMA 15.4.4.4private static java.lang.Object
js_shift(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static Scriptable
js_slice(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static Scriptable
js_sort(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
See ECMA 15.4.4.5private static java.lang.Object
js_splice(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static java.lang.Object
js_unshift(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
private static java.lang.Object
jsConstructor(Context cx, Scriptable scope, java.lang.Object[] args)
See ECMA 15.4.1,2long
jsGet_length()
Deprecated.UsegetLength()
instead.int
lastIndexOf(java.lang.Object o)
java.util.ListIterator
listIterator()
java.util.ListIterator
listIterator(int start)
void
put(int index, Scriptable start, java.lang.Object value)
Sets the value of the indexed property, creating it if need be.void
put(java.lang.String id, Scriptable start, java.lang.Object value)
Sets the value of the named property, creating it if need be.private static java.lang.Object
reduceMethod(Context cx, int id, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
Implements the methods "reduce" and "reduceRight".java.lang.Object
remove(int index)
boolean
remove(java.lang.Object o)
boolean
removeAll(java.util.Collection c)
boolean
retainAll(java.util.Collection c)
java.lang.Object
set(int index, java.lang.Object element)
(package private) void
setDenseOnly(boolean denseOnly)
Change the value of the internal flag that determines whether all storage is handed by a dense backing array rather than an associative store.private static void
setElem(Context cx, Scriptable target, long index, java.lang.Object value)
protected void
setInstanceIdAttributes(int id, int attr)
Update the attributes of the given instance property.protected void
setInstanceIdValue(int id, java.lang.Object value)
Set or delete id value.private void
setLength(java.lang.Object val)
private static java.lang.Object
setLengthProperty(Context cx, Scriptable target, long length)
(package private) static void
setMaximumInitialCapacity(int maximumInitialCapacity)
private static void
setRawElem(Context cx, Scriptable target, long index, java.lang.Object value)
int
size()
java.util.List
subList(int fromIndex, int toIndex)
java.lang.Object[]
toArray()
java.lang.Object[]
toArray(java.lang.Object[] a)
private static long
toArrayIndex(double d)
private static long
toArrayIndex(java.lang.Object id)
private static long
toArrayIndex(java.lang.String id)
private static int
toDenseIndex(java.lang.Object id)
private static long
toSliceIndex(double value, long length)
private static java.lang.String
toStringHelper(Context cx, Scriptable scope, Scriptable thisObj, boolean toSource, boolean toLocale)
-
Methods inherited from class org.mozilla.javascript.IdScriptableObject
activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultHas, defaultPut, defineOwnProperty, delete, delete, exportAsJSClass, findInstanceIdInfo, get, get, getAttributes, getAttributes, has, has, hasPrototypeMap, incompatibleCallError, initPrototypeConstructor, initPrototypeMethod, initPrototypeMethod, initPrototypeMethod, initPrototypeValue, initPrototypeValue, instanceIdInfo, 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, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, equivalentValues, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getSlot, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, hasInstance, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, putConst, putConstProperty, putProperty, putProperty, putProperty, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setExternalArrayData, setGetterOrSetter, setParentScope, setPrototype
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
ARRAY_TAG
private static final java.lang.Object ARRAY_TAG
-
NEGATIVE_ONE
private static final java.lang.Long NEGATIVE_ONE
-
Id_length
private static final int Id_length
- See Also:
- Constant Field Values
-
MAX_INSTANCE_ID
private static final int MAX_INSTANCE_ID
- See Also:
- Constant Field Values
-
STRING_COMPARATOR
private static final java.util.Comparator<java.lang.Object> STRING_COMPARATOR
-
DEFAULT_COMPARATOR
private static final java.util.Comparator<java.lang.Object> DEFAULT_COMPARATOR
-
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_toLocaleString
private static final int Id_toLocaleString
- See Also:
- Constant Field Values
-
Id_toSource
private static final int Id_toSource
- See Also:
- Constant Field Values
-
Id_join
private static final int Id_join
- See Also:
- Constant Field Values
-
Id_reverse
private static final int Id_reverse
- See Also:
- Constant Field Values
-
Id_sort
private static final int Id_sort
- See Also:
- Constant Field Values
-
Id_push
private static final int Id_push
- See Also:
- Constant Field Values
-
Id_pop
private static final int Id_pop
- See Also:
- Constant Field Values
-
Id_shift
private static final int Id_shift
- See Also:
- Constant Field Values
-
Id_unshift
private static final int Id_unshift
- See Also:
- Constant Field Values
-
Id_splice
private static final int Id_splice
- See Also:
- Constant Field Values
-
Id_concat
private static final int Id_concat
- See Also:
- Constant Field Values
-
Id_slice
private static final int Id_slice
- See Also:
- Constant Field Values
-
Id_indexOf
private static final int Id_indexOf
- See Also:
- Constant Field Values
-
Id_lastIndexOf
private static final int Id_lastIndexOf
- See Also:
- Constant Field Values
-
Id_every
private static final int Id_every
- See Also:
- Constant Field Values
-
Id_filter
private static final int Id_filter
- See Also:
- Constant Field Values
-
Id_forEach
private static final int Id_forEach
- See Also:
- Constant Field Values
-
Id_map
private static final int Id_map
- See Also:
- Constant Field Values
-
Id_some
private static final int Id_some
- See Also:
- Constant Field Values
-
Id_find
private static final int Id_find
- See Also:
- Constant Field Values
-
Id_findIndex
private static final int Id_findIndex
- See Also:
- Constant Field Values
-
Id_reduce
private static final int Id_reduce
- See Also:
- Constant Field Values
-
Id_reduceRight
private static final int Id_reduceRight
- See Also:
- Constant Field Values
-
Id_fill
private static final int Id_fill
- See Also:
- Constant Field Values
-
Id_keys
private static final int Id_keys
- See Also:
- Constant Field Values
-
Id_values
private static final int Id_values
- See Also:
- Constant Field Values
-
Id_entries
private static final int Id_entries
- See Also:
- Constant Field Values
-
Id_includes
private static final int Id_includes
- See Also:
- Constant Field Values
-
Id_copyWithin
private static final int Id_copyWithin
- See Also:
- Constant Field Values
-
SymbolId_iterator
private static final int SymbolId_iterator
- See Also:
- Constant Field Values
-
MAX_PROTOTYPE_ID
private static final int MAX_PROTOTYPE_ID
- See Also:
- Constant Field Values
-
ConstructorId_join
private static final int ConstructorId_join
- See Also:
- Constant Field Values
-
ConstructorId_reverse
private static final int ConstructorId_reverse
- See Also:
- Constant Field Values
-
ConstructorId_sort
private static final int ConstructorId_sort
- See Also:
- Constant Field Values
-
ConstructorId_push
private static final int ConstructorId_push
- See Also:
- Constant Field Values
-
ConstructorId_pop
private static final int ConstructorId_pop
- See Also:
- Constant Field Values
-
ConstructorId_shift
private static final int ConstructorId_shift
- See Also:
- Constant Field Values
-
ConstructorId_unshift
private static final int ConstructorId_unshift
- See Also:
- Constant Field Values
-
ConstructorId_splice
private static final int ConstructorId_splice
- See Also:
- Constant Field Values
-
ConstructorId_concat
private static final int ConstructorId_concat
- See Also:
- Constant Field Values
-
ConstructorId_slice
private static final int ConstructorId_slice
- See Also:
- Constant Field Values
-
ConstructorId_indexOf
private static final int ConstructorId_indexOf
- See Also:
- Constant Field Values
-
ConstructorId_lastIndexOf
private static final int ConstructorId_lastIndexOf
- See Also:
- Constant Field Values
-
ConstructorId_every
private static final int ConstructorId_every
- See Also:
- Constant Field Values
-
ConstructorId_filter
private static final int ConstructorId_filter
- See Also:
- Constant Field Values
-
ConstructorId_forEach
private static final int ConstructorId_forEach
- See Also:
- Constant Field Values
-
ConstructorId_map
private static final int ConstructorId_map
- See Also:
- Constant Field Values
-
ConstructorId_some
private static final int ConstructorId_some
- See Also:
- Constant Field Values
-
ConstructorId_find
private static final int ConstructorId_find
- See Also:
- Constant Field Values
-
ConstructorId_findIndex
private static final int ConstructorId_findIndex
- See Also:
- Constant Field Values
-
ConstructorId_reduce
private static final int ConstructorId_reduce
- See Also:
- Constant Field Values
-
ConstructorId_reduceRight
private static final int ConstructorId_reduceRight
- See Also:
- Constant Field Values
-
ConstructorId_isArray
private static final int ConstructorId_isArray
- See Also:
- Constant Field Values
-
ConstructorId_of
private static final int ConstructorId_of
- See Also:
- Constant Field Values
-
ConstructorId_from
private static final int ConstructorId_from
- See Also:
- Constant Field Values
-
length
private long length
Internal representation of the JavaScript array's length property.
-
lengthAttr
private int lengthAttr
Attributes of the array's length property
-
dense
private java.lang.Object[] dense
Fast storage for dense arrays. Sparse arrays will use the superclass's hashtable storage scheme.
-
denseOnly
private boolean denseOnly
True if all numeric properties are stored indense
.
-
maximumInitialCapacity
private static int maximumInitialCapacity
The maximum size ofdense
that will be allocated initially.
-
DEFAULT_INITIAL_CAPACITY
private static final int DEFAULT_INITIAL_CAPACITY
The default capacity fordense
.- See Also:
- Constant Field Values
-
GROW_FACTOR
private static final double GROW_FACTOR
The factor to growdense
by.- See Also:
- Constant Field Values
-
MAX_PRE_GROW_SIZE
private static final int MAX_PRE_GROW_SIZE
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
static void init(Scriptable scope, boolean sealed)
-
getMaximumInitialCapacity
static int getMaximumInitialCapacity()
-
setMaximumInitialCapacity
static void setMaximumInitialCapacity(int maximumInitialCapacity)
-
getClassName
public java.lang.String getClassName()
Description copied from class:ScriptableObject
Return the name of the class. This is typically the same name as the constructor. Classes extending ScriptableObject must implement this abstract method.- Specified by:
getClassName
in interfaceScriptable
- Specified by:
getClassName
in classScriptableObject
-
getMaxInstanceId
protected int getMaxInstanceId()
Description copied from class:IdScriptableObject
Get maximum id findInstanceIdInfo can generate.- Overrides:
getMaxInstanceId
in classIdScriptableObject
-
setInstanceIdAttributes
protected void setInstanceIdAttributes(int id, int attr)
Description copied from class:IdScriptableObject
Update the attributes of the given instance property. Classes which want to support changing property attributes via Object.defineProperty must override this method. The default implementation throws InternalError.- Overrides:
setInstanceIdAttributes
in classIdScriptableObject
- Parameters:
id
- the instance property idattr
- the new attribute bitset
-
findInstanceIdInfo
protected int findInstanceIdInfo(java.lang.String s)
Description copied from class:IdScriptableObject
Map name to id of instance property. Should return 0 if not found or the result ofIdScriptableObject.instanceIdInfo(int, int)
.- Overrides:
findInstanceIdInfo
in classIdScriptableObject
-
getInstanceIdName
protected java.lang.String getInstanceIdName(int id)
Description copied from class:IdScriptableObject
Map id back to property name it defines.- Overrides:
getInstanceIdName
in classIdScriptableObject
-
getInstanceIdValue
protected java.lang.Object getInstanceIdValue(int id)
Description copied from class:IdScriptableObject
Get id value. If id value is constant, descendant can call cacheIdValue to store value in the permanent cache. Default implementation creates IdFunctionObject instance for given id and cache its value- Overrides:
getInstanceIdValue
in classIdScriptableObject
-
setInstanceIdValue
protected void setInstanceIdValue(int id, java.lang.Object value)
Description copied from class:IdScriptableObject
Set or delete id value. If value == NOT_FOUND , the implementation should make sure that the following getInstanceIdValue return NOT_FOUND.- Overrides:
setInstanceIdValue
in classIdScriptableObject
-
fillConstructorProperties
protected void fillConstructorProperties(IdFunctionObject ctor)
- Overrides:
fillConstructorProperties
in classIdScriptableObject
-
initPrototypeId
protected void initPrototypeId(int id)
- Overrides:
initPrototypeId
in classIdScriptableObject
-
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:
execIdCall
in interfaceIdFunctionCall
- Overrides:
execIdCall
in classIdScriptableObject
-
get
public java.lang.Object get(int index, Scriptable start)
Description copied from class:ScriptableObject
Returns the value of the indexed property or NOT_FOUND.- Specified by:
get
in interfaceScriptable
- Overrides:
get
in classScriptableObject
- Parameters:
index
- the numeric index for the propertystart
- the object in which the lookup began- Returns:
- the value of the property (may be null), or NOT_FOUND
- See Also:
Scriptable.get(String,Scriptable)
-
has
public boolean has(int index, Scriptable start)
Description copied from class:ScriptableObject
Returns true if the property index is defined.- Specified by:
has
in interfaceScriptable
- Overrides:
has
in classScriptableObject
- Parameters:
index
- the numeric index for the propertystart
- the object in which the lookup began- Returns:
- true if and only if the property was found in the object
- See Also:
Scriptable.get(int, Scriptable)
,ScriptableObject.getProperty(Scriptable, int)
-
toArrayIndex
private static long toArrayIndex(java.lang.Object id)
-
toArrayIndex
private static long toArrayIndex(java.lang.String id)
-
toArrayIndex
private static long toArrayIndex(double d)
-
toDenseIndex
private static int toDenseIndex(java.lang.Object id)
-
put
public void put(java.lang.String id, Scriptable start, java.lang.Object value)
Description copied from class:ScriptableObject
Sets the value of the named property, creating it if need be. If the property was created using defineProperty, the appropriate setter method is called.If the property's attributes include READONLY, no action is taken. This method will actually set the property in the start object.
- Specified by:
put
in interfaceScriptable
- Overrides:
put
in classIdScriptableObject
- Parameters:
id
- the name of the propertystart
- the object whose property is being setvalue
- value to set the property to- See Also:
Scriptable.has(String, Scriptable)
,Scriptable.get(String, Scriptable)
,ScriptableObject.putProperty(Scriptable, String, Object)
,Context.toObject(Object, Scriptable)
-
ensureCapacity
private boolean ensureCapacity(int capacity)
-
put
public void put(int index, Scriptable start, java.lang.Object value)
Description copied from class:ScriptableObject
Sets the value of the indexed property, creating it if need be.- Specified by:
put
in interfaceScriptable
- Overrides:
put
in classScriptableObject
- Parameters:
index
- the numeric index for the propertystart
- the object whose property is being setvalue
- value to set the property to- See Also:
Scriptable.has(int, Scriptable)
,Scriptable.get(int, Scriptable)
,ScriptableObject.putProperty(Scriptable, int, Object)
,Context.toObject(Object, Scriptable)
-
delete
public void delete(int index)
Description copied from class:ScriptableObject
Removes the indexed property from the object. If the property is not found, or it has the PERMANENT attribute, no action is taken.- Specified by:
delete
in interfaceScriptable
- Overrides:
delete
in classScriptableObject
- Parameters:
index
- the numeric index for the property- See Also:
Scriptable.get(int, Scriptable)
,ScriptableObject.deleteProperty(Scriptable, int)
-
getIds
public java.lang.Object[] getIds(boolean nonEnumerable, boolean getSymbols)
- Overrides:
getIds
in classIdScriptableObject
-
getIndexIds
public java.util.List<java.lang.Integer> getIndexIds()
-
getDefaultValue
public java.lang.Object getDefaultValue(java.lang.Class<?> hint)
Description copied from class:ScriptableObject
Implements the [[DefaultValue]] internal method.Note that the toPrimitive conversion is a no-op for every type other than Object, for which [[DefaultValue]] is called. See ECMA 9.1.
A
hint
of null means "no hint".- Specified by:
getDefaultValue
in interfaceScriptable
- Overrides:
getDefaultValue
in classScriptableObject
- Parameters:
hint
- the type hint- Returns:
- the default value for the object See ECMA 8.6.2.6.
-
defaultIndexPropertyDescriptor
private ScriptableObject defaultIndexPropertyDescriptor(java.lang.Object value)
-
getAttributes
public int getAttributes(int index)
Description copied from class:ScriptableObject
Get the attributes of an indexed property.- Overrides:
getAttributes
in classScriptableObject
- Parameters:
index
- the numeric index for the property- Returns:
- the bitset of attributes
- See Also:
ScriptableObject.has(String, Scriptable)
,ScriptableObject.READONLY
,ScriptableObject.DONTENUM
,ScriptableObject.PERMANENT
,ScriptableObject.EMPTY
-
getOwnPropertyDescriptor
protected ScriptableObject getOwnPropertyDescriptor(Context cx, java.lang.Object id)
- Overrides:
getOwnPropertyDescriptor
in classIdScriptableObject
-
defineOwnProperty
protected void defineOwnProperty(Context cx, java.lang.Object id, ScriptableObject desc, boolean checkValid)
Description copied from class:ScriptableObject
Defines a property on an object. Based on [[DefineOwnProperty]] from 8.12.10 of the spec.- Overrides:
defineOwnProperty
in classScriptableObject
- Parameters:
cx
- the current Contextid
- the name/index of the propertydesc
- the new property descriptor, as described in 8.6.1checkValid
- whether to perform validity checks
-
jsConstructor
private static java.lang.Object jsConstructor(Context cx, Scriptable scope, java.lang.Object[] args)
See ECMA 15.4.1,2
-
callConstructorOrCreateArray
private static Scriptable callConstructorOrCreateArray(Context cx, Scriptable scope, Scriptable arg, long length, boolean lengthAlways)
-
js_from
private static java.lang.Object js_from(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
js_of
private static java.lang.Object js_of(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
getLength
public long getLength()
-
jsGet_length
@Deprecated public long jsGet_length()
Deprecated.UsegetLength()
instead.
-
setDenseOnly
void setDenseOnly(boolean denseOnly)
Change the value of the internal flag that determines whether all storage is handed by a dense backing array rather than an associative store.- Parameters:
denseOnly
- new value for denseOnly flag- Throws:
java.lang.IllegalArgumentException
- if an attempt is made to enable denseOnly after it was disabled; NativeArray code is not written to handle switching back to a dense representation
-
setLength
private void setLength(java.lang.Object val)
-
getLengthProperty
static long getLengthProperty(Context cx, Scriptable obj, boolean throwIfTooLarge)
-
setLengthProperty
private static java.lang.Object setLengthProperty(Context cx, Scriptable target, long length)
-
deleteElem
private static void deleteElem(Scriptable target, long index)
-
getElem
private static java.lang.Object getElem(Context cx, Scriptable target, long index)
-
getRawElem
private static java.lang.Object getRawElem(Scriptable target, long index)
-
defineElem
private static void defineElem(Context cx, Scriptable target, long index, java.lang.Object value)
-
setElem
private static void setElem(Context cx, Scriptable target, long index, java.lang.Object value)
-
setRawElem
private static void setRawElem(Context cx, Scriptable target, long index, java.lang.Object value)
-
toStringHelper
private static java.lang.String toStringHelper(Context cx, Scriptable scope, Scriptable thisObj, boolean toSource, boolean toLocale)
-
js_join
private static java.lang.String js_join(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
See ECMA 15.4.4.3
-
js_reverse
private static Scriptable js_reverse(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
See ECMA 15.4.4.4
-
js_sort
private static Scriptable js_sort(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
See ECMA 15.4.4.5
-
js_push
private static java.lang.Object js_push(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
js_pop
private static java.lang.Object js_pop(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
js_shift
private static java.lang.Object js_shift(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
js_unshift
private static java.lang.Object js_unshift(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
js_splice
private static java.lang.Object js_splice(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
isConcatSpreadable
private static boolean isConcatSpreadable(Context cx, Scriptable scope, java.lang.Object val)
-
concatSpreadArg
private static long concatSpreadArg(Context cx, Scriptable result, Scriptable arg, long offset)
-
doConcat
private static long doConcat(Context cx, Scriptable scope, Scriptable result, java.lang.Object arg, long offset)
-
js_concat
private static Scriptable js_concat(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
js_slice
private static Scriptable js_slice(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
toSliceIndex
private static long toSliceIndex(double value, long length)
-
js_indexOf
private static java.lang.Object js_indexOf(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
js_lastIndexOf
private static java.lang.Object js_lastIndexOf(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
js_includes
private static java.lang.Boolean js_includes(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
js_fill
private static java.lang.Object js_fill(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
js_copyWithin
private static java.lang.Object js_copyWithin(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
-
iterativeMethod
private static java.lang.Object iterativeMethod(Context cx, IdFunctionObject idFunctionObject, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
Implements the methods "every", "filter", "forEach", "map", and "some".
-
reduceMethod
private static java.lang.Object reduceMethod(Context cx, int id, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
Implements the methods "reduce" and "reduceRight".
-
js_isArray
private static boolean js_isArray(java.lang.Object o)
-
contains
public boolean contains(java.lang.Object o)
- Specified by:
contains
in interfacejava.util.Collection
- Specified by:
contains
in interfacejava.util.List
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArray
in interfacejava.util.Collection
- Specified by:
toArray
in interfacejava.util.List
-
toArray
public java.lang.Object[] toArray(java.lang.Object[] a)
- Specified by:
toArray
in interfacejava.util.Collection
- Specified by:
toArray
in interfacejava.util.List
-
containsAll
public boolean containsAll(java.util.Collection c)
- Specified by:
containsAll
in interfacejava.util.Collection
- Specified by:
containsAll
in interfacejava.util.List
-
size
public int size()
- Specified by:
size
in interfacejava.util.Collection
- Specified by:
size
in interfacejava.util.List
- Overrides:
size
in classScriptableObject
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfacejava.util.Collection
- Specified by:
isEmpty
in interfacejava.util.List
- Overrides:
isEmpty
in classScriptableObject
-
get
public java.lang.Object get(long index)
-
get
public java.lang.Object get(int index)
- Specified by:
get
in interfacejava.util.List
-
indexOf
public int indexOf(java.lang.Object o)
- Specified by:
indexOf
in interfacejava.util.List
-
lastIndexOf
public int lastIndexOf(java.lang.Object o)
- Specified by:
lastIndexOf
in interfacejava.util.List
-
iterator
public java.util.Iterator iterator()
- Specified by:
iterator
in interfacejava.util.Collection
- Specified by:
iterator
in interfacejava.lang.Iterable
- Specified by:
iterator
in interfacejava.util.List
-
listIterator
public java.util.ListIterator listIterator()
- Specified by:
listIterator
in interfacejava.util.List
-
listIterator
public java.util.ListIterator listIterator(int start)
- Specified by:
listIterator
in interfacejava.util.List
-
add
public boolean add(java.lang.Object o)
- Specified by:
add
in interfacejava.util.Collection
- Specified by:
add
in interfacejava.util.List
-
remove
public boolean remove(java.lang.Object o)
- Specified by:
remove
in interfacejava.util.Collection
- Specified by:
remove
in interfacejava.util.List
-
addAll
public boolean addAll(java.util.Collection c)
- Specified by:
addAll
in interfacejava.util.Collection
- Specified by:
addAll
in interfacejava.util.List
-
removeAll
public boolean removeAll(java.util.Collection c)
- Specified by:
removeAll
in interfacejava.util.Collection
- Specified by:
removeAll
in interfacejava.util.List
-
retainAll
public boolean retainAll(java.util.Collection c)
- Specified by:
retainAll
in interfacejava.util.Collection
- Specified by:
retainAll
in interfacejava.util.List
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Collection
- Specified by:
clear
in interfacejava.util.List
-
add
public void add(int index, java.lang.Object element)
- Specified by:
add
in interfacejava.util.List
-
addAll
public boolean addAll(int index, java.util.Collection c)
- Specified by:
addAll
in interfacejava.util.List
-
set
public java.lang.Object set(int index, java.lang.Object element)
- Specified by:
set
in interfacejava.util.List
-
remove
public java.lang.Object remove(int index)
- Specified by:
remove
in interfacejava.util.List
-
subList
public java.util.List subList(int fromIndex, int toIndex)
- Specified by:
subList
in interfacejava.util.List
-
findPrototypeId
protected int findPrototypeId(Symbol k)
- Overrides:
findPrototypeId
in classIdScriptableObject
-
findPrototypeId
protected int findPrototypeId(java.lang.String s)
- Overrides:
findPrototypeId
in classIdScriptableObject
-
-