Class JSDictionary
java.lang.Object
com.oracle.truffle.js.runtime.builtins.JSClass
com.oracle.truffle.js.runtime.builtins.JSNonProxy
com.oracle.truffle.js.runtime.builtins.JSDictionary
This is a variant of
JSOrdinary that stores its contents as a HashMap of properties
(excepts hidden properties, incl. prototype).-
Field Summary
FieldsFields inherited from class JSNonProxy
GET_SYMBOL_SPECIES_NAME -
Method Summary
Modifier and TypeMethodDescriptionstatic JSObjectbooleandefineOwnProperty(JSDynamicObject thisObj, Object key, PropertyDescriptor desc, boolean doThrow) 9.1.6 [[DefineOwnProperty]] (P, Desc).booleandelete(JSDynamicObject thisObj, long index, boolean isStrict) booleandelete(JSDynamicObject thisObj, Object key, boolean isStrict) 9.1.10 [[Delete]] (P).protected static booleandictionaryObjectSet(JSDynamicObject thisObj, Object key, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode) getOwnHelper(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).static ObjectgetValue(PropertyDescriptor property, Object receiver, com.oracle.truffle.api.nodes.Node encapsulatingNode) booleanhasOwnProperty(JSDynamicObject thisObj, Object key) static booleanstatic voidmakeDictionaryObject(JSDynamicObject obj, String reason) static com.oracle.truffle.api.object.ShapemakeDictionaryShape(JSContext context, JSDynamicObject prototype) booleanset(JSDynamicObject thisObj, long index, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode) 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).booleanMethods inherited from class JSNonProxy
checkProtoCycle, createSymbolSpeciesGetterFunction, deletePropertyDefault, getHelper, getHelper, getMethodHelper, getOwnHelper, getPrototypeOf, hasOnlyShapeProperties, hasOwnProperty, hasProperty, hasProperty, invokeAccessorPropertySetter, isExtensible, ordinaryGetOwnProperty, ordinaryGetOwnPropertyIntl, ordinaryIsExtensible, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeysSlow, ordinaryPreventExtensions, ordinarySet, ordinarySetIndex, ordinarySetWithReceiver, performOrdinarySetWithOwnDescriptor, preventExtensions, putConstructorSpeciesGetter, setIntegrityLevelFast, setPropertySlow, setPrototypeOf, testIntegrityLevelFast, usesOrdinaryIsExtensibleMethods inherited from class JSClass
filterOwnPropertyKeys, get, get, getIntrinsicDefaultProto, isInstance, isInstance, isInstance, isInstance, makeInitialShape, ownPropertyKeys, toString
-
Field Details
-
INSTANCE
-
-
Method Details
-
isJSDictionaryObject
-
getOwnHelper
public Object getOwnHelper(JSDynamicObject store, Object thisObj, Object key, com.oracle.truffle.api.nodes.Node encapsulatingNode) Like getOwnProperty, but returnsnullif value is not present instead of undefined.- Overrides:
getOwnHelperin classJSNonProxy
-
getValue
public static Object getValue(PropertyDescriptor property, Object receiver, com.oracle.truffle.api.nodes.Node encapsulatingNode) -
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
-
delete
-
delete
- Overrides:
deletein classJSNonProxy
-
hasOwnProperty
- Overrides:
hasOwnPropertyin 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
-
set
public 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
-
dictionaryObjectSet
protected static boolean dictionaryObjectSet(JSDynamicObject thisObj, Object key, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode) -
getOwnProperty
Description copied from class:JSClass9.1.5 [[GetOwnProperty]] (P).- Overrides:
getOwnPropertyin classJSNonProxy
-
defineOwnProperty
public boolean defineOwnProperty(JSDynamicObject thisObj, Object key, PropertyDescriptor desc, boolean doThrow) Description copied from class:JSClass9.1.6 [[DefineOwnProperty]] (P, Desc).- Overrides:
defineOwnPropertyin classJSNonProxy
-
makeDictionaryObject
-
makeDictionaryShape
public static com.oracle.truffle.api.object.Shape makeDictionaryShape(JSContext context, JSDynamicObject prototype) -
create
-
usesOrdinaryGetOwnProperty
public boolean usesOrdinaryGetOwnProperty()- Overrides:
usesOrdinaryGetOwnPropertyin classJSNonProxy
-