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 String |
CLASS_NAME |
static JSDictionary |
INSTANCE |
EMPTY_STRING_ARRAY| Modifier and Type | Method and Description |
|---|---|
static com.oracle.truffle.api.object.DynamicObject |
create(JSContext context) |
boolean |
defineOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
PropertyDescriptor desc,
boolean doThrow)
9.1.6 [[DefineOwnProperty]] (P, Desc).
|
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).
|
protected static boolean |
dictionaryObjectSet(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
String |
getClassName(com.oracle.truffle.api.object.DynamicObject object)
The [[Class]] internal property.
|
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).
|
static Object |
getValue(PropertyDescriptor property,
Object receiver,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key) |
static boolean |
isJSDictionaryObject(com.oracle.truffle.api.object.DynamicObject obj) |
static boolean |
isJSDictionaryObject(Object obj) |
static void |
makeDictionaryObject(com.oracle.truffle.api.object.DynamicObject obj,
String reason) |
static com.oracle.truffle.api.object.Shape |
makeDictionaryShape(JSContext context,
com.oracle.truffle.api.object.DynamicObject prototype) |
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).
|
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, getBuiltinToStringTag, getHelper, getHelper, getMethodHelper, getOwnHelper, getPrototypeOf, hasOnlyShapeProperties, hasOwnProperty, hasProperty, hasProperty, invokeAccessorPropertySetter, isExtensible, ordinaryGetOwnProperty, ordinaryGetOwnPropertyIntl, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeysSlow, ordinarySet, ordinarySetIndex, ordinarySetWithReceiver, performOrdinarySetWithOwnDescriptor, preventExtensions, preventExtensionsImpl, putConstructorSpeciesGetter, setIntegrityLevel, setIntegrityLevelFast, setPropertySlow, setPrototypeOf, testIntegrityLevel, testIntegrityLevelFast, toString, usesOrdinaryIsExtensibledefaultToString, filterOwnPropertyKeys, formatToString, get, get, getToStringTag, isInstance, isInstance, isInstance, isInstance, makeInitialShape, ownPropertyKeys, testIntegrityLevelDefaultpublic boolean usesOrdinaryGetOwnProperty
usesOrdinaryGetOwnProperty in class JSNonProxypublic static final String CLASS_NAME
public static final JSDictionary INSTANCE
public static boolean isJSDictionaryObject(Object obj)
public static boolean isJSDictionaryObject(com.oracle.truffle.api.object.DynamicObject obj)
public String getClassName(com.oracle.truffle.api.object.DynamicObject object)
JSClassgetClassName in class JSClassobject - object to be usedpublic 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 contextpublic Object getOwnHelper(com.oracle.truffle.api.object.DynamicObject 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(com.oracle.truffle.api.object.DynamicObject thisObj, boolean strings, boolean symbols)
JSClassgetOwnPropertyKeys in class JSNonProxypublic boolean delete(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
boolean isStrict)
JSClassdelete in class JSNonProxypublic boolean delete(com.oracle.truffle.api.object.DynamicObject thisObj,
long index,
boolean isStrict)
delete in class JSNonProxypublic boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key)
hasOwnProperty 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 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 JSNonProxyprotected static boolean dictionaryObjectSet(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
public PropertyDescriptor getOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj, Object key)
JSClassgetOwnProperty in class JSNonProxypublic boolean defineOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
PropertyDescriptor desc,
boolean doThrow)
JSClassdefineOwnProperty in class JSNonProxypublic static void makeDictionaryObject(com.oracle.truffle.api.object.DynamicObject obj,
String reason)
public static com.oracle.truffle.api.object.Shape makeDictionaryShape(JSContext context, com.oracle.truffle.api.object.DynamicObject prototype)
public static com.oracle.truffle.api.object.DynamicObject create(JSContext context)
public boolean usesOrdinaryGetOwnProperty()
usesOrdinaryGetOwnProperty in class JSNonProxy