public final class JSArrayObject extends JSArrayBase implements JSCopyableObject
JSDynamicObject.IsIdenticalOrUndefinedCONSTRUCTOR, EMPTY_STRING_ARRAY, HIDDEN_PROTO, NO_SUCH_METHOD_NAME, NO_SUCH_PROPERTY_NAME, PROTO, PROTOTYPE| Modifier | Constructor and Description |
|---|---|
protected |
JSArrayObject(com.oracle.truffle.api.object.Shape shape,
JSDynamicObject proto,
ScriptArray arrayType,
Object array,
ArrayAllocationSite site,
long length,
int usedLength,
int indexOffset,
int arrayOffset,
int holeCount) |
| Modifier and Type | Method and Description |
|---|---|
protected JSObject |
copyWithoutProperties(com.oracle.truffle.api.object.Shape shape) |
static JSArrayObject |
create(com.oracle.truffle.api.object.Shape shape,
JSDynamicObject proto,
ScriptArray arrayType,
Object array,
ArrayAllocationSite site,
long length,
int usedLength,
int indexOffset,
int arrayOffset,
int holeCount) |
static JSArrayObject |
createEmpty(com.oracle.truffle.api.object.Shape shape,
JSDynamicObject proto,
ScriptArray arrayType) |
long |
getArraySize() |
JSAbstractArray |
getJSClass() |
boolean |
hasArrayElements() |
boolean |
isArrayElementInsertable(long index,
ArrayElementInfoNode elements) |
boolean |
isArrayElementModifiable(long index,
ArrayElementInfoNode elements) |
boolean |
isArrayElementReadable(long index,
com.oracle.truffle.api.interop.InteropLibrary thisLibrary) |
boolean |
isArrayElementRemovable(long index,
ArrayElementInfoNode elements) |
Object |
readArrayElement(long index,
com.oracle.truffle.api.interop.InteropLibrary self,
ReadElementNode readNode,
ExportValueNode exportNode) |
void |
removeArrayElement(long index,
ArrayElementInfoNode elements) |
void |
writeArrayElement(long index,
Object value,
ArrayElementInfoNode elements,
ImportValueNode castValueNode,
WriteElementNode writeNode) |
arrayAccess, getArray, getArrayType, setArray, setArrayTypegetMetaObject, getMetaObjectImpl, hasMetaObjectdefineOwnProperty, delete, delete, getBuiltinToStringTag, getClassName, getHelper, getHelper, getMethodHelper, getOwnHelper, getOwnHelper, getOwnProperty, getOwnPropertyKeys, getPrototypeOf, hasOnlyShapeProperties, hasOwnProperty, hasOwnProperty, hasProperty, hasProperty, isExtensible, preventExtensions, set, set, setIntegrityLevel, setPrototypeOf, testIntegrityLevel, toDisplayStringImpldefaultToString, defineOwnProperty, defineOwnProperty, delete, delete, delete, delete, delete, delete, enumerableOwnNames, filterEnumerableNames, get, get, get, get, getArray, getClassName, getIterator, getJSClass, getJSContext, getLanguage, getMethod, getMethod, getOrDefault, getOrDefault, getOrDefault, getOrDefault, getOwnProperty, getOwnProperty, getPrototype, getPrototype, getUncachedRead, getUncachedWrite, getWithReceiver, hasArray, hasIterator, hasLanguage, hasMemberReadSideEffects, hasMembers, hasMemberWriteSideEffects, hasOwnProperty, hasOwnProperty, hasOwnProperty, hasOwnProperty, hasProperty, hasProperty, hasProperty, hasProperty, invokeMember, isExtensible, isExtensible, isFrozen, isJSObject, isMemberInsertable, isMemberInvocable, isMemberModifiable, isMemberReadable, isMemberRemovable, isSealed, language, ordinaryToPrimitive, ownPropertyKeys, ownPropertyKeys, preventExtensions, preventExtensions, readMember, removeMember, set, set, set, set, setArray, setIntegrityLevel, setIntegrityLevel, setPrototype, setPrototype, setWithReceiver, setWithReceiver, testIntegrityLevel, toDisplayString, toPrimitive, toPrimitive, writeMemberdefaultToString, getDynamicType, getIntOrDefault, getJSContext, getJSSharedData, getKeyArray, getObjectFlags, getOrDefault, getOrNull, getProperty, getPropertyArray, getPropertyFlags, getValue, getValue, identityHashCode, isJSDynamicObject, ownPropertyKeys, removeKey, setJSClass, setObjectFlags, setPropertyFlags, testProperties, updatePropertyFlagsequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcopyprotected JSArrayObject(com.oracle.truffle.api.object.Shape shape,
JSDynamicObject proto,
ScriptArray arrayType,
Object array,
ArrayAllocationSite site,
long length,
int usedLength,
int indexOffset,
int arrayOffset,
int holeCount)
public static JSArrayObject create(com.oracle.truffle.api.object.Shape shape, JSDynamicObject proto, ScriptArray arrayType, Object array, ArrayAllocationSite site, long length, int usedLength, int indexOffset, int arrayOffset, int holeCount)
public static JSArrayObject createEmpty(com.oracle.truffle.api.object.Shape shape, JSDynamicObject proto, ScriptArray arrayType)
public JSAbstractArray getJSClass()
getJSClass in class JSDynamicObjectprotected JSObject copyWithoutProperties(com.oracle.truffle.api.object.Shape shape)
copyWithoutProperties in class JSObjectpublic boolean hasArrayElements()
public long getArraySize()
public Object readArrayElement(long index, com.oracle.truffle.api.interop.InteropLibrary self, ReadElementNode readNode, ExportValueNode exportNode) throws com.oracle.truffle.api.interop.InvalidArrayIndexException, com.oracle.truffle.api.interop.UnsupportedMessageException
com.oracle.truffle.api.interop.InvalidArrayIndexExceptioncom.oracle.truffle.api.interop.UnsupportedMessageExceptionpublic boolean isArrayElementReadable(long index,
com.oracle.truffle.api.interop.InteropLibrary thisLibrary)
public void writeArrayElement(long index,
Object value,
ArrayElementInfoNode elements,
ImportValueNode castValueNode,
WriteElementNode writeNode)
throws com.oracle.truffle.api.interop.InvalidArrayIndexException,
com.oracle.truffle.api.interop.UnsupportedMessageException
com.oracle.truffle.api.interop.InvalidArrayIndexExceptioncom.oracle.truffle.api.interop.UnsupportedMessageExceptionpublic boolean isArrayElementModifiable(long index,
ArrayElementInfoNode elements)
public boolean isArrayElementInsertable(long index,
ArrayElementInfoNode elements)
public boolean isArrayElementRemovable(long index,
ArrayElementInfoNode elements)
public void removeArrayElement(long index,
ArrayElementInfoNode elements)
throws com.oracle.truffle.api.interop.UnsupportedMessageException,
com.oracle.truffle.api.interop.InvalidArrayIndexException
com.oracle.truffle.api.interop.UnsupportedMessageExceptioncom.oracle.truffle.api.interop.InvalidArrayIndexException