public abstract class JSNonProxy extends JSClass
JSNonProxyObject
Type | Property and Description |
---|---|
boolean |
usesOrdinaryGetOwn |
EMPTY_STRING_ARRAY
Modifier | Constructor and Description |
---|---|
protected |
JSNonProxy() |
Modifier and Type | Method and Description |
---|---|
static boolean |
checkProtoCycle(com.oracle.truffle.api.object.DynamicObject thisObj,
com.oracle.truffle.api.object.DynamicObject newPrototype) |
protected static com.oracle.truffle.api.object.DynamicObject |
createSymbolSpeciesGetterFunction(JSRealm realm) |
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 |
deletePropertyDefault(com.oracle.truffle.api.object.DynamicObject object,
Object key,
boolean isStrict) |
String |
getBuiltinToStringTag(com.oracle.truffle.api.object.DynamicObject object)
Returns builtinTag from step 14 of ES6+ 19.1.3.6.
|
Object |
getHelper(com.oracle.truffle.api.object.DynamicObject store,
Object thisObj,
long index,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
Object |
getHelper(com.oracle.truffle.api.object.DynamicObject store,
Object thisObj,
Object key,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
Object |
getMethodHelper(com.oracle.truffle.api.object.DynamicObject store,
Object thisObj,
Object name,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
Object |
getOwnHelper(com.oracle.truffle.api.object.DynamicObject store,
Object thisObj,
long index,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
Like getOwnProperty, but returns
null if value is not present instead of undefined. |
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).
|
com.oracle.truffle.api.object.DynamicObject |
getPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj)
9.1.1 [[GetPrototypeOf]] ().
|
boolean |
hasOnlyShapeProperties(com.oracle.truffle.api.object.DynamicObject obj)
If true,
JSClass.ownPropertyKeys(com.oracle.truffle.api.object.DynamicObject) and JSShape.getProperties(com.oracle.truffle.api.object.Shape) enumerate the same keys. |
boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
long index) |
boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key) |
boolean |
hasProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
long index) |
boolean |
hasProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key)
9.1.7 [[HasProperty]] (P).
|
protected static boolean |
invokeAccessorPropertySetter(PropertyDescriptor desc,
com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
boolean |
isExtensible(com.oracle.truffle.api.object.DynamicObject thisObj)
9.1.3 [[IsExtensible]] ().
|
static PropertyDescriptor |
ordinaryGetOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key)
9.1.5.1 OrdinaryGetOwnProperty (O, P).
|
static PropertyDescriptor |
ordinaryGetOwnPropertyIntl(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
com.oracle.truffle.api.object.Property prop) |
static List<Object> |
ordinaryOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject thisObj) |
protected static List<Object> |
ordinaryOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean strings,
boolean symbols) |
protected static List<Object> |
ordinaryOwnPropertyKeysSlow(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean strings,
boolean symbols) |
protected static boolean |
ordinarySet(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
protected static boolean |
ordinarySetIndex(com.oracle.truffle.api.object.DynamicObject thisObj,
long index,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
protected static boolean |
ordinarySetWithReceiver(com.oracle.truffle.api.object.DynamicObject target,
Object key,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
protected static boolean |
performOrdinarySetWithOwnDescriptor(com.oracle.truffle.api.object.DynamicObject target,
Object key,
Object value,
Object receiver,
PropertyDescriptor desc,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
boolean |
preventExtensions(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean doThrow)
9.1.4 [[PreventExtensions]] ().
|
protected boolean |
preventExtensionsImpl(com.oracle.truffle.api.object.DynamicObject thisObj,
int extraFlags) |
protected static void |
putConstructorSpeciesGetter(JSRealm realm,
com.oracle.truffle.api.object.DynamicObject constructor) |
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).
|
boolean |
setIntegrityLevel(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean freeze,
boolean doThrow)
ES2015 7.3.14 SetIntegrityLevel(O, level).
|
protected boolean |
setIntegrityLevelFast(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean freeze) |
protected static boolean |
setPropertySlow(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict,
boolean isIndex,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
boolean |
setPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj,
com.oracle.truffle.api.object.DynamicObject newPrototype)
9.1.2 [[SetPrototypeOf]] (V).
|
boolean |
testIntegrityLevel(com.oracle.truffle.api.object.DynamicObject obj,
boolean frozen)
ES2015 7.3.15 TestIntegrityLevel(O, level).
|
protected static boolean |
testIntegrityLevelFast(com.oracle.truffle.api.object.DynamicObject obj,
boolean frozen) |
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.
|
String |
toString() |
boolean |
usesOrdinaryGetOwnProperty() |
boolean |
usesOrdinaryIsExtensible() |
defaultToString, filterOwnPropertyKeys, formatToString, get, get, getClassName, getToStringTag, isInstance, isInstance, isInstance, isInstance, makeInitialShape, ownPropertyKeys, testIntegrityLevelDefault
public boolean usesOrdinaryGetOwnProperty
usesOrdinaryGetOwnProperty
in class JSClass
public boolean defineOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj, Object key, PropertyDescriptor desc, boolean doThrow)
JSClass
defineOwnProperty
in class JSClass
public 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 JSClass
public Object getOwnHelper(com.oracle.truffle.api.object.DynamicObject store, Object thisObj, long index, com.oracle.truffle.api.nodes.Node encapsulatingNode)
null
if value is not present instead of undefined.getOwnHelper
in class JSClass
public Object getHelper(com.oracle.truffle.api.object.DynamicObject store, Object thisObj, Object key, com.oracle.truffle.api.nodes.Node encapsulatingNode)
public Object getHelper(com.oracle.truffle.api.object.DynamicObject store, Object thisObj, long index, com.oracle.truffle.api.nodes.Node encapsulatingNode)
public Object getMethodHelper(com.oracle.truffle.api.object.DynamicObject store, Object thisObj, Object name, com.oracle.truffle.api.nodes.Node encapsulatingNode)
getMethodHelper
in class JSClass
public List<Object> getOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject thisObj, boolean strings, boolean symbols)
JSClass
getOwnPropertyKeys
in class JSClass
public static List<Object> ordinaryOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject thisObj)
protected static List<Object> ordinaryOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject thisObj, boolean strings, boolean symbols)
protected static List<Object> ordinaryOwnPropertyKeysSlow(com.oracle.truffle.api.object.DynamicObject thisObj, boolean strings, boolean symbols)
public boolean hasOnlyShapeProperties(com.oracle.truffle.api.object.DynamicObject obj)
JSClass
JSClass.ownPropertyKeys(com.oracle.truffle.api.object.DynamicObject)
and JSShape.getProperties(com.oracle.truffle.api.object.Shape)
enumerate the same keys.hasOnlyShapeProperties
in class JSClass
public boolean delete(com.oracle.truffle.api.object.DynamicObject thisObj, Object key, boolean isStrict)
JSClass
protected static boolean deletePropertyDefault(com.oracle.truffle.api.object.DynamicObject object, Object key, boolean isStrict)
public boolean delete(com.oracle.truffle.api.object.DynamicObject thisObj, long index, boolean isStrict)
public boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj, Object key)
hasOwnProperty
in class JSClass
public boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj, long index)
hasOwnProperty
in class JSClass
public boolean hasProperty(com.oracle.truffle.api.object.DynamicObject thisObj, long index)
hasProperty
in class JSClass
public boolean hasProperty(com.oracle.truffle.api.object.DynamicObject thisObj, Object key)
JSClass
hasProperty
in class JSClass
public boolean set(com.oracle.truffle.api.object.DynamicObject thisObj, long index, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode)
public boolean set(com.oracle.truffle.api.object.DynamicObject thisObj, Object key, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode)
JSClass
protected static boolean ordinarySetIndex(com.oracle.truffle.api.object.DynamicObject thisObj, long index, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode)
protected static boolean ordinarySet(com.oracle.truffle.api.object.DynamicObject thisObj, Object key, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode)
protected static boolean ordinarySetWithReceiver(com.oracle.truffle.api.object.DynamicObject target, Object key, Object value, Object receiver, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode)
protected static boolean performOrdinarySetWithOwnDescriptor(com.oracle.truffle.api.object.DynamicObject target, Object key, Object value, Object receiver, PropertyDescriptor desc, boolean isStrict, com.oracle.truffle.api.nodes.Node encapsulatingNode)
protected static boolean setPropertySlow(com.oracle.truffle.api.object.DynamicObject thisObj, Object key, Object value, Object receiver, boolean isStrict, boolean isIndex, com.oracle.truffle.api.nodes.Node encapsulatingNode)
protected static boolean invokeAccessorPropertySetter(PropertyDescriptor desc, 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)
JSClass
getOwnProperty
in class JSClass
public static PropertyDescriptor ordinaryGetOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj, Object key)
public static PropertyDescriptor ordinaryGetOwnPropertyIntl(com.oracle.truffle.api.object.DynamicObject thisObj, Object key, com.oracle.truffle.api.object.Property prop)
public boolean setIntegrityLevel(com.oracle.truffle.api.object.DynamicObject thisObj, boolean freeze, boolean doThrow)
JSClass
setIntegrityLevel
in class JSClass
protected final boolean setIntegrityLevelFast(com.oracle.truffle.api.object.DynamicObject thisObj, boolean freeze)
public boolean testIntegrityLevel(com.oracle.truffle.api.object.DynamicObject obj, boolean frozen)
testIntegrityLevel
in class JSClass
protected static boolean testIntegrityLevelFast(com.oracle.truffle.api.object.DynamicObject obj, boolean frozen)
public boolean preventExtensions(com.oracle.truffle.api.object.DynamicObject thisObj, boolean doThrow)
JSClass
preventExtensions
in class JSClass
protected final boolean preventExtensionsImpl(com.oracle.truffle.api.object.DynamicObject thisObj, int extraFlags)
public final boolean isExtensible(com.oracle.truffle.api.object.DynamicObject thisObj)
JSClass
isExtensible
in class JSClass
public String toDisplayStringImpl(com.oracle.truffle.api.object.DynamicObject obj, int depth, boolean allowSideEffects, JSContext context)
JSClass
toDisplayStringImpl
in class JSClass
depth
- allowed nesting depthcontext
- the current language contextpublic final com.oracle.truffle.api.object.DynamicObject getPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj)
JSClass
getPrototypeOf
in class JSClass
public boolean setPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj, com.oracle.truffle.api.object.DynamicObject newPrototype)
JSClass
setPrototypeOf
in class JSClass
public static boolean checkProtoCycle(com.oracle.truffle.api.object.DynamicObject thisObj, com.oracle.truffle.api.object.DynamicObject newPrototype)
protected static void putConstructorSpeciesGetter(JSRealm realm, com.oracle.truffle.api.object.DynamicObject constructor)
protected static com.oracle.truffle.api.object.DynamicObject createSymbolSpeciesGetterFunction(JSRealm realm)
public String getBuiltinToStringTag(com.oracle.truffle.api.object.DynamicObject object)
JSClass
getBuiltinToStringTag
in class JSClass
object
- object to be usedJSClass.defaultToString(DynamicObject)
public boolean usesOrdinaryGetOwnProperty()
usesOrdinaryGetOwnProperty
in class JSClass
public boolean usesOrdinaryIsExtensible()
usesOrdinaryIsExtensible
in class JSClass