public final class HolesJSObjectArray extends AbstractContiguousJSObjectArray
AbstractWritableArray.SetSupportedProfileAccessDynamicArray.DynamicArrayCacheScriptArray.CreateWritableProfileAccess, ScriptArray.DefaultIterator, ScriptArray.SetLengthProfileAccesscache, INTEGRITY_LEVEL_FROZEN, INTEGRITY_LEVEL_FROZEN_LENGTH_READONLY, INTEGRITY_LEVEL_MASK, INTEGRITY_LEVEL_NONE, INTEGRITY_LEVEL_NONE_LENGTH_READONLY, INTEGRITY_LEVEL_NOT_EXTENSIBLE, INTEGRITY_LEVEL_NOT_EXTENSIBLE_LENGTH_READONLY, INTEGRITY_LEVEL_SEALED, INTEGRITY_LEVEL_SEALED_LENGTH_READONLY, INTEGRITY_LEVELS, integrityLevel, LENGTH_NOT_WRITABLE, LENGTH_WRITABLE_MASKEMPTY_OBJECT_ARRAY| Modifier and Type | Method and Description |
|---|---|
protected JSDynamicObject |
castNonNull(JSDynamicObject value) |
boolean |
containsHoles(JSDynamicObject object,
long index) |
ScriptArray |
deleteElementImpl(JSDynamicObject object,
long index,
boolean strict) |
Object |
getInBoundsFast(JSDynamicObject object,
int index) |
boolean |
hasElement(JSDynamicObject object,
long index) |
boolean |
isHoleFast(JSDynamicObject object,
int index) |
boolean |
isHolesType()
Returns true when the this array could have hole values in it.
|
static boolean |
isHoleValue(JSDynamicObject value) |
boolean |
isSupported(JSDynamicObject object,
long index) |
static HolesJSObjectArray |
makeHolesJSObjectArray(JSDynamicObject object,
int length,
JSDynamicObject[] array,
long indexOffset,
int arrayOffset,
int usedLength,
int holeCount,
int integrityLevel) |
long |
nextElementIndex(JSDynamicObject object,
long index0)
Returns the next index.
|
List<Object> |
ownPropertyKeys(JSDynamicObject object) |
int |
prepareInBounds(JSDynamicObject object,
int index,
com.oracle.truffle.api.nodes.Node node,
AbstractWritableArray.SetSupportedProfileAccess profile) |
int |
prepareSupported(JSDynamicObject object,
int index,
com.oracle.truffle.api.nodes.Node node,
AbstractWritableArray.SetSupportedProfileAccess profile) |
long |
previousElementIndex(JSDynamicObject object,
long index0)
Returns the previous index.
|
ScriptArray |
removeRangeImpl(JSDynamicObject object,
long start,
long end)
This function deletes all elements in the range from [start..end[.
|
void |
setInBoundsFast(JSDynamicObject object,
int index,
JSDynamicObject value) |
void |
setInBoundsFastHole(JSDynamicObject object,
int index,
JSDynamicObject value) |
void |
setInBoundsFastNonHole(JSDynamicObject object,
int index,
JSDynamicObject value) |
HolesJSObjectArray |
toHoles(JSDynamicObject object,
long index,
Object value) |
AbstractJSObjectArray |
toNonHoles(JSDynamicObject object,
long index,
Object value) |
AbstractWritableArray |
toObject(JSDynamicObject object,
long index,
Object value) |
protected HolesJSObjectArray |
withIntegrityLevel(int newIntegrityLevel) |
addRangeImpl, firstElementIndex, getArrayOffset, getInBoundsFastJSObject, getIndexOffset, hasHoles, lastElementIndex, prepareInBoundsFast, setArrayOffset, setIndexOffset, setLengthLessallocateArray, checkNonNull, cloneArray, fillHoles, getArray, getArrayCapacity, isHolePrepared, moveRangePrepared, resizeArray, setElementImpl, setHoleValue, setInBounds, setSupported, toDoubleassertHoleCount, checkFillHoles, clearUnusedArea, countHoles, deleteElementHoles, getElement, getElementInBounds, getInBoundsFastDouble, getInBoundsFastInt, getUsedLength, incrementHolesCount, isInBounds, isInBoundsFast, isSparse, isSupportedContiguous, isSupportedHoles, isSupportedZeroBased, length, lengthInt, nextElementIndexHoles, nextElementIndexZeroBased, prepareInBoundsContiguous, prepareInBoundsHoles, prepareInBoundsZeroBased, prepareSupportedContiguous, prepareSupportedHoles, prepareSupportedZeroBased, previousElementIndexHoles, removeRangeContiguous, removeRangeHoles, setArrayProperties, setArrayProperties, setLengthImpl, setLengthLessContiguous, setLengthLessZeroBased, shiftRangeImpl, toContiguous, toNonContiguous, toSparse, traceWriteValue, unusedElementsAreHolescreateCache, freeze, isExtensible, isFrozen, isLengthNotWritable, isSealed, maybePreinitializeCache, preventExtensions, seal, setIntegrityLevel, setLengthNotWritable, toStringaddRange, asIterable, canDeleteElement, cast, createConstantArray, createConstantEmptyArray, deleteElement, isInstance, makeMultiRangeList, makeRangeList, nextPower, ownPropertyKeysContiguous, ownPropertyKeysHoles, removeRange, removeRange, setElement, setLength, setLength, shiftRange, toArray, toString, traceArrayTransition, traceWrite, valueIsBytepublic static HolesJSObjectArray makeHolesJSObjectArray(JSDynamicObject object, int length, JSDynamicObject[] array, long indexOffset, int arrayOffset, int usedLength, int holeCount, int integrityLevel)
public void setInBoundsFast(JSDynamicObject object, int index, JSDynamicObject value)
setInBoundsFast in class AbstractContiguousJSObjectArraypublic boolean isHoleFast(JSDynamicObject object, int index)
public void setInBoundsFastHole(JSDynamicObject object, int index, JSDynamicObject value)
public void setInBoundsFastNonHole(JSDynamicObject object, int index, JSDynamicObject value)
public boolean containsHoles(JSDynamicObject object, long index)
containsHoles in class AbstractWritableArraypublic AbstractJSObjectArray toNonHoles(JSDynamicObject object, long index, Object value)
toNonHoles in class AbstractWritableArraypublic AbstractWritableArray toObject(JSDynamicObject object, long index, Object value)
toObject in class AbstractJSObjectArraypublic int prepareInBounds(JSDynamicObject object, int index, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile)
prepareInBounds in class AbstractWritableArraypublic boolean isSupported(JSDynamicObject object, long index)
isSupported in class AbstractWritableArraypublic int prepareSupported(JSDynamicObject object, int index, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile)
prepareSupported in class AbstractWritableArraypublic Object getInBoundsFast(JSDynamicObject object, int index)
getInBoundsFast in class AbstractJSObjectArraypublic HolesJSObjectArray toHoles(JSDynamicObject object, long index, Object value)
toHoles in class AbstractJSObjectArraypublic static boolean isHoleValue(JSDynamicObject value)
public long nextElementIndex(JSDynamicObject object, long index0)
ScriptArraynextElementIndex in class AbstractWritableArraypublic long previousElementIndex(JSDynamicObject object, long index0)
ScriptArraypreviousElementIndex in class AbstractWritableArraypublic boolean hasElement(JSDynamicObject object, long index)
hasElement in class AbstractWritableArraypublic ScriptArray deleteElementImpl(JSDynamicObject object, long index, boolean strict)
deleteElementImpl in class AbstractJSObjectArraypublic boolean isHolesType()
ScriptArrayisHolesType in class ScriptArraypublic ScriptArray removeRangeImpl(JSDynamicObject object, long start, long end)
ScriptArrayremoveRangeImpl in class ScriptArrayprotected JSDynamicObject castNonNull(JSDynamicObject value)
castNonNull in class AbstractJSObjectArrayprotected HolesJSObjectArray withIntegrityLevel(int newIntegrityLevel)
withIntegrityLevel in class AbstractJSObjectArraypublic List<Object> ownPropertyKeys(JSDynamicObject object)
ownPropertyKeys in class ScriptArray