Class JSArrayObject
java.lang.Object
com.oracle.truffle.api.object.DynamicObject
com.oracle.truffle.js.runtime.objects.JSDynamicObject
com.oracle.truffle.js.runtime.objects.JSObject
com.oracle.truffle.js.runtime.objects.JSClassObject
com.oracle.truffle.js.runtime.objects.JSNonProxyObject
com.oracle.truffle.js.runtime.builtins.JSArrayBase
com.oracle.truffle.js.runtime.builtins.JSArrayObject
- All Implemented Interfaces:
com.oracle.truffle.api.interop.TruffleObject,JSCopyableObject
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.js.runtime.objects.JSDynamicObject
JSDynamicObject.IsIdenticalOrUndefinedNested classes/interfaces inherited from class com.oracle.truffle.api.object.DynamicObject
com.oracle.truffle.api.object.DynamicObject.DynamicField -
Field Summary
Fields inherited from class com.oracle.truffle.js.runtime.objects.JSObject
CONSTRUCTOR, EMPTY_STRING_ARRAY, GET_PROTO_NAME, HIDDEN_PROTO, NO_SUCH_METHOD_NAME, NO_SUCH_PROPERTY_NAME, PROTO, PROTOTYPE, SET_PROTO_NAME -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJSArrayObject(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) -
Method Summary
Modifier and TypeMethodDescriptionprotected JSObjectcopyWithoutProperties(com.oracle.truffle.api.object.Shape shape) static JSArrayObjectcreate(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 JSArrayObjectcreateEmpty(com.oracle.truffle.api.object.Shape shape, JSDynamicObject proto, ScriptArray arrayType) longcom.oracle.truffle.api.strings.TruffleStringReturns builtinTag as per Object.prototype.toString().com.oracle.truffle.api.strings.TruffleStringThe [[Class]] internal property.booleanbooleanisArrayElementInsertable(long index, ArrayElementInfoNode elements) booleanisArrayElementModifiable(long index, ArrayElementInfoNode elements) booleanisArrayElementReadable(long index, com.oracle.truffle.api.interop.InteropLibrary thisLibrary) booleanisArrayElementRemovable(long index, ArrayElementInfoNode elements) readArrayElement(long index, com.oracle.truffle.api.interop.InteropLibrary self, ReadElementNode readNode, ExportValueNode exportNode) voidremoveArrayElement(long index, ArrayElementInfoNode elements) com.oracle.truffle.api.strings.TruffleStringtoDisplayStringImpl(boolean allowSideEffects, ToDisplayStringFormat format, int depth) A more informative toString variant, mainly used for error messages.voidwriteArrayElement(long index, Object value, ArrayElementInfoNode elements, ImportValueNode castValueNode, WriteElementNode writeNode) Methods inherited from class com.oracle.truffle.js.runtime.builtins.JSArrayBase
arrayAccess, getArray, getArrayType, preventExtensions, setArray, setArrayType, setIntegrityLevel, testIntegrityLevelMethods inherited from class com.oracle.truffle.js.runtime.objects.JSNonProxyObject
getMetaObject, getMetaObjectImpl, hasMetaObject, isExtensibleMethods inherited from class com.oracle.truffle.js.runtime.objects.JSClassObject
defineOwnProperty, delete, delete, getHelper, getHelper, getMethodHelper, getOwnHelper, getOwnHelper, getOwnProperty, getOwnPropertyKeys, getPrototypeOf, hasOnlyShapeProperties, hasOwnProperty, hasOwnProperty, hasProperty, hasProperty, set, set, setPrototypeOfMethods inherited from class com.oracle.truffle.js.runtime.objects.JSObject
defaultToString, defineOwnProperty, defineOwnProperty, delete, delete, delete, delete, delete, delete, enumerableOwnNames, filterEnumerableNames, get, get, get, get, getArray, getClassName, getIterator, getJSClass, getJSContext, getLanguage, getMembers, 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, isJSObject, isMemberInsertable, isMemberInvocable, isMemberModifiable, isMemberReadable, isMemberRemovable, language, ordinaryToPrimitive, ownPropertyKeys, ownPropertyKeys, readMember, removeMember, set, set, set, set, setArray, setPrototype, setPrototype, setWithReceiver, setWithReceiver, toDisplayString, toPrimitive, toPrimitive, writeMemberMethods inherited from class com.oracle.truffle.js.runtime.objects.JSDynamicObject
defaultToString, getDynamicType, getJSClass, getJSContext, getJSSharedData, getObjectFlags, getOrDefault, getOrNull, getPropertyArray, getPropertyFlags, getValue, getValue, identityHashCode, isJSDynamicObject, ownPropertyKeys, setJSClass, setObjectFlags, setPropertyFlags, testProperties, updatePropertyFlagsMethods inherited from class com.oracle.truffle.api.object.DynamicObject
clone, getShapeMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.oracle.truffle.js.runtime.objects.JSCopyableObject
copy
-
Constructor Details
-
JSArrayObject
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)
-
-
Method Details
-
create
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) -
createEmpty
public static JSArrayObject createEmpty(com.oracle.truffle.api.object.Shape shape, JSDynamicObject proto, ScriptArray arrayType) -
copyWithoutProperties
- Overrides:
copyWithoutPropertiesin classJSObject
-
getClassName
public com.oracle.truffle.api.strings.TruffleString getClassName()Description copied from class:JSDynamicObjectThe [[Class]] internal property. For ES5, this is the second part of what Object.prototype.toString.call(myObj) returns, e.g. "[object Array]".- Overrides:
getClassNamein classJSNonProxyObject
-
getBuiltinToStringTag
public com.oracle.truffle.api.strings.TruffleString getBuiltinToStringTag()Description copied from class:JSObjectReturns builtinTag as per Object.prototype.toString(). By default returns "Object".- Overrides:
getBuiltinToStringTagin classJSObject- Returns:
- built-in toStringTag
-
hasArrayElements
public boolean hasArrayElements() -
getArraySize
public long getArraySize() -
readArrayElement
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 - Throws:
com.oracle.truffle.api.interop.InvalidArrayIndexExceptioncom.oracle.truffle.api.interop.UnsupportedMessageException
-
isArrayElementReadable
public boolean isArrayElementReadable(long index, com.oracle.truffle.api.interop.InteropLibrary thisLibrary) -
writeArrayElement
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 - Throws:
com.oracle.truffle.api.interop.InvalidArrayIndexExceptioncom.oracle.truffle.api.interop.UnsupportedMessageException
-
isArrayElementModifiable
-
isArrayElementInsertable
-
isArrayElementRemovable
-
removeArrayElement
public void removeArrayElement(long index, ArrayElementInfoNode elements) throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.InvalidArrayIndexException - Throws:
com.oracle.truffle.api.interop.UnsupportedMessageExceptioncom.oracle.truffle.api.interop.InvalidArrayIndexException
-
toDisplayStringImpl
public com.oracle.truffle.api.strings.TruffleString toDisplayStringImpl(boolean allowSideEffects, ToDisplayStringFormat format, int depth) Description copied from class:JSDynamicObjectA more informative toString variant, mainly used for error messages.- Overrides:
toDisplayStringImplin classJSNonProxyObject- Parameters:
format- formatting parametersdepth- current nesting depth
-