Class JSAbstractArray
java.lang.Object
com.oracle.truffle.js.runtime.builtins.JSClass
com.oracle.truffle.js.runtime.builtins.JSNonProxy
com.oracle.truffle.js.runtime.builtins.JSAbstractArray
- Direct Known Subclasses:
JSAbstractArgumentsArray, JSArray, JSSlowArray
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Stringstatic final Stringprotected static final Stringstatic final Comparator<Object> static final Comparator<Object> static final Comparator<Object> static final com.oracle.truffle.api.object.HiddenKeystatic final com.oracle.truffle.api.object.HiddenKeystatic final com.oracle.truffle.api.strings.TruffleStringprotected static final StringFields inherited from class JSNonProxy
GET_SYMBOL_SPECIES_NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static final ArrayAccessstatic ArrayAllocationSitearrayGetAllocationSite(JSDynamicObject thisObj) static ObjectarrayGetArray(JSDynamicObject thisObj) static intarrayGetArrayOffset(JSDynamicObject thisObj) static ScriptArrayarrayGetArrayType(JSDynamicObject thisObj) static intarrayGetHoleCount(JSDynamicObject thisObj) static longarrayGetIndexOffset(JSDynamicObject thisObj) static longarrayGetLength(JSDynamicObject thisObj) static ObjectarrayGetRegexResult(JSDynamicObject thisObj, com.oracle.truffle.api.object.DynamicObjectLibrary lazyRegexResult) static com.oracle.truffle.api.strings.TruffleStringarrayGetRegexResultOriginalInput(JSDynamicObject thisObj, com.oracle.truffle.api.object.DynamicObjectLibrary lazyRegexResultOriginalInput) static intarrayGetUsedLength(JSDynamicObject thisObj) static voidarraySetArray(JSDynamicObject thisObj, Object array) static voidarraySetArrayOffset(JSDynamicObject thisObj, int arrayOffset) static voidarraySetArrayType(JSDynamicObject thisObj, ScriptArray arrayType) static voidarraySetHoleCount(JSDynamicObject thisObj, int holeCount) static voidarraySetIndexOffset(JSDynamicObject thisObj, long indexOffset) static voidarraySetLength(JSDynamicObject thisObj, int length) static voidarraySetLength(JSDynamicObject thisObj, long length) static voidarraySetUsedLength(JSDynamicObject thisObj, int usedLength) booleandefineOwnProperty(JSDynamicObject thisObj, Object key, PropertyDescriptor descriptor, boolean doThrow) 9.1.6 [[DefineOwnProperty]] (P, Desc).protected booleandefineOwnPropertyIndex(JSDynamicObject thisObj, com.oracle.truffle.api.strings.TruffleString name, PropertyDescriptor descriptor, boolean doThrow) Implements part "3" of 15.4.5.1 [[DefineOwnProperty]], redefining one of the index property of an Array.booleandelete(JSDynamicObject thisObj, long index, boolean isStrict) booleandelete(JSDynamicObject thisObj, Object key, boolean isStrict) 9.1.10 [[Delete]] (P).longgetLength(JSDynamicObject thisObj) getOwnHelper(JSDynamicObject store, Object thisObj, long index, com.oracle.truffle.api.nodes.Node encapsulatingNode) Like getOwnProperty, but returnsnullif value is not present instead of undefined.final ObjectgetOwnHelper(JSDynamicObject store, Object thisObj, Object key, com.oracle.truffle.api.nodes.Node encapsulatingNode) Like getOwnProperty, but returnsnullif value is not present instead of undefined.getOwnProperty(JSDynamicObject thisObj, Object key) 9.1.5 [[GetOwnProperty]] (P).getOwnPropertyKeys(JSDynamicObject thisObj, boolean strings, boolean symbols) GetOwnPropertyKeys (O, type).final booleanhasOwnProperty(JSDynamicObject thisObj, long index) final booleanhasOwnProperty(JSDynamicObject thisObj, Object key) protected booleanisSlowArray(JSDynamicObject thisObj) protected JSDynamicObjectmakeSlowArray(JSDynamicObject thisObj) static PropertyDescriptorordinaryGetOwnPropertyArray(JSDynamicObject thisObj, Object key) 9.1.5.1 OrdinaryGetOwnProperty (O, P), implemented for Arrays.ownPropertyKeysFastArray(JSDynamicObject thisObj, boolean strings, boolean symbols) ownPropertyKeysSlowArray(JSDynamicObject thisObj, boolean strings, boolean symbols) final booleanpreventExtensions(JSDynamicObject thisObj, boolean doThrow) 9.1.4 [[PreventExtensions]] ().booleanset(JSDynamicObject thisObj, long index, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode) final booleanset(JSDynamicObject thisObj, Object key, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode) 9.1.9 [[Set]] (P, V, Receiver).booleansetLength(JSDynamicObject thisObj, long length, boolean doThrow) static Object[]toArray(JSDynamicObject thisObj) Creates an Object[] from this array, of size array.length.static longtoArrayLengthOrRangeError(Number len, Number len32, com.oracle.truffle.api.nodes.Node originatingNode) static longtoArrayLengthOrRangeError(Object obj, com.oracle.truffle.api.nodes.Node originatingNode) booleanMethods inherited from class JSNonProxy
checkProtoCycle, createSymbolSpeciesGetterFunction, deletePropertyDefault, getHelper, getHelper, getMethodHelper, getPrototypeOf, hasOnlyShapeProperties, hasProperty, hasProperty, invokeAccessorPropertySetter, isExtensible, ordinaryGetOwnProperty, ordinaryGetOwnPropertyIntl, ordinaryIsExtensible, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeysSlow, ordinaryPreventExtensions, ordinarySet, ordinarySetIndex, ordinarySetWithReceiver, performOrdinarySetWithOwnDescriptor, putConstructorSpeciesGetter, setIntegrityLevelFast, setPropertySlow, setPrototypeOf, testIntegrityLevelFast, usesOrdinaryIsExtensibleMethods inherited from class JSClass
filterOwnPropertyKeys, get, get, getIntrinsicDefaultProto, isInstance, isInstance, isInstance, isInstance, makeInitialShape, ownPropertyKeys, toString
-
Field Details
-
LENGTH
public static final com.oracle.truffle.api.strings.TruffleString LENGTH -
ARRAY_LENGTH_NOT_WRITABLE
- See Also:
-
CANNOT_REDEFINE_PROPERTY_LENGTH
- See Also:
-
MAKE_SLOW_ARRAY_NEVER_PART_OF_COMPILATION_MESSAGE
- See Also:
-
ARRAY_PROTOTYPE_NO_ELEMENTS_INVALIDATION
- See Also:
-
LAZY_REGEX_RESULT_ID
public static final com.oracle.truffle.api.object.HiddenKey LAZY_REGEX_RESULT_ID -
LAZY_REGEX_ORIGINAL_INPUT_ID
public static final com.oracle.truffle.api.object.HiddenKey LAZY_REGEX_ORIGINAL_INPUT_ID -
DEFAULT_JSARRAY_COMPARATOR
-
DEFAULT_JSARRAY_INTEGER_COMPARATOR
-
DEFAULT_JSARRAY_DOUBLE_COMPARATOR
-
-
Constructor Details
-
JSAbstractArray
protected JSAbstractArray()
-
-
Method Details
-
arrayGetArrayType
-
arrayGetLength
-
arrayGetUsedLength
-
arrayGetIndexOffset
-
arrayGetArrayOffset
-
arraySetArrayType
-
arraySetLength
-
arraySetLength
-
arraySetUsedLength
-
arraySetIndexOffset
-
arraySetArrayOffset
-
arrayGetArray
-
arraySetArray
-
arrayGetHoleCount
-
arraySetHoleCount
-
arrayGetAllocationSite
-
arrayGetRegexResult
public static Object arrayGetRegexResult(JSDynamicObject thisObj, com.oracle.truffle.api.object.DynamicObjectLibrary lazyRegexResult) -
arrayGetRegexResultOriginalInput
public static com.oracle.truffle.api.strings.TruffleString arrayGetRegexResultOriginalInput(JSDynamicObject thisObj, com.oracle.truffle.api.object.DynamicObjectLibrary lazyRegexResultOriginalInput) -
arrayAccess
-
getLength
-
setLength
-
getOwnHelper
public final Object getOwnHelper(JSDynamicObject store, Object thisObj, Object key, com.oracle.truffle.api.nodes.Node encapsulatingNode) Description copied from class:JSNonProxyLike getOwnProperty, but returnsnullif value is not present instead of undefined.- Overrides:
getOwnHelperin classJSNonProxy
-
set
public final boolean set(JSDynamicObject thisObj, Object key, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode) Description copied from class:JSClass9.1.9 [[Set]] (P, V, Receiver).- Overrides:
setin classJSNonProxy
-
set
public boolean set(JSDynamicObject thisObj, long index, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode) - Overrides:
setin classJSNonProxy
-
delete
- Overrides:
deletein classJSNonProxy
-
getOwnHelper
public Object getOwnHelper(JSDynamicObject store, Object thisObj, long index, com.oracle.truffle.api.nodes.Node encapsulatingNode) Description copied from class:JSNonProxyLike getOwnProperty, but returnsnullif value is not present instead of undefined.- Overrides:
getOwnHelperin classJSNonProxy
-
toArray
Creates an Object[] from this array, of size array.length. Does not check the prototype chain, i.e. result can be wrong. Use JSToObjectArrayNode for more correct results. This is mostly used in tests, but also in a few places in Node.js. -
hasOwnProperty
- Overrides:
hasOwnPropertyin classJSNonProxy
-
hasOwnProperty
- Overrides:
hasOwnPropertyin classJSNonProxy
-
getOwnPropertyKeys
Description copied from class:JSClassGetOwnPropertyKeys (O, type).- Overrides:
getOwnPropertyKeysin classJSNonProxy- Returns:
- a List of the keys of all own properties of that object with the specified types
-
ownPropertyKeysFastArray
protected static List<Object> ownPropertyKeysFastArray(JSDynamicObject thisObj, boolean strings, boolean symbols) -
ownPropertyKeysSlowArray
protected static List<Object> ownPropertyKeysSlowArray(JSDynamicObject thisObj, boolean strings, boolean symbols) -
toArrayLengthOrRangeError
public static long toArrayLengthOrRangeError(Object obj, com.oracle.truffle.api.nodes.Node originatingNode) -
toArrayLengthOrRangeError
-
defineOwnProperty
public boolean defineOwnProperty(JSDynamicObject thisObj, Object key, PropertyDescriptor descriptor, boolean doThrow) Description copied from class:JSClass9.1.6 [[DefineOwnProperty]] (P, Desc).- Overrides:
defineOwnPropertyin classJSNonProxy
-
defineOwnPropertyIndex
protected boolean defineOwnPropertyIndex(JSDynamicObject thisObj, com.oracle.truffle.api.strings.TruffleString name, PropertyDescriptor descriptor, boolean doThrow) Implements part "3" of 15.4.5.1 [[DefineOwnProperty]], redefining one of the index property of an Array.- Returns:
- whether the operation was successful
-
makeSlowArray
-
preventExtensions
Description copied from class:JSClass9.1.4 [[PreventExtensions]] ().- Overrides:
preventExtensionsin classJSNonProxy
-
delete
-
getOwnProperty
Description copied from class:JSClass9.1.5 [[GetOwnProperty]] (P).- Overrides:
getOwnPropertyin classJSNonProxy
-
ordinaryGetOwnPropertyArray
9.1.5.1 OrdinaryGetOwnProperty (O, P), implemented for Arrays. -
isSlowArray
-
usesOrdinaryGetOwnProperty
public boolean usesOrdinaryGetOwnProperty()- Overrides:
usesOrdinaryGetOwnPropertyin classJSNonProxy
-