public abstract class JSAbstractArray extends JSNonProxy
| Type | Property and Description |
|---|---|
boolean |
usesOrdinaryGetOwn |
| Modifier and Type | Field and Description |
|---|---|
protected static String |
ARRAY_LENGTH_NOT_WRITABLE |
static String |
ARRAY_PROTOTYPE_NO_ELEMENTS_INVALIDATION |
protected static String |
CANNOT_REDEFINE_PROPERTY_LENGTH |
static Comparator<Object> |
DEFAULT_JSARRAY_COMPARATOR |
static Comparator<Object> |
DEFAULT_JSARRAY_DOUBLE_COMPARATOR |
static Comparator<Object> |
DEFAULT_JSARRAY_INTEGER_COMPARATOR |
static com.oracle.truffle.api.object.HiddenKey |
LAZY_REGEX_ORIGINAL_INPUT_ID |
static com.oracle.truffle.api.object.HiddenKey |
LAZY_REGEX_RESULT_ID |
static String |
LENGTH |
protected static String |
MAKE_SLOW_ARRAY_NEVER_PART_OF_COMPILATION_MESSAGE |
EMPTY_STRING_ARRAY| Modifier | Constructor and Description |
|---|---|
protected |
JSAbstractArray() |
| Modifier and Type | Method and Description |
|---|---|
protected static ArrayAccess |
arrayAccess() |
static ArrayAllocationSite |
arrayGetAllocationSite(com.oracle.truffle.api.object.DynamicObject thisObj) |
static Object |
arrayGetArray(com.oracle.truffle.api.object.DynamicObject thisObj) |
static int |
arrayGetArrayOffset(com.oracle.truffle.api.object.DynamicObject thisObj) |
static ScriptArray |
arrayGetArrayType(com.oracle.truffle.api.object.DynamicObject thisObj) |
static int |
arrayGetHoleCount(com.oracle.truffle.api.object.DynamicObject thisObj) |
static long |
arrayGetIndexOffset(com.oracle.truffle.api.object.DynamicObject thisObj) |
static long |
arrayGetLength(com.oracle.truffle.api.object.DynamicObject thisObj) |
static Object |
arrayGetRegexResult(com.oracle.truffle.api.object.DynamicObject thisObj,
com.oracle.truffle.api.object.DynamicObjectLibrary lazyRegexResult) |
static String |
arrayGetRegexResultOriginalInput(com.oracle.truffle.api.object.DynamicObject thisObj,
com.oracle.truffle.api.object.DynamicObjectLibrary lazyRegexResultOriginalInput) |
static int |
arrayGetUsedLength(com.oracle.truffle.api.object.DynamicObject thisObj) |
static void |
arraySetArray(com.oracle.truffle.api.object.DynamicObject thisObj,
Object array) |
static void |
arraySetArrayOffset(com.oracle.truffle.api.object.DynamicObject thisObj,
int arrayOffset) |
static void |
arraySetArrayType(com.oracle.truffle.api.object.DynamicObject thisObj,
ScriptArray arrayType) |
static void |
arraySetHoleCount(com.oracle.truffle.api.object.DynamicObject thisObj,
int holeCount) |
static void |
arraySetIndexOffset(com.oracle.truffle.api.object.DynamicObject thisObj,
long indexOffset) |
static void |
arraySetLength(com.oracle.truffle.api.object.DynamicObject thisObj,
int length) |
static void |
arraySetLength(com.oracle.truffle.api.object.DynamicObject thisObj,
long length) |
static void |
arraySetUsedLength(com.oracle.truffle.api.object.DynamicObject thisObj,
int usedLength) |
boolean |
defineOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
PropertyDescriptor descriptor,
boolean doThrow)
9.1.6 [[DefineOwnProperty]] (P, Desc).
|
protected boolean |
defineOwnPropertyIndex(com.oracle.truffle.api.object.DynamicObject thisObj,
String name,
PropertyDescriptor descriptor,
boolean doThrow)
Implements part "3" of 15.4.5.1 [[DefineOwnProperty]], redefining one of the index property
of an Array.
|
boolean |
delete(com.oracle.truffle.api.object.DynamicObject thisObj,
long index,
boolean isStrict) |
boolean |
delete(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
boolean isStrict)
9.1.10 [[Delete]] (P).
|
String |
getBuiltinToStringTag(com.oracle.truffle.api.object.DynamicObject object)
Returns builtinTag from step 14 of ES6+ 19.1.3.6.
|
long |
getLength(com.oracle.truffle.api.object.DynamicObject thisObj) |
Object |
getOwnHelper(com.oracle.truffle.api.object.DynamicObject store,
Object thisObj,
long index,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
Like getOwnProperty, but returns
null if value is not present instead of undefined. |
Object |
getOwnHelper(com.oracle.truffle.api.object.DynamicObject store,
Object thisObj,
Object key,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
Like getOwnProperty, but returns
null if value is not present instead of undefined. |
PropertyDescriptor |
getOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key)
9.1.5 [[GetOwnProperty]] (P).
|
List<Object> |
getOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean strings,
boolean symbols)
GetOwnPropertyKeys (O, type).
|
boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
long index) |
boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key) |
protected boolean |
isSlowArray(com.oracle.truffle.api.object.DynamicObject thisObj) |
protected com.oracle.truffle.api.object.DynamicObject |
makeSlowArray(com.oracle.truffle.api.object.DynamicObject thisObj) |
static PropertyDescriptor |
ordinaryGetOwnPropertyArray(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key)
9.1.5.1 OrdinaryGetOwnProperty (O, P), implemented for Arrays.
|
protected static List<Object> |
ownPropertyKeysFastArray(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean strings,
boolean symbols) |
protected static List<Object> |
ownPropertyKeysSlowArray(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean strings,
boolean symbols) |
boolean |
preventExtensions(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean doThrow)
9.1.4 [[PreventExtensions]] ().
|
boolean |
set(com.oracle.truffle.api.object.DynamicObject thisObj,
long index,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
boolean |
set(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
9.1.9 [[Set]] (P, V, Receiver).
|
boolean |
setIntegrityLevel(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean freeze,
boolean doThrow)
ES2015 7.3.14 SetIntegrityLevel(O, level).
|
boolean |
setLength(com.oracle.truffle.api.object.DynamicObject thisObj,
long length,
boolean doThrow) |
boolean |
setPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj,
com.oracle.truffle.api.object.DynamicObject newPrototype)
9.1.2 [[SetPrototypeOf]] (V).
|
boolean |
testIntegrityLevel(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean frozen)
ES2015 7.3.15 TestIntegrityLevel(O, level).
|
static Object[] |
toArray(com.oracle.truffle.api.object.DynamicObject thisObj) |
static long |
toArrayLengthOrRangeError(Number len,
Number len32) |
protected static long |
toArrayLengthOrRangeError(Object obj) |
String |
toDisplayStringImpl(com.oracle.truffle.api.object.DynamicObject obj,
int depth,
boolean allowSideEffects,
JSContext context)
A more informative toString variant, mainly used for error messages.
|
boolean |
usesOrdinaryGetOwnProperty() |
checkProtoCycle, createSymbolSpeciesGetterFunction, deletePropertyDefault, getHelper, getHelper, getMethodHelper, getPrototypeOf, hasOnlyShapeProperties, hasProperty, hasProperty, invokeAccessorPropertySetter, isExtensible, ordinaryGetOwnProperty, ordinaryGetOwnPropertyIntl, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeysSlow, ordinarySet, ordinarySetIndex, ordinarySetWithReceiver, performOrdinarySetWithOwnDescriptor, preventExtensionsImpl, putConstructorSpeciesGetter, setIntegrityLevelFast, setPropertySlow, testIntegrityLevelFast, toString, usesOrdinaryIsExtensibledefaultToString, filterOwnPropertyKeys, formatToString, get, get, getClassName, getToStringTag, isInstance, isInstance, isInstance, isInstance, makeInitialShape, ownPropertyKeys, testIntegrityLevelDefaultpublic boolean usesOrdinaryGetOwnProperty
usesOrdinaryGetOwnProperty in class JSNonProxypublic static final String LENGTH
protected static final String ARRAY_LENGTH_NOT_WRITABLE
protected static final String CANNOT_REDEFINE_PROPERTY_LENGTH
protected static final String MAKE_SLOW_ARRAY_NEVER_PART_OF_COMPILATION_MESSAGE
public static final String ARRAY_PROTOTYPE_NO_ELEMENTS_INVALIDATION
public static final com.oracle.truffle.api.object.HiddenKey LAZY_REGEX_RESULT_ID
public static final com.oracle.truffle.api.object.HiddenKey LAZY_REGEX_ORIGINAL_INPUT_ID
public static final Comparator<Object> DEFAULT_JSARRAY_COMPARATOR
public static final Comparator<Object> DEFAULT_JSARRAY_INTEGER_COMPARATOR
public static final Comparator<Object> DEFAULT_JSARRAY_DOUBLE_COMPARATOR
public static ScriptArray arrayGetArrayType(com.oracle.truffle.api.object.DynamicObject thisObj)
public static long arrayGetLength(com.oracle.truffle.api.object.DynamicObject thisObj)
public static int arrayGetUsedLength(com.oracle.truffle.api.object.DynamicObject thisObj)
public static long arrayGetIndexOffset(com.oracle.truffle.api.object.DynamicObject thisObj)
public static int arrayGetArrayOffset(com.oracle.truffle.api.object.DynamicObject thisObj)
public static void arraySetArrayType(com.oracle.truffle.api.object.DynamicObject thisObj,
ScriptArray arrayType)
public static void arraySetLength(com.oracle.truffle.api.object.DynamicObject thisObj,
int length)
public static void arraySetLength(com.oracle.truffle.api.object.DynamicObject thisObj,
long length)
public static void arraySetUsedLength(com.oracle.truffle.api.object.DynamicObject thisObj,
int usedLength)
public static void arraySetIndexOffset(com.oracle.truffle.api.object.DynamicObject thisObj,
long indexOffset)
public static void arraySetArrayOffset(com.oracle.truffle.api.object.DynamicObject thisObj,
int arrayOffset)
public static Object arrayGetArray(com.oracle.truffle.api.object.DynamicObject thisObj)
public static void arraySetArray(com.oracle.truffle.api.object.DynamicObject thisObj,
Object array)
public static int arrayGetHoleCount(com.oracle.truffle.api.object.DynamicObject thisObj)
public static void arraySetHoleCount(com.oracle.truffle.api.object.DynamicObject thisObj,
int holeCount)
public static ArrayAllocationSite arrayGetAllocationSite(com.oracle.truffle.api.object.DynamicObject thisObj)
public static Object arrayGetRegexResult(com.oracle.truffle.api.object.DynamicObject thisObj, com.oracle.truffle.api.object.DynamicObjectLibrary lazyRegexResult)
public static String arrayGetRegexResultOriginalInput(com.oracle.truffle.api.object.DynamicObject thisObj, com.oracle.truffle.api.object.DynamicObjectLibrary lazyRegexResultOriginalInput)
protected static final ArrayAccess arrayAccess()
public long getLength(com.oracle.truffle.api.object.DynamicObject thisObj)
public boolean setLength(com.oracle.truffle.api.object.DynamicObject thisObj,
long length,
boolean doThrow)
public String getBuiltinToStringTag(com.oracle.truffle.api.object.DynamicObject object)
JSClassgetBuiltinToStringTag in class JSNonProxyobject - object to be usedJSClass.defaultToString(DynamicObject)public final Object getOwnHelper(com.oracle.truffle.api.object.DynamicObject store, Object thisObj, Object key, com.oracle.truffle.api.nodes.Node encapsulatingNode)
JSNonProxynull if value is not present instead of undefined.getOwnHelper in class JSNonProxypublic final boolean set(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
JSClassset in class JSNonProxypublic boolean set(com.oracle.truffle.api.object.DynamicObject thisObj,
long index,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
set in class JSNonProxypublic boolean delete(com.oracle.truffle.api.object.DynamicObject thisObj,
long index,
boolean isStrict)
delete in class JSNonProxypublic Object getOwnHelper(com.oracle.truffle.api.object.DynamicObject store, Object thisObj, long index, com.oracle.truffle.api.nodes.Node encapsulatingNode)
JSNonProxynull if value is not present instead of undefined.getOwnHelper in class JSNonProxypublic static Object[] toArray(com.oracle.truffle.api.object.DynamicObject thisObj)
public final boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key)
hasOwnProperty in class JSNonProxypublic final boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
long index)
hasOwnProperty in class JSNonProxypublic List<Object> getOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject thisObj, boolean strings, boolean symbols)
JSClassgetOwnPropertyKeys in class JSNonProxyprotected static List<Object> ownPropertyKeysFastArray(com.oracle.truffle.api.object.DynamicObject thisObj, boolean strings, boolean symbols)
protected static List<Object> ownPropertyKeysSlowArray(com.oracle.truffle.api.object.DynamicObject thisObj, boolean strings, boolean symbols)
protected static long toArrayLengthOrRangeError(Object obj)
public boolean defineOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
PropertyDescriptor descriptor,
boolean doThrow)
JSClassdefineOwnProperty in class JSNonProxyprotected boolean defineOwnPropertyIndex(com.oracle.truffle.api.object.DynamicObject thisObj,
String name,
PropertyDescriptor descriptor,
boolean doThrow)
protected com.oracle.truffle.api.object.DynamicObject makeSlowArray(com.oracle.truffle.api.object.DynamicObject thisObj)
public boolean testIntegrityLevel(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean frozen)
JSNonProxytestIntegrityLevel in class JSNonProxypublic boolean setIntegrityLevel(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean freeze,
boolean doThrow)
JSClasssetIntegrityLevel in class JSNonProxypublic final boolean preventExtensions(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean doThrow)
JSClasspreventExtensions in class JSNonProxypublic boolean delete(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
boolean isStrict)
JSClassdelete in class JSNonProxypublic boolean setPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj,
com.oracle.truffle.api.object.DynamicObject newPrototype)
JSClasssetPrototypeOf in class JSNonProxypublic PropertyDescriptor getOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj, Object key)
JSClassgetOwnProperty in class JSNonProxypublic static PropertyDescriptor ordinaryGetOwnPropertyArray(com.oracle.truffle.api.object.DynamicObject thisObj, Object key)
public String toDisplayStringImpl(com.oracle.truffle.api.object.DynamicObject obj, int depth, boolean allowSideEffects, JSContext context)
JSClasstoDisplayStringImpl in class JSNonProxydepth - allowed nesting depthcontext - the current language contextprotected boolean isSlowArray(com.oracle.truffle.api.object.DynamicObject thisObj)
public boolean usesOrdinaryGetOwnProperty()
usesOrdinaryGetOwnProperty in class JSNonProxy