public final class JSObjectUtil extends Object
DynamicObject| Modifier and Type | Method and Description |
|---|---|
static Map<Object,Object> |
archive(com.oracle.truffle.api.object.DynamicObject obj) |
static void |
changePropertyFlags(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
int flags) |
static <T> T |
checkForNoSuchPropertyOrMethod(JSContext context,
T key) |
static <T extends com.oracle.truffle.api.object.DynamicObject> |
copyProperties(T target,
com.oracle.truffle.api.object.DynamicObject source) |
static com.oracle.truffle.api.object.DynamicObjectLibrary |
createCached(Object key,
com.oracle.truffle.api.object.DynamicObject obj) |
static com.oracle.truffle.api.object.DynamicObjectLibrary |
createDispatched(Object key) |
static com.oracle.truffle.api.object.DynamicObjectLibrary |
createDispatched(Object key,
int limit) |
static com.oracle.truffle.api.object.DynamicObject |
createOrdinaryPrototypeObject(JSRealm realm) |
static com.oracle.truffle.api.object.DynamicObject |
createOrdinaryPrototypeObject(JSRealm realm,
com.oracle.truffle.api.object.DynamicObject prototype) |
static com.oracle.truffle.api.object.DynamicObject |
createSymbolSpeciesGetterFunction(JSRealm realm) |
static void |
defineAccessorProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Accessor accessor,
int flags) |
static void |
defineDataProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
int flags) |
static void |
defineDataProperty(JSContext context,
com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
int flags) |
static void |
defineProxyProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
PropertyProxy proxy,
int flags) |
static String |
formatToString(String object)
Formats
JSDynamicObject.defaultToString(), by default returns "[object ...]". |
static Object |
getHiddenProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key) |
static com.oracle.truffle.api.object.Shape |
getProtoChildShape(com.oracle.truffle.api.object.DynamicObject 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(com.oracle.truffle.api.object.DynamicObject obj,
JSClass jsclass,
JSContext context,
com.oracle.truffle.api.profiles.BranchProfile branchProfile) |
static JSDynamicObject |
getPrototype(com.oracle.truffle.api.object.DynamicObject thisObj) |
static boolean |
hasHiddenProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key) |
static boolean |
isNoSuchPropertyOrMethod(Object key) |
static boolean |
isValidPrototype(Object proto) |
static void |
putAccessorProperty(JSContext context,
com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Accessor accessor,
int flags) |
static void |
putAccessorProperty(JSContext context,
com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
com.oracle.truffle.api.object.DynamicObject getter,
com.oracle.truffle.api.object.DynamicObject setter,
int flags) |
static void |
putBuiltinAccessorProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Accessor accessor) |
static void |
putBuiltinAccessorProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Accessor accessor,
int flags) |
static void |
putBuiltinAccessorProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
com.oracle.truffle.api.object.DynamicObject getter,
com.oracle.truffle.api.object.DynamicObject setter) |
static void |
putBuiltinAccessorProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
com.oracle.truffle.api.object.DynamicObject getter,
com.oracle.truffle.api.object.DynamicObject setter,
int flags) |
static void |
putConstructorProperty(JSContext context,
com.oracle.truffle.api.object.DynamicObject prototype,
com.oracle.truffle.api.object.DynamicObject constructor) |
static void |
putConstructorPrototypeProperty(JSContext ctx,
com.oracle.truffle.api.object.DynamicObject constructor,
com.oracle.truffle.api.object.DynamicObject prototype) |
static void |
putDataProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object name,
Object value,
int flags) |
static void |
putDataProperty(JSContext context,
com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
int flags) |
static void |
putDataProperty(JSContext context,
com.oracle.truffle.api.object.DynamicObject thisObj,
String name,
Object value) |
static void |
putDeclaredDataProperty(JSContext context,
com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
int flags) |
static void |
putFunctionsFromContainer(JSRealm realm,
com.oracle.truffle.api.object.DynamicObject thisObj,
JSBuiltinsContainer container) |
static void |
putHiddenProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
Object value) |
static void |
putOrSetDataProperty(JSContext context,
com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
int flags) |
static JSPrototypeData |
putPrototypeData(com.oracle.truffle.api.object.DynamicObject obj) |
static void |
putProxyProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
PropertyProxy proxy,
int flags) |
static void |
putToStringTag(com.oracle.truffle.api.object.DynamicObject prototype,
String toStringTag) |
static void |
setOrVerifyPrototype(JSContext context,
com.oracle.truffle.api.object.DynamicObject obj,
com.oracle.truffle.api.object.DynamicObject prototype) |
static void |
setPrototypeImpl(com.oracle.truffle.api.object.DynamicObject object,
com.oracle.truffle.api.object.DynamicObject newPrototype) |
static com.oracle.truffle.api.object.Shape |
shapeDefineDataProperty(JSContext context,
com.oracle.truffle.api.object.Shape shape,
Object key,
Object value,
int flags) |
static com.oracle.truffle.api.object.Shape |
shapeDefineDeclaredDataProperty(JSContext context,
com.oracle.truffle.api.object.Shape shape,
Object key,
Object value,
int flags) |
public static String formatToString(String object)
JSDynamicObject.defaultToString(), by default returns "[object ...]".object - object to be usedpublic static com.oracle.truffle.api.object.DynamicObject createOrdinaryPrototypeObject(JSRealm realm)
public static com.oracle.truffle.api.object.DynamicObject createOrdinaryPrototypeObject(JSRealm realm, com.oracle.truffle.api.object.DynamicObject prototype)
public static void setOrVerifyPrototype(JSContext context, com.oracle.truffle.api.object.DynamicObject obj, com.oracle.truffle.api.object.DynamicObject prototype)
public static boolean isValidPrototype(Object proto)
public static com.oracle.truffle.api.object.Shape shapeDefineDataProperty(JSContext context, com.oracle.truffle.api.object.Shape shape, Object key, Object value, int flags)
public static com.oracle.truffle.api.object.Shape shapeDefineDeclaredDataProperty(JSContext context, com.oracle.truffle.api.object.Shape shape, Object key, Object value, int flags)
public static void putDataProperty(JSContext context, com.oracle.truffle.api.object.DynamicObject thisObj, Object key, Object value, int flags)
public static void putDataProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object name,
Object value,
int flags)
public static void defineDataProperty(JSContext context, com.oracle.truffle.api.object.DynamicObject thisObj, Object key, Object value, int flags)
public static void defineDataProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
int flags)
public static void putOrSetDataProperty(JSContext context, com.oracle.truffle.api.object.DynamicObject thisObj, Object key, Object value, int flags)
public static void defineAccessorProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Accessor accessor,
int flags)
public static void defineProxyProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
PropertyProxy proxy,
int flags)
public static void changePropertyFlags(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
int flags)
public static void putDataProperty(JSContext context, com.oracle.truffle.api.object.DynamicObject thisObj, String name, Object value)
public static void putDeclaredDataProperty(JSContext context, com.oracle.truffle.api.object.DynamicObject thisObj, Object key, Object value, int flags)
public static void putConstructorProperty(JSContext context, com.oracle.truffle.api.object.DynamicObject prototype, com.oracle.truffle.api.object.DynamicObject constructor)
public static void putConstructorPrototypeProperty(JSContext ctx, com.oracle.truffle.api.object.DynamicObject constructor, com.oracle.truffle.api.object.DynamicObject prototype)
public static void putToStringTag(com.oracle.truffle.api.object.DynamicObject prototype,
String toStringTag)
public static void putAccessorProperty(JSContext context, com.oracle.truffle.api.object.DynamicObject thisObj, Object key, com.oracle.truffle.api.object.DynamicObject getter, com.oracle.truffle.api.object.DynamicObject setter, int flags)
public static void putAccessorProperty(JSContext context, com.oracle.truffle.api.object.DynamicObject thisObj, Object key, Accessor accessor, int flags)
public static void putBuiltinAccessorProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
com.oracle.truffle.api.object.DynamicObject getter,
com.oracle.truffle.api.object.DynamicObject setter)
public static void putBuiltinAccessorProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
com.oracle.truffle.api.object.DynamicObject getter,
com.oracle.truffle.api.object.DynamicObject setter,
int flags)
public static void putBuiltinAccessorProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Accessor accessor,
int flags)
public static void putBuiltinAccessorProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Accessor accessor)
public static void putProxyProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
PropertyProxy proxy,
int flags)
public static com.oracle.truffle.api.object.Shape getProtoChildShape(com.oracle.truffle.api.object.DynamicObject obj,
JSClass jsclass,
JSContext context)
public static com.oracle.truffle.api.object.Shape getProtoChildShape(com.oracle.truffle.api.object.DynamicObject obj,
JSClass jsclass,
JSContext context,
com.oracle.truffle.api.profiles.BranchProfile branchProfile)
public static JSPrototypeData putPrototypeData(com.oracle.truffle.api.object.DynamicObject obj)
public static void setPrototypeImpl(com.oracle.truffle.api.object.DynamicObject object,
com.oracle.truffle.api.object.DynamicObject newPrototype)
public static JSDynamicObject getPrototype(com.oracle.truffle.api.object.DynamicObject thisObj)
public static <T> T checkForNoSuchPropertyOrMethod(JSContext context, T key)
public static boolean isNoSuchPropertyOrMethod(Object key)
public static com.oracle.truffle.api.object.DynamicObject createSymbolSpeciesGetterFunction(JSRealm realm)
public static void putFunctionsFromContainer(JSRealm realm, com.oracle.truffle.api.object.DynamicObject thisObj, JSBuiltinsContainer container)
public static void putHiddenProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
Object value)
public static Object getHiddenProperty(com.oracle.truffle.api.object.DynamicObject obj, Object key)
public static boolean hasHiddenProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key)
public static com.oracle.truffle.api.object.DynamicObjectLibrary createCached(Object key, com.oracle.truffle.api.object.DynamicObject 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 com.oracle.truffle.api.object.DynamicObject> T copyProperties(T target,
com.oracle.truffle.api.object.DynamicObject source)