public abstract class JSObject extends JSDynamicObject
| Modifier and Type | Class and Description |
|---|---|
static class |
JSObject.GetMembers |
JSDynamicObject.IsIdenticalOrUndefined| Modifier and Type | Field and Description |
|---|---|
static String |
CONSTRUCTOR |
protected static String[] |
EMPTY_STRING_ARRAY |
static com.oracle.truffle.api.object.HiddenKey |
HIDDEN_PROTO |
static String |
NO_SUCH_METHOD_NAME |
static String |
NO_SUCH_PROPERTY_NAME |
static String |
PROTO |
static String |
PROTOTYPE |
| Modifier | Constructor and Description |
|---|---|
protected |
JSObject(com.oracle.truffle.api.object.Shape shape) |
| Modifier and Type | Method and Description |
|---|---|
protected JSObject |
copyWithoutProperties(com.oracle.truffle.api.object.Shape shape) |
static String |
defaultToString(com.oracle.truffle.api.object.DynamicObject obj) |
static boolean |
defineOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
PropertyDescriptor desc) |
static boolean |
defineOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
PropertyDescriptor desc,
boolean doThrow) |
static boolean |
delete(com.oracle.truffle.api.object.DynamicObject obj,
long index) |
static boolean |
delete(com.oracle.truffle.api.object.DynamicObject obj,
long index,
boolean isStrict) |
static boolean |
delete(com.oracle.truffle.api.object.DynamicObject obj,
long index,
boolean isStrict,
JSClassProfile classProfile) |
static boolean |
delete(com.oracle.truffle.api.object.DynamicObject obj,
Object key) |
static boolean |
delete(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
boolean isStrict) |
static boolean |
delete(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
boolean isStrict,
JSClassProfile classProfile) |
static List<String> |
enumerableOwnNames(com.oracle.truffle.api.object.DynamicObject thisObj)
7.3.21 EnumerableOwnNames (O).
|
protected static String[] |
filterEnumerableNames(com.oracle.truffle.api.object.DynamicObject target,
Iterable<Object> ownKeys,
JSClass jsclass) |
static Object |
get(com.oracle.truffle.api.object.DynamicObject obj,
long index) |
static Object |
get(com.oracle.truffle.api.object.DynamicObject obj,
long index,
JSClassProfile jsclassProfile) |
static Object |
get(com.oracle.truffle.api.object.DynamicObject obj,
Object key) |
static Object |
get(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
JSClassProfile jsclassProfile) |
static Object |
get(com.oracle.truffle.api.interop.TruffleObject obj,
long index) |
static Object |
get(com.oracle.truffle.api.interop.TruffleObject obj,
Object key) |
static ScriptArray |
getArray(com.oracle.truffle.api.object.DynamicObject obj) |
static String |
getClassName(com.oracle.truffle.api.object.DynamicObject obj)
The property [[Class]] of the object.
|
Object |
getIterator(JavaScriptLanguage language,
JSRealm realm,
JSInteropGetIteratorNode getIteratorNode) |
static JSClass |
getJSClass(com.oracle.truffle.api.object.DynamicObject obj) |
static JSContext |
getJSContext(com.oracle.truffle.api.object.DynamicObject obj) |
Class<? extends com.oracle.truffle.api.TruffleLanguage<?>> |
getLanguage() |
static Object |
getMethod(com.oracle.truffle.api.object.DynamicObject obj,
Object name) |
static Object |
getOrDefault(com.oracle.truffle.api.object.DynamicObject obj,
long index,
Object receiver,
Object defaultValue) |
static Object |
getOrDefault(com.oracle.truffle.api.object.DynamicObject obj,
long index,
Object receiver,
Object defaultValue,
JSClassProfile jsclassProfile,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
static Object |
getOrDefault(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
Object receiver,
Object defaultValue) |
static Object |
getOrDefault(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
Object receiver,
Object defaultValue,
JSClassProfile jsclassProfile,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
static PropertyDescriptor |
getOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key) |
static PropertyDescriptor |
getOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
JSClassProfile classProfile) |
static com.oracle.truffle.api.object.DynamicObject |
getPrototype(com.oracle.truffle.api.object.DynamicObject obj) |
static com.oracle.truffle.api.object.DynamicObject |
getPrototype(com.oracle.truffle.api.object.DynamicObject obj,
JSClassProfile jsclassProfile) |
static ReadElementNode |
getUncachedRead() |
static WriteElementNode |
getUncachedWrite() |
static Object |
getWithReceiver(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
Object receiver,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
static boolean |
hasArray(Object obj) |
boolean |
hasIterator(JavaScriptLanguage language,
JSInteropGetIteratorNode getIteratorNode) |
boolean |
hasLanguage() |
boolean |
hasMemberReadSideEffects(String key,
KeyInfoNode keyInfo) |
boolean |
hasMembers() |
boolean |
hasMemberWriteSideEffects(String key,
KeyInfoNode keyInfo) |
static boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
long index) |
static boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
long index,
JSClassProfile classProfile) |
static boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key) |
static boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
JSClassProfile classProfile) |
static boolean |
hasProperty(com.oracle.truffle.api.object.DynamicObject obj,
long index) |
static boolean |
hasProperty(com.oracle.truffle.api.object.DynamicObject obj,
long index,
JSClassProfile classProfile) |
static boolean |
hasProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key) |
static boolean |
hasProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
JSClassProfile classProfile) |
Object |
invokeMember(String id,
Object[] args,
JavaScriptLanguage language,
JSRealm realm,
JSInteropInvokeNode callNode,
ExportValueNode exportNode) |
static boolean |
isExtensible(com.oracle.truffle.api.object.DynamicObject obj) |
static boolean |
isExtensible(com.oracle.truffle.api.object.DynamicObject obj,
JSClassProfile classProfile) |
static boolean |
isFrozen(com.oracle.truffle.api.object.DynamicObject obj) |
static boolean |
isJSObject(Object object)
Returns whether object is a proper JavaScript Object.
|
boolean |
isMemberInsertable(String key,
KeyInfoNode keyInfo) |
boolean |
isMemberInvocable(String key,
KeyInfoNode keyInfo) |
boolean |
isMemberModifiable(String key,
KeyInfoNode keyInfo) |
boolean |
isMemberReadable(String key,
KeyInfoNode keyInfo) |
boolean |
isMemberRemovable(String key,
KeyInfoNode keyInfo) |
static boolean |
isSealed(com.oracle.truffle.api.object.DynamicObject obj) |
static Object |
ordinaryToPrimitive(com.oracle.truffle.api.object.DynamicObject obj,
String hint)
ES2018 7.1.1.1 OrdinaryToPrimitive.
|
static List<Object> |
ownPropertyKeys(com.oracle.truffle.api.object.DynamicObject obj)
[[OwnPropertyKeys]].
|
static List<Object> |
ownPropertyKeys(com.oracle.truffle.api.object.DynamicObject obj,
JSClassProfile classProfile) |
static boolean |
preventExtensions(com.oracle.truffle.api.object.DynamicObject obj) |
static boolean |
preventExtensions(com.oracle.truffle.api.object.DynamicObject obj,
boolean doThrow) |
Object |
readMember(String key,
com.oracle.truffle.api.TruffleLanguage.LanguageReference<JavaScriptLanguage> languageRef,
ReadElementNode readNode,
boolean bindMemberFunctions,
ExportValueNode exportNode) |
void |
removeMember(String key) |
static boolean |
set(com.oracle.truffle.api.object.DynamicObject obj,
long index,
Object value) |
static boolean |
set(com.oracle.truffle.api.object.DynamicObject obj,
long index,
Object value,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
static boolean |
set(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
Object value) |
static boolean |
set(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
Object value,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
static void |
setArray(com.oracle.truffle.api.object.DynamicObject obj,
ScriptArray array) |
static boolean |
setIntegrityLevel(com.oracle.truffle.api.object.DynamicObject obj,
boolean freeze) |
static boolean |
setIntegrityLevel(com.oracle.truffle.api.object.DynamicObject obj,
boolean freeze,
boolean doThrow) |
static boolean |
setPrototype(com.oracle.truffle.api.object.DynamicObject obj,
com.oracle.truffle.api.object.DynamicObject newPrototype) |
static boolean |
setPrototype(com.oracle.truffle.api.object.DynamicObject obj,
com.oracle.truffle.api.object.DynamicObject newPrototype,
JSClassProfile jsclassProfile) |
static boolean |
setWithReceiver(com.oracle.truffle.api.object.DynamicObject obj,
long index,
Object value,
Object receiver,
boolean isStrict,
JSClassProfile classProfile,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
static boolean |
setWithReceiver(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
Object value,
Object receiver,
boolean isStrict,
JSClassProfile classProfile,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
[[Set]] with a receiver different than the default.
|
static boolean |
testIntegrityLevel(com.oracle.truffle.api.object.DynamicObject obj,
boolean frozen) |
Object |
toDisplayString(boolean allowSideEffects) |
static String |
toDisplayString(com.oracle.truffle.api.object.DynamicObject obj,
int depth,
boolean allowSideEffects) |
static Object |
toPrimitive(com.oracle.truffle.api.object.DynamicObject obj) |
static Object |
toPrimitive(com.oracle.truffle.api.object.DynamicObject obj,
String hint)
ES2015 7.1.1 ToPrimitive in case an Object is passed.
|
void |
writeMember(String key,
Object value,
KeyInfoNode keyInfo,
ImportValueNode castValueNode,
com.oracle.truffle.api.TruffleLanguage.LanguageReference<JavaScriptLanguage> languageRef,
WriteElementNode writeNode) |
defaultToString, defineOwnProperty, delete, delete, getBuiltinToStringTag, getClassName, getDynamicType, getHelper, getHelper, getIntOrDefault, getJSClass, getJSContext, getJSSharedData, getKeyArray, getMethodHelper, getObjectFlags, getOrDefault, getOrNull, getOwnHelper, getOwnHelper, getOwnProperty, getOwnPropertyKeys, getProperty, getPropertyArray, getPropertyFlags, getPrototypeOf, getValue, getValue, hasOnlyShapeProperties, hasOwnProperty, hasOwnProperty, hasProperty, hasProperty, identityHashCode, isExtensible, isJSDynamicObject, ownPropertyKeys, preventExtensions, removeKey, set, set, setIntegrityLevel, setJSClass, setObjectFlags, setPropertyFlags, setPrototypeOf, testIntegrityLevel, testProperties, toDisplayStringImpl, toString, updatePropertyFlagspublic static final String CONSTRUCTOR
public static final String PROTOTYPE
public static final String PROTO
public static final com.oracle.truffle.api.object.HiddenKey HIDDEN_PROTO
public static final String NO_SUCH_PROPERTY_NAME
public static final String NO_SUCH_METHOD_NAME
protected static final String[] EMPTY_STRING_ARRAY
protected JSObject copyWithoutProperties(com.oracle.truffle.api.object.Shape shape)
public static boolean isJSObject(Object object)
public final boolean hasMembers()
protected static String[] filterEnumerableNames(com.oracle.truffle.api.object.DynamicObject target, Iterable<Object> ownKeys, JSClass jsclass)
public final Object readMember(String key, com.oracle.truffle.api.TruffleLanguage.LanguageReference<JavaScriptLanguage> languageRef, ReadElementNode readNode, boolean bindMemberFunctions, ExportValueNode exportNode) throws com.oracle.truffle.api.interop.UnknownIdentifierException
com.oracle.truffle.api.interop.UnknownIdentifierExceptionpublic final boolean isMemberReadable(String key, KeyInfoNode keyInfo)
public final void writeMember(String key, Object value, KeyInfoNode keyInfo, ImportValueNode castValueNode, com.oracle.truffle.api.TruffleLanguage.LanguageReference<JavaScriptLanguage> languageRef, WriteElementNode writeNode) throws com.oracle.truffle.api.interop.UnknownIdentifierException, com.oracle.truffle.api.interop.UnsupportedMessageException
com.oracle.truffle.api.interop.UnknownIdentifierExceptioncom.oracle.truffle.api.interop.UnsupportedMessageExceptionpublic final boolean isMemberModifiable(String key, KeyInfoNode keyInfo)
public final boolean isMemberInsertable(String key, KeyInfoNode keyInfo)
public final void removeMember(String key) throws com.oracle.truffle.api.interop.UnsupportedMessageException
com.oracle.truffle.api.interop.UnsupportedMessageExceptionpublic final boolean isMemberRemovable(String key, KeyInfoNode keyInfo)
public final Object invokeMember(String id, Object[] args, JavaScriptLanguage language, JSRealm realm, JSInteropInvokeNode callNode, ExportValueNode exportNode) throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnknownIdentifierException
com.oracle.truffle.api.interop.UnsupportedMessageExceptioncom.oracle.truffle.api.interop.UnknownIdentifierExceptionpublic final boolean isMemberInvocable(String key, KeyInfoNode keyInfo)
public final boolean hasMemberReadSideEffects(String key, KeyInfoNode keyInfo)
public final boolean hasMemberWriteSideEffects(String key, KeyInfoNode keyInfo)
public boolean hasIterator(JavaScriptLanguage language, JSInteropGetIteratorNode getIteratorNode)
public Object getIterator(JavaScriptLanguage language, JSRealm realm, JSInteropGetIteratorNode getIteratorNode) throws com.oracle.truffle.api.interop.UnsupportedMessageException
com.oracle.truffle.api.interop.UnsupportedMessageExceptionpublic final boolean hasLanguage()
public final Class<? extends com.oracle.truffle.api.TruffleLanguage<?>> getLanguage()
public final Object toDisplayString(boolean allowSideEffects)
public static ReadElementNode getUncachedRead()
public static WriteElementNode getUncachedWrite()
public static JSClass getJSClass(com.oracle.truffle.api.object.DynamicObject obj)
public static com.oracle.truffle.api.object.DynamicObject getPrototype(com.oracle.truffle.api.object.DynamicObject obj)
public static com.oracle.truffle.api.object.DynamicObject getPrototype(com.oracle.truffle.api.object.DynamicObject obj,
JSClassProfile jsclassProfile)
public static boolean setPrototype(com.oracle.truffle.api.object.DynamicObject obj,
com.oracle.truffle.api.object.DynamicObject newPrototype)
public static boolean setPrototype(com.oracle.truffle.api.object.DynamicObject obj,
com.oracle.truffle.api.object.DynamicObject newPrototype,
JSClassProfile jsclassProfile)
public static Object get(com.oracle.truffle.api.object.DynamicObject obj, long index)
public static Object get(com.oracle.truffle.api.interop.TruffleObject obj, long index)
public static Object getMethod(com.oracle.truffle.api.object.DynamicObject obj, Object name)
public static boolean set(com.oracle.truffle.api.object.DynamicObject obj,
long index,
Object value)
public static boolean set(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
Object value)
public static boolean set(com.oracle.truffle.api.object.DynamicObject obj,
long index,
Object value,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
public static boolean set(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
Object value,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
public static boolean setWithReceiver(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
Object value,
Object receiver,
boolean isStrict,
JSClassProfile classProfile,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
public static boolean setWithReceiver(com.oracle.truffle.api.object.DynamicObject obj,
long index,
Object value,
Object receiver,
boolean isStrict,
JSClassProfile classProfile,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
public static boolean delete(com.oracle.truffle.api.object.DynamicObject obj,
long index)
public static boolean delete(com.oracle.truffle.api.object.DynamicObject obj,
long index,
boolean isStrict)
public static boolean delete(com.oracle.truffle.api.object.DynamicObject obj,
long index,
boolean isStrict,
JSClassProfile classProfile)
public static boolean delete(com.oracle.truffle.api.object.DynamicObject obj,
Object key)
public static boolean delete(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
boolean isStrict)
public static boolean delete(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
boolean isStrict,
JSClassProfile classProfile)
public static boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
long index)
public static boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
long index,
JSClassProfile classProfile)
public static boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key)
public static boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
JSClassProfile classProfile)
public static boolean hasProperty(com.oracle.truffle.api.object.DynamicObject obj,
long index)
public static boolean hasProperty(com.oracle.truffle.api.object.DynamicObject obj,
long index,
JSClassProfile classProfile)
public static boolean hasProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key)
public static boolean hasProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
JSClassProfile classProfile)
public static PropertyDescriptor getOwnProperty(com.oracle.truffle.api.object.DynamicObject obj, Object key)
public static PropertyDescriptor getOwnProperty(com.oracle.truffle.api.object.DynamicObject obj, Object key, JSClassProfile classProfile)
public static List<Object> ownPropertyKeys(com.oracle.truffle.api.object.DynamicObject obj)
public static List<Object> ownPropertyKeys(com.oracle.truffle.api.object.DynamicObject obj, JSClassProfile classProfile)
public static List<String> enumerableOwnNames(com.oracle.truffle.api.object.DynamicObject thisObj)
public static boolean defineOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
PropertyDescriptor desc)
public static boolean defineOwnProperty(com.oracle.truffle.api.object.DynamicObject obj,
Object key,
PropertyDescriptor desc,
boolean doThrow)
public static Object get(com.oracle.truffle.api.object.DynamicObject obj, Object key, JSClassProfile jsclassProfile)
public static Object get(com.oracle.truffle.api.object.DynamicObject obj, long index, JSClassProfile jsclassProfile)
public static Object getOrDefault(com.oracle.truffle.api.object.DynamicObject obj, Object key, Object receiver, Object defaultValue, JSClassProfile jsclassProfile, com.oracle.truffle.api.nodes.Node encapsulatingNode)
public static Object getOrDefault(com.oracle.truffle.api.object.DynamicObject obj, long index, Object receiver, Object defaultValue, JSClassProfile jsclassProfile, com.oracle.truffle.api.nodes.Node encapsulatingNode)
public static Object getOrDefault(com.oracle.truffle.api.object.DynamicObject obj, Object key, Object receiver, Object defaultValue)
public static Object getOrDefault(com.oracle.truffle.api.object.DynamicObject obj, long index, Object receiver, Object defaultValue)
public static Object getWithReceiver(com.oracle.truffle.api.object.DynamicObject obj, Object key, Object receiver, com.oracle.truffle.api.nodes.Node encapsulatingNode)
public static String defaultToString(com.oracle.truffle.api.object.DynamicObject obj)
public static String toDisplayString(com.oracle.truffle.api.object.DynamicObject obj, int depth, boolean allowSideEffects)
public static Object toPrimitive(com.oracle.truffle.api.object.DynamicObject obj, String hint)
public static Object toPrimitive(com.oracle.truffle.api.object.DynamicObject obj)
public static Object ordinaryToPrimitive(com.oracle.truffle.api.object.DynamicObject obj, String hint)
public static boolean preventExtensions(com.oracle.truffle.api.object.DynamicObject obj)
public static boolean preventExtensions(com.oracle.truffle.api.object.DynamicObject obj,
boolean doThrow)
public static boolean isExtensible(com.oracle.truffle.api.object.DynamicObject obj)
public static boolean isExtensible(com.oracle.truffle.api.object.DynamicObject obj,
JSClassProfile classProfile)
public static String getClassName(com.oracle.truffle.api.object.DynamicObject obj)
public static boolean isFrozen(com.oracle.truffle.api.object.DynamicObject obj)
public static boolean isSealed(com.oracle.truffle.api.object.DynamicObject obj)
public static ScriptArray getArray(com.oracle.truffle.api.object.DynamicObject obj)
public static void setArray(com.oracle.truffle.api.object.DynamicObject obj,
ScriptArray array)
public static boolean hasArray(Object obj)
public static JSContext getJSContext(com.oracle.truffle.api.object.DynamicObject obj)
public static boolean testIntegrityLevel(com.oracle.truffle.api.object.DynamicObject obj,
boolean frozen)
public static boolean setIntegrityLevel(com.oracle.truffle.api.object.DynamicObject obj,
boolean freeze)
public static boolean setIntegrityLevel(com.oracle.truffle.api.object.DynamicObject obj,
boolean freeze,
boolean doThrow)