public final class JSObjectUtil extends Object
JSObject,
JSDynamicObject| Modifier and Type | Method and Description |
|---|---|
static Map<Object,Object> |
archive(JSDynamicObject obj) |
static void |
changePropertyFlags(JSDynamicObject thisObj,
Object key,
int flags) |
static <T> T |
checkForNoSuchPropertyOrMethod(JSContext context,
T key) |
static <T extends JSDynamicObject> |
copyProperties(T target,
JSDynamicObject source) |
static com.oracle.truffle.api.object.DynamicObjectLibrary |
createCached(Object key,
JSDynamicObject obj) |
static com.oracle.truffle.api.object.DynamicObjectLibrary |
createDispatched(Object key) |
static com.oracle.truffle.api.object.DynamicObjectLibrary |
createDispatched(Object key,
int limit) |
static JSObject |
createOrdinaryPrototypeObject(JSRealm realm) |
static JSObject |
createOrdinaryPrototypeObject(JSRealm realm,
JSDynamicObject prototype) |
static JSDynamicObject |
createSymbolSpeciesGetterFunction(JSRealm realm) |
static void |
defineAccessorProperty(JSContext context,
JSDynamicObject thisObj,
Object key,
Accessor accessor,
int flags) |
static void |
defineAccessorProperty(JSContext context,
JSDynamicObject thisObj,
Object key,
JSDynamicObject getter,
JSDynamicObject setter,
int flags) |
static void |
defineAccessorProperty(JSDynamicObject thisObj,
Object key,
Accessor accessor,
int flags) |
static void |
defineConstantDataProperty(JSContext context,
JSDynamicObject thisObj,
Object key,
Object value,
int flags) |
static void |
defineDataProperty(JSContext context,
JSDynamicObject thisObj,
Object key,
Object value,
int flags) |
static void |
defineDataProperty(JSDynamicObject thisObj,
Object key,
Object value,
int flags) |
static void |
defineProxyProperty(JSDynamicObject thisObj,
Object key,
PropertyProxy proxy,
int flags) |
static com.oracle.truffle.api.strings.TruffleString |
formatToString(com.oracle.truffle.api.strings.TruffleString object)
Formats
JSDynamicObject.defaultToString(), by default returns "[object ...]". |
static Object |
getHiddenProperty(JSDynamicObject obj,
Object key) |
static com.oracle.truffle.api.object.Shape |
getProtoChildShape(JSDynamicObject obj,
JSClass jsclass,
JSContext context)
Get or create a prototype child shape inheriting from this object, migrating the object to a
unique shape in the process.
|
static com.oracle.truffle.api.object.Shape |
getProtoChildShape(JSDynamicObject obj,
JSClass jsclass,
JSContext context,
com.oracle.truffle.api.nodes.Node node,
com.oracle.truffle.api.profiles.InlinedBranchProfile branchProfile) |
static JSDynamicObject |
getPrototype(JSDynamicObject thisObj) |
static boolean |
hasHiddenProperty(JSDynamicObject obj,
Object key) |
static boolean |
isNoSuchPropertyOrMethod(Object key) |
static boolean |
isValidPrototype(Object proto) |
static void |
putAccessorsFromContainer(JSRealm realm,
JSDynamicObject thisObj,
JSBuiltinsContainer container) |
static void |
putBuiltinAccessorProperty(JSDynamicObject thisObj,
Object key,
Accessor accessor) |
static void |
putBuiltinAccessorProperty(JSDynamicObject thisObj,
Object key,
Accessor accessor,
int flags)
Adds a new accessor property with a known key that does not need to be checked against any
assumptions, i.e.
|
static void |
putBuiltinAccessorProperty(JSDynamicObject thisObj,
Object key,
JSDynamicObject getter,
JSDynamicObject setter) |
static void |
putBuiltinAccessorProperty(JSDynamicObject thisObj,
Object key,
JSDynamicObject getter,
JSDynamicObject setter,
int flags) |
static void |
putConstructorProperty(JSDynamicObject prototype,
JSDynamicObject constructor) |
static void |
putConstructorPrototypeProperty(JSDynamicObject constructor,
JSDynamicObject prototype) |
static void |
putDataProperty(JSDynamicObject thisObj,
Object name,
Object value) |
static void |
putDataProperty(JSDynamicObject thisObj,
Object key,
Object value,
int flags)
Adds a new data property with a known key that does not need to be checked against any
assumptions, i.e.
|
static void |
putFunctionsFromContainer(JSRealm realm,
JSDynamicObject thisObj,
JSBuiltinsContainer container) |
static void |
putHiddenProperty(JSDynamicObject obj,
Object key,
Object value) |
static JSPrototypeData |
putPrototypeData(JSDynamicObject obj) |
static void |
putProxyProperty(JSDynamicObject thisObj,
Object key,
PropertyProxy proxy,
int flags) |
static void |
putToStringTag(JSDynamicObject prototype,
com.oracle.truffle.api.strings.TruffleString toStringTag) |
static void |
setOrVerifyPrototype(JSContext context,
JSDynamicObject obj,
JSDynamicObject prototype) |
static void |
setPrototypeImpl(JSDynamicObject object,
JSDynamicObject newPrototype) |
public static com.oracle.truffle.api.strings.TruffleString formatToString(com.oracle.truffle.api.strings.TruffleString object)
JSDynamicObject.defaultToString(), by default returns "[object ...]".object - object to be usedpublic static JSObject createOrdinaryPrototypeObject(JSRealm realm, JSDynamicObject prototype)
public static void setOrVerifyPrototype(JSContext context, JSDynamicObject obj, JSDynamicObject prototype)
public static boolean isValidPrototype(Object proto)
public static void defineDataProperty(JSContext context, JSDynamicObject thisObj, Object key, Object value, int flags)
public static void defineDataProperty(JSDynamicObject thisObj, Object key, Object value, int flags)
public static void defineAccessorProperty(JSDynamicObject thisObj, Object key, Accessor accessor, int flags)
public static void defineAccessorProperty(JSContext context, JSDynamicObject thisObj, Object key, Accessor accessor, int flags)
public static void defineAccessorProperty(JSContext context, JSDynamicObject thisObj, Object key, JSDynamicObject getter, JSDynamicObject setter, int flags)
public static void defineProxyProperty(JSDynamicObject thisObj, Object key, PropertyProxy proxy, int flags)
public static void changePropertyFlags(JSDynamicObject thisObj, Object key, int flags)
public static void defineConstantDataProperty(JSContext context, JSDynamicObject thisObj, Object key, Object value, int flags)
public static void putDataProperty(JSDynamicObject thisObj, Object key, Object value, int flags)
public static void putDataProperty(JSDynamicObject thisObj, Object name, Object value)
public static void putConstructorProperty(JSDynamicObject prototype, JSDynamicObject constructor)
public static void putConstructorPrototypeProperty(JSDynamicObject constructor, JSDynamicObject prototype)
public static void putToStringTag(JSDynamicObject prototype, com.oracle.truffle.api.strings.TruffleString toStringTag)
public static void putBuiltinAccessorProperty(JSDynamicObject thisObj, Object key, JSDynamicObject getter, JSDynamicObject setter)
public static void putBuiltinAccessorProperty(JSDynamicObject thisObj, Object key, JSDynamicObject getter, JSDynamicObject setter, int flags)
public static void putBuiltinAccessorProperty(JSDynamicObject thisObj, Object key, Accessor accessor, int flags)
public static void putBuiltinAccessorProperty(JSDynamicObject thisObj, Object key, Accessor accessor)
public static void putProxyProperty(JSDynamicObject thisObj, Object key, PropertyProxy proxy, int flags)
public static com.oracle.truffle.api.object.Shape getProtoChildShape(JSDynamicObject obj, JSClass jsclass, JSContext context)
public static com.oracle.truffle.api.object.Shape getProtoChildShape(JSDynamicObject obj, JSClass jsclass, JSContext context, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.profiles.InlinedBranchProfile branchProfile)
public static JSPrototypeData putPrototypeData(JSDynamicObject obj)
public static Map<Object,Object> archive(JSDynamicObject obj)
public static void setPrototypeImpl(JSDynamicObject object, JSDynamicObject newPrototype)
public static JSDynamicObject getPrototype(JSDynamicObject thisObj)
public static <T> T checkForNoSuchPropertyOrMethod(JSContext context, T key)
public static boolean isNoSuchPropertyOrMethod(Object key)
public static JSDynamicObject createSymbolSpeciesGetterFunction(JSRealm realm)
public static void putFunctionsFromContainer(JSRealm realm, JSDynamicObject thisObj, JSBuiltinsContainer container)
public static void putAccessorsFromContainer(JSRealm realm, JSDynamicObject thisObj, JSBuiltinsContainer container)
public static void putHiddenProperty(JSDynamicObject obj, Object key, Object value)
public static Object getHiddenProperty(JSDynamicObject obj, Object key)
public static boolean hasHiddenProperty(JSDynamicObject obj, Object key)
public static com.oracle.truffle.api.object.DynamicObjectLibrary createCached(Object key, JSDynamicObject obj)
public static com.oracle.truffle.api.object.DynamicObjectLibrary createDispatched(Object key, int limit)
public static com.oracle.truffle.api.object.DynamicObjectLibrary createDispatched(Object key)
public static <T extends JSDynamicObject> T copyProperties(T target, JSDynamicObject source)