public class LazyArray extends AbstractConstantArray
DynamicArray.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 | Constructor and Description |
|---|---|
protected |
LazyArray(int integrityLevel,
DynamicArray.DynamicArrayCache cache) |
firstElementIndex, getElement, getElementInBounds, hasHoles, isInBoundsFast, lastElementIndex, length, nextElementIndex, previousElementIndex, setElementImplcreateCache, freeze, isExtensible, isFrozen, isLengthNotWritable, isSealed, maybePreinitializeCache, preventExtensions, seal, setIntegrityLevel, setLengthNotWritable, toStringaddRange, asIterable, canDeleteElement, cast, createConstantArray, createConstantEmptyArray, deleteElement, isHolesType, isInstance, makeMultiRangeList, makeRangeList, nextPower, ownPropertyKeys, ownPropertyKeysContiguous, ownPropertyKeysHoles, removeRange, removeRange, setElement, setLength, setLength, shiftRange, shiftRangeImpl, toArray, toString, traceArrayTransition, traceWrite, valueIsByteprotected LazyArray(int integrityLevel,
DynamicArray.DynamicArrayCache cache)
public static LazyArray createLazyArray()
protected DynamicArray withIntegrityLevel(int newIntegrityLevel)
withIntegrityLevel in class DynamicArraypublic Object getElementInBounds(JSDynamicObject object, int index)
getElementInBounds in class AbstractConstantArraypublic Object getElementInBounds(JSDynamicObject object, int index, ListGetNode listGetNode)
public boolean hasElement(JSDynamicObject object, long index)
hasElement in class ScriptArraypublic int lengthInt(JSDynamicObject object)
lengthInt in class ScriptArraypublic AbstractWritableArray createWriteableObject(JSDynamicObject object, long index, Object value, com.oracle.truffle.api.nodes.Node node, ScriptArray.CreateWritableProfileAccess profile)
createWriteableObject in class AbstractConstantArraypublic AbstractWritableArray createWriteableDouble(JSDynamicObject object, long index, double value, com.oracle.truffle.api.nodes.Node node, ScriptArray.CreateWritableProfileAccess profile)
createWriteableDouble in class AbstractConstantArraypublic AbstractWritableArray createWriteableInt(JSDynamicObject object, long index, int value, com.oracle.truffle.api.nodes.Node node, ScriptArray.CreateWritableProfileAccess profile)
createWriteableInt in class AbstractConstantArraypublic AbstractWritableArray createWriteableJSObject(JSDynamicObject object, long index, JSDynamicObject value, com.oracle.truffle.api.nodes.Node node, ScriptArray.CreateWritableProfileAccess profile)
createWriteableJSObject in class AbstractConstantArraypublic ScriptArray deleteElementImpl(JSDynamicObject object, long index, boolean strict)
deleteElementImpl in class ScriptArraypublic ScriptArray setLengthImpl(JSDynamicObject object, long len, com.oracle.truffle.api.nodes.Node node, ScriptArray.SetLengthProfileAccess profile)
setLengthImpl in class ScriptArraypublic ScriptArray removeRangeImpl(JSDynamicObject object, long start, long end)
ScriptArrayremoveRangeImpl in class ScriptArraypublic ScriptArray addRangeImpl(JSDynamicObject object, long offset, int size)
ScriptArrayaddRangeImpl in class ScriptArrayoffset - starting offset positionsize - size of the inserted empty arrayScriptArray instance with the new sizepublic Object cloneArray(JSDynamicObject object)
cloneArray in class DynamicArray