public final class JSDictionary extends JSNonProxy
JSOrdinary that stores its contents as a HashMap of properties
(excepts hidden properties, incl. prototype).| Type | Property and Description |
|---|---|
boolean |
usesOrdinaryGetOwn |
| Modifier and Type | Field and Description |
|---|---|
static JSDictionary |
INSTANCE |
GET_SYMBOL_SPECIES_NAME| Modifier and Type | Method and Description |
|---|---|
static JSObject |
create(JSContext context,
JSRealm realm) |
boolean |
defineOwnProperty(JSDynamicObject thisObj,
Object key,
PropertyDescriptor desc,
boolean doThrow)
9.1.6 [[DefineOwnProperty]] (P, Desc).
|
boolean |
delete(JSDynamicObject thisObj,
long index,
boolean isStrict) |
boolean |
delete(JSDynamicObject thisObj,
Object key,
boolean isStrict)
9.1.10 [[Delete]] (P).
|
protected static boolean |
dictionaryObjectSet(JSDynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
com.oracle.truffle.api.strings.TruffleString |
getClassName(JSDynamicObject object)
The [[Class]] internal property.
|
Object |
getOwnHelper(JSDynamicObject 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(JSDynamicObject thisObj,
Object key)
9.1.5 [[GetOwnProperty]] (P).
|
List<Object> |
getOwnPropertyKeys(JSDynamicObject thisObj,
boolean strings,
boolean symbols)
GetOwnPropertyKeys (O, type).
|
static Object |
getValue(PropertyDescriptor property,
Object receiver,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
boolean |
hasOwnProperty(JSDynamicObject thisObj,
Object key) |
static boolean |
isJSDictionaryObject(JSDynamicObject obj) |
static boolean |
isJSDictionaryObject(Object obj) |
static void |
makeDictionaryObject(JSDynamicObject obj,
String reason) |
static com.oracle.truffle.api.object.Shape |
makeDictionaryShape(JSContext context,
JSDynamicObject prototype) |
boolean |
set(JSDynamicObject thisObj,
long index,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
boolean |
set(JSDynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
9.1.9 [[Set]] (P, V, Receiver).
|
com.oracle.truffle.api.strings.TruffleString |
toDisplayStringImpl(JSDynamicObject obj,
boolean allowSideEffects,
ToDisplayStringFormat format,
int depth)
A more informative toString variant, mainly used for error messages.
|
boolean |
usesOrdinaryGetOwnProperty() |
checkProtoCycle, createSymbolSpeciesGetterFunction, deletePropertyDefault, getBuiltinToStringTag, getHelper, getHelper, getMethodHelper, getOwnHelper, getPrototypeOf, hasOnlyShapeProperties, hasOwnProperty, hasProperty, hasProperty, invokeAccessorPropertySetter, isExtensible, ordinaryGetOwnProperty, ordinaryGetOwnPropertyIntl, ordinaryIsExtensible, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeysSlow, ordinarySet, ordinarySetIndex, ordinarySetWithReceiver, performOrdinarySetWithOwnDescriptor, preventExtensions, preventExtensionsImpl, putConstructorSpeciesGetter, setIntegrityLevel, setIntegrityLevelFast, setPropertySlow, setPrototypeOf, testIntegrityLevel, testIntegrityLevelFast, toString, usesOrdinaryIsExtensibledefaultToString, filterOwnPropertyKeys, formatToString, get, get, getIntrinsicDefaultProto, getToStringTag, isInstance, isInstance, isInstance, isInstance, makeInitialShape, ownPropertyKeys, testIntegrityLevelDefaultpublic boolean usesOrdinaryGetOwnProperty
usesOrdinaryGetOwnProperty in class JSNonProxypublic static final JSDictionary INSTANCE
public static boolean isJSDictionaryObject(Object obj)
public static boolean isJSDictionaryObject(JSDynamicObject obj)
public com.oracle.truffle.api.strings.TruffleString getClassName(JSDynamicObject object)
JSClassgetClassName in class JSClassobject - object to be usedpublic com.oracle.truffle.api.strings.TruffleString toDisplayStringImpl(JSDynamicObject obj, boolean allowSideEffects, ToDisplayStringFormat format, int depth)
JSClasstoDisplayStringImpl in class JSNonProxyformat - formatting parametersdepth - current nesting depthpublic Object getOwnHelper(JSDynamicObject store, Object thisObj, Object key, com.oracle.truffle.api.nodes.Node encapsulatingNode)
null if value is not present instead of undefined.getOwnHelper in class JSNonProxypublic static Object getValue(PropertyDescriptor property, Object receiver, com.oracle.truffle.api.nodes.Node encapsulatingNode)
public List<Object> getOwnPropertyKeys(JSDynamicObject thisObj, boolean strings, boolean symbols)
JSClassgetOwnPropertyKeys in class JSNonProxypublic boolean delete(JSDynamicObject thisObj, Object key, boolean isStrict)
JSClassdelete in class JSNonProxypublic boolean delete(JSDynamicObject thisObj, long index, boolean isStrict)
delete in class JSNonProxypublic boolean hasOwnProperty(JSDynamicObject thisObj, Object key)
hasOwnProperty in class JSNonProxypublic boolean set(JSDynamicObject thisObj, long index, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode)
set in class JSNonProxypublic boolean set(JSDynamicObject thisObj, Object key, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode)
JSClassset in class JSNonProxyprotected static boolean dictionaryObjectSet(JSDynamicObject thisObj, Object key, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode)
public PropertyDescriptor getOwnProperty(JSDynamicObject thisObj, Object key)
JSClassgetOwnProperty in class JSNonProxypublic boolean defineOwnProperty(JSDynamicObject thisObj, Object key, PropertyDescriptor desc, boolean doThrow)
JSClassdefineOwnProperty in class JSNonProxypublic static void makeDictionaryObject(JSDynamicObject obj, String reason)
public static com.oracle.truffle.api.object.Shape makeDictionaryShape(JSContext context, JSDynamicObject prototype)
public boolean usesOrdinaryGetOwnProperty()
usesOrdinaryGetOwnProperty in class JSNonProxy