public final class JSArray extends JSAbstractArray implements JSConstructorFactory.WithFunctionsAndSpecies, PrototypeSupplier
usesOrdinaryGetOwnProperty| Modifier and Type | Class and Description |
|---|---|
static class |
JSArray.ArrayLengthProxyProperty |
JSConstructorFactory.Default, JSConstructorFactory.WithFunctions, JSConstructorFactory.WithFunctionsAndSpecies| Modifier and Type | Field and Description |
|---|---|
static com.oracle.truffle.api.strings.TruffleString |
CLASS_NAME |
static JSArray |
INSTANCE |
static com.oracle.truffle.api.strings.TruffleString |
PROTOTYPE_NAME |
ARRAY_LENGTH_NOT_WRITABLE, ARRAY_PROTOTYPE_NO_ELEMENTS_INVALIDATION, CANNOT_REDEFINE_PROPERTY_LENGTH, DEFAULT_JSARRAY_COMPARATOR, DEFAULT_JSARRAY_DOUBLE_COMPARATOR, DEFAULT_JSARRAY_INTEGER_COMPARATOR, LAZY_REGEX_ORIGINAL_INPUT_ID, LAZY_REGEX_RESULT_ID, LENGTH, MAKE_SLOW_ARRAY_NEVER_PART_OF_COMPILATION_MESSAGEGET_SYMBOL_SPECIES_NAME| Modifier and Type | Method and Description |
|---|---|
static JSArrayObject |
create(JSContext context,
JSRealm realm,
JSDynamicObject proto,
ScriptArray arrayType,
Object array,
long length) |
static JSArrayObject |
create(JSContext context,
JSRealm realm,
JSDynamicObject proto,
ScriptArray arrayType,
Object array,
long length,
int usedLength) |
static JSArrayObject |
create(JSContext context,
JSRealm realm,
JSDynamicObject proto,
ScriptArray arrayType,
Object array,
long length,
int usedLength,
int indexOffset,
int arrayOffset) |
static JSArrayObject |
create(JSContext context,
JSRealm realm,
JSDynamicObject proto,
ScriptArray arrayType,
Object array,
long length,
int usedLength,
int indexOffset,
int arrayOffset,
int holeCount) |
static JSArrayObject |
create(JSContext context,
JSRealm realm,
ScriptArray arrayType,
Object array,
long length) |
static JSArrayObject |
create(JSContext context,
JSRealm realm,
ScriptArray arrayType,
Object array,
long length,
int usedLength) |
static JSArrayObject |
create(JSContext context,
JSRealm realm,
ScriptArray arrayType,
Object array,
long length,
int usedLength,
int indexOffset,
int arrayOffset) |
static JSArrayObject |
create(JSContext context,
JSRealm realm,
ScriptArray arrayType,
Object array,
long length,
int usedLength,
int indexOffset,
int arrayOffset,
int holeCount) |
static JSArrayObject |
createConstant(JSContext context,
JSRealm realm,
Object[] elements) |
static JSArrayObject |
createConstantByteArray(JSContext context,
JSRealm realm,
byte[] byteArray) |
static JSArrayObject |
createConstantDoubleArray(JSContext context,
JSRealm realm,
double[] doubleArray) |
static JSArrayObject |
createConstantEmptyArray(JSContext context,
JSRealm realm) |
static JSArrayObject |
createConstantEmptyArray(JSContext context,
JSRealm realm,
int capacity) |
static JSArrayObject |
createConstantEmptyArray(JSContext context,
JSRealm realm,
JSDynamicObject prototype,
ArrayAllocationSite site) |
static JSArrayObject |
createConstantEmptyArray(JSContext context,
JSRealm realm,
JSDynamicObject prototype,
ArrayAllocationSite site,
int capacity) |
static JSArrayObject |
createConstantIntArray(JSContext context,
JSRealm realm,
int[] intArray) |
static JSArrayObject |
createConstantObjectArray(JSContext context,
JSRealm realm,
Object[] objectArray) |
static JSConstructor |
createConstructor(JSRealm realm) |
static JSArrayObject |
createDefaultProto(JSContext context,
JSRealm realm,
ScriptArray arrayType,
Object array,
ArrayAllocationSite site,
long length,
int usedLength,
int indexOffset,
int arrayOffset,
int holeCount) |
static JSArrayObject |
createEmpty(JSContext context,
JSRealm realm,
int length) |
static JSArrayObject |
createEmpty(JSContext context,
JSRealm realm,
long length) |
static JSArrayObject |
createEmptyChecked(JSContext context,
JSRealm realm,
JSDynamicObject proto,
long length) |
static JSArrayObject |
createEmptyChecked(JSContext context,
JSRealm realm,
long length)
Creates an empty array of a certain size.
|
static JSArrayObject |
createEmptyZeroLength(JSContext context,
JSRealm realm) |
static JSArrayObject |
createLazyArray(JSContext context,
JSRealm realm,
List<?> list,
int size) |
static JSArrayObject |
createLazyRegexArray(JSContext context,
JSRealm realm,
int length) |
static JSArrayObject |
createLazyRegexArray(JSContext context,
JSRealm realm,
int length,
Object regexResult,
com.oracle.truffle.api.strings.TruffleString input,
JSDynamicObject groups,
JSDynamicObject indicesGroups) |
static JSArrayObject |
createLazyRegexIndicesArray(JSContext context,
JSRealm realm,
int length) |
JSDynamicObject |
createPrototype(JSRealm realm,
JSFunctionObject ctor) |
static JSArrayObject |
createSparseArray(JSContext context,
JSRealm realm,
JSDynamicObject proto,
long length) |
static JSArrayObject |
createSparseArray(JSContext context,
JSRealm realm,
long length) |
static JSArrayObject |
createWithProto(JSContext context,
JSRealm realm,
JSDynamicObject prototype,
ScriptArray arrayType,
Object array,
ArrayAllocationSite site,
long length,
int usedLength,
int indexOffset,
int arrayOffset,
int holeCount) |
static JSArrayObject |
createZeroBasedDoubleArray(JSContext context,
JSRealm realm,
double[] doubleArray) |
static JSArrayObject |
createZeroBasedDoubleArray(JSContext context,
JSRealm realm,
JSDynamicObject proto,
double[] doubleArray) |
static JSArrayObject |
createZeroBasedHolesObjectArray(JSContext context,
JSRealm realm,
Object[] objectArray,
int usedLength,
int arrayOffset,
int holeCount) |
static JSArrayObject |
createZeroBasedIntArray(JSContext context,
JSRealm realm,
int[] intArray) |
static JSArrayObject |
createZeroBasedIntArray(JSContext context,
JSRealm realm,
JSDynamicObject proto,
int[] intArray) |
static JSArrayObject |
createZeroBasedJSObjectArray(JSContext context,
JSRealm realm,
JSDynamicObject[] objectArray) |
static JSArrayObject |
createZeroBasedObjectArray(JSContext context,
JSRealm realm,
Object[] objectArray) |
com.oracle.truffle.api.strings.TruffleString |
getClassName() |
com.oracle.truffle.api.strings.TruffleString |
getClassName(JSDynamicObject object)
The [[Class]] internal property.
|
JSDynamicObject |
getIntrinsicDefaultProto(JSRealm realm)
Allows invokevirtual of this method instead of invokeinterface.
|
List<Object> |
getOwnPropertyKeys(JSDynamicObject thisObj,
boolean strings,
boolean symbols)
GetOwnPropertyKeys (O, type).
|
static boolean |
isArrayPrototype(JSDynamicObject object) |
static boolean |
isJSArray(Object obj) |
static boolean |
isJSFastArray(JSDynamicObject obj) |
static boolean |
isJSFastArray(Object obj) |
com.oracle.truffle.api.object.Shape |
makeInitialShape(JSContext context,
JSDynamicObject prototype) |
static boolean |
setLength(JSDynamicObject store,
Object value,
com.oracle.truffle.api.nodes.Node originatingNode) |
arrayAccess, arrayGetAllocationSite, arrayGetArray, arrayGetArrayOffset, arrayGetArrayType, arrayGetHoleCount, arrayGetIndexOffset, arrayGetLength, arrayGetRegexResult, arrayGetRegexResultOriginalInput, arrayGetUsedLength, arraySetArray, arraySetArrayOffset, arraySetArrayType, arraySetHoleCount, arraySetIndexOffset, arraySetLength, arraySetLength, arraySetUsedLength, defineOwnProperty, defineOwnPropertyIndex, delete, delete, getBuiltinToStringTag, getLength, getOwnHelper, getOwnHelper, getOwnProperty, hasOwnProperty, hasOwnProperty, isSlowArray, makeSlowArray, ordinaryGetOwnPropertyArray, ownPropertyKeysFastArray, ownPropertyKeysSlowArray, preventExtensions, set, set, setIntegrityLevel, setLength, testIntegrityLevel, toArray, toArrayLengthOrRangeError, toArrayLengthOrRangeError, toDisplayStringImpl, usesOrdinaryGetOwnPropertycheckProtoCycle, createSymbolSpeciesGetterFunction, deletePropertyDefault, getHelper, getHelper, getMethodHelper, getPrototypeOf, hasOnlyShapeProperties, hasProperty, hasProperty, invokeAccessorPropertySetter, isExtensible, ordinaryGetOwnProperty, ordinaryGetOwnPropertyIntl, ordinaryIsExtensible, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeysSlow, ordinarySet, ordinarySetIndex, ordinarySetWithReceiver, performOrdinarySetWithOwnDescriptor, preventExtensionsImpl, putConstructorSpeciesGetter, setIntegrityLevelFast, setPropertySlow, setPrototypeOf, testIntegrityLevelFast, toString, usesOrdinaryIsExtensibledefaultToString, filterOwnPropertyKeys, formatToString, get, get, getToStringTag, isInstance, isInstance, isInstance, isInstance, ownPropertyKeys, testIntegrityLevelDefaultclone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitfillConstructorcreateConstructorAndPrototypecreateConstructorObjectpublic static final com.oracle.truffle.api.strings.TruffleString CLASS_NAME
public static final com.oracle.truffle.api.strings.TruffleString PROTOTYPE_NAME
public static final JSArray INSTANCE
public static JSArrayObject createConstant(JSContext context, JSRealm realm, Object[] elements)
public static JSArrayObject createEmpty(JSContext context, JSRealm realm, int length)
public static JSArrayObject createEmpty(JSContext context, JSRealm realm, long length)
public static JSArrayObject createEmptyChecked(JSContext context, JSRealm realm, long length)
public static JSArrayObject createEmptyChecked(JSContext context, JSRealm realm, JSDynamicObject proto, long length)
public static JSArrayObject createEmptyZeroLength(JSContext context, JSRealm realm)
public static JSArrayObject create(JSContext context, JSRealm realm, ScriptArray arrayType, Object array, long length)
public static JSArrayObject create(JSContext context, JSRealm realm, ScriptArray arrayType, Object array, long length, int usedLength)
public static JSArrayObject create(JSContext context, JSRealm realm, ScriptArray arrayType, Object array, long length, int usedLength, int indexOffset, int arrayOffset)
public static JSArrayObject create(JSContext context, JSRealm realm, ScriptArray arrayType, Object array, long length, int usedLength, int indexOffset, int arrayOffset, int holeCount)
public static JSArrayObject create(JSContext context, JSRealm realm, JSDynamicObject proto, ScriptArray arrayType, Object array, long length)
public static JSArrayObject create(JSContext context, JSRealm realm, JSDynamicObject proto, ScriptArray arrayType, Object array, long length, int usedLength)
public static JSArrayObject create(JSContext context, JSRealm realm, JSDynamicObject proto, ScriptArray arrayType, Object array, long length, int usedLength, int indexOffset, int arrayOffset)
public static JSArrayObject create(JSContext context, JSRealm realm, JSDynamicObject proto, ScriptArray arrayType, Object array, long length, int usedLength, int indexOffset, int arrayOffset, int holeCount)
public static JSArrayObject createDefaultProto(JSContext context, JSRealm realm, ScriptArray arrayType, Object array, ArrayAllocationSite site, long length, int usedLength, int indexOffset, int arrayOffset, int holeCount)
public static JSArrayObject createWithProto(JSContext context, JSRealm realm, JSDynamicObject prototype, ScriptArray arrayType, Object array, ArrayAllocationSite site, long length, int usedLength, int indexOffset, int arrayOffset, int holeCount)
public static boolean isJSArray(Object obj)
public static boolean isJSFastArray(Object obj)
public static boolean isJSFastArray(JSDynamicObject obj)
public com.oracle.truffle.api.strings.TruffleString getClassName()
getClassName in interface JSConstructorFactorypublic com.oracle.truffle.api.strings.TruffleString getClassName(JSDynamicObject object)
JSClassgetClassName in class JSClassobject - object to be usedpublic JSDynamicObject createPrototype(JSRealm realm, JSFunctionObject ctor)
createPrototype in interface JSConstructorFactorypublic com.oracle.truffle.api.object.Shape makeInitialShape(JSContext context, JSDynamicObject prototype)
makeInitialShape in class JSClasspublic List<Object> getOwnPropertyKeys(JSDynamicObject thisObj, boolean strings, boolean symbols)
JSClassgetOwnPropertyKeys in class JSAbstractArraypublic static JSConstructor createConstructor(JSRealm realm)
public static boolean setLength(JSDynamicObject store, Object value, com.oracle.truffle.api.nodes.Node originatingNode)
public static JSArrayObject createConstantEmptyArray(JSContext context, JSRealm realm, int capacity)
public static JSArrayObject createConstantEmptyArray(JSContext context, JSRealm realm)
public static JSArrayObject createConstantEmptyArray(JSContext context, JSRealm realm, JSDynamicObject prototype, ArrayAllocationSite site)
public static JSArrayObject createConstantEmptyArray(JSContext context, JSRealm realm, JSDynamicObject prototype, ArrayAllocationSite site, int capacity)
public static JSArrayObject createConstantByteArray(JSContext context, JSRealm realm, byte[] byteArray)
public static JSArrayObject createConstantIntArray(JSContext context, JSRealm realm, int[] intArray)
public static JSArrayObject createConstantDoubleArray(JSContext context, JSRealm realm, double[] doubleArray)
public static JSArrayObject createConstantObjectArray(JSContext context, JSRealm realm, Object[] objectArray)
public static JSArrayObject createZeroBasedHolesObjectArray(JSContext context, JSRealm realm, Object[] objectArray, int usedLength, int arrayOffset, int holeCount)
public static JSArrayObject createZeroBasedIntArray(JSContext context, JSRealm realm, int[] intArray)
public static JSArrayObject createZeroBasedDoubleArray(JSContext context, JSRealm realm, double[] doubleArray)
public static JSArrayObject createZeroBasedIntArray(JSContext context, JSRealm realm, JSDynamicObject proto, int[] intArray)
public static JSArrayObject createZeroBasedDoubleArray(JSContext context, JSRealm realm, JSDynamicObject proto, double[] doubleArray)
public static JSArrayObject createZeroBasedObjectArray(JSContext context, JSRealm realm, Object[] objectArray)
public static JSArrayObject createZeroBasedJSObjectArray(JSContext context, JSRealm realm, JSDynamicObject[] objectArray)
public static JSArrayObject createSparseArray(JSContext context, JSRealm realm, long length)
public static JSArrayObject createSparseArray(JSContext context, JSRealm realm, JSDynamicObject proto, long length)
public static JSArrayObject createLazyRegexArray(JSContext context, JSRealm realm, int length)
public static JSArrayObject createLazyRegexArray(JSContext context, JSRealm realm, int length, Object regexResult, com.oracle.truffle.api.strings.TruffleString input, JSDynamicObject groups, JSDynamicObject indicesGroups)
public static JSArrayObject createLazyRegexIndicesArray(JSContext context, JSRealm realm, int length)
public static JSArrayObject createLazyArray(JSContext context, JSRealm realm, List<?> list, int size)
public JSDynamicObject getIntrinsicDefaultProto(JSRealm realm)
JSClassPrototypeSupplier.getIntrinsicDefaultProto in interface PrototypeSuppliergetIntrinsicDefaultProto in class JSClassPrototypeSupplier.getIntrinsicDefaultProto(com.oracle.truffle.js.runtime.JSRealm)public static boolean isArrayPrototype(JSDynamicObject object)