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, testIntegrityLevelDefaultpublic boolean usesOrdinaryGetOwnProperty
usesOrdinaryGetOwnProperty in class JSClasspublic boolean defineOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
PropertyDescriptor desc,
boolean doThrow)
JSClassdefineOwnProperty in class JSClasspublic 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 JSClasspublic 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 JSClasspublic 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 JSClasspublic List<Object> getOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject thisObj, boolean strings, boolean symbols)
JSClassgetOwnPropertyKeys in class JSClasspublic 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)
JSClassJSClass.ownPropertyKeys(com.oracle.truffle.api.object.DynamicObject) and JSShape.getProperties(com.oracle.truffle.api.object.Shape) enumerate the same keys.hasOnlyShapeProperties in class JSClasspublic boolean delete(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
boolean isStrict)
JSClassprotected 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 JSClasspublic boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
long index)
hasOwnProperty in class JSClasspublic boolean hasProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
long index)
hasProperty in class JSClasspublic boolean hasProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key)
JSClasshasProperty in class JSClasspublic 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)
JSClassprotected 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)
JSClassgetOwnProperty in class JSClasspublic 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)
JSClasssetIntegrityLevel in class JSClassprotected 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 JSClassprotected static boolean testIntegrityLevelFast(com.oracle.truffle.api.object.DynamicObject obj,
boolean frozen)
public boolean preventExtensions(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean doThrow)
JSClasspreventExtensions in class JSClassprotected final boolean preventExtensionsImpl(com.oracle.truffle.api.object.DynamicObject thisObj,
int extraFlags)
public final boolean isExtensible(com.oracle.truffle.api.object.DynamicObject thisObj)
JSClassisExtensible in class JSClasspublic String toDisplayStringImpl(com.oracle.truffle.api.object.DynamicObject obj, int depth, boolean allowSideEffects, JSContext context)
JSClasstoDisplayStringImpl in class JSClassdepth - allowed nesting depthcontext - the current language contextpublic final com.oracle.truffle.api.object.DynamicObject getPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj)
JSClassgetPrototypeOf in class JSClasspublic boolean setPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj,
com.oracle.truffle.api.object.DynamicObject newPrototype)
JSClasssetPrototypeOf in class JSClasspublic 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)
JSClassgetBuiltinToStringTag in class JSClassobject - object to be usedJSClass.defaultToString(DynamicObject)public boolean usesOrdinaryGetOwnProperty()
usesOrdinaryGetOwnProperty in class JSClasspublic boolean usesOrdinaryIsExtensible()
usesOrdinaryIsExtensible in class JSClass